Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update DIP-31 #122

Merged
merged 7 commits into from
Oct 12, 2023
Merged

Update DIP-31 #122

merged 7 commits into from
Oct 12, 2023

Conversation

ichub
Copy link
Contributor

@ichub ichub commented Sep 8, 2023

Description

We are updating the content of DIP-31 so that it

  1. includes the technical specification of our ticketing system
  2. clarifies the presence of a two-way sync mechanism between Zupass and Pretix, which keeps whether a particular ticket has been used for check-in synced between the two systems of record.
  3. updates all instances of PCDPass to Zupass, as that is what we're calling the application going forward
  4. updates technical detail about ticket pcds - we're using eddsa tickets and not rsa tickets

Related DIP issue

https://forum.devcon.org/t/dip-regarding-pcd-based-ticketing-for-devconnect/3201

Checklist

  • Correct markdown (e.g. headers with ##, header surrounded by ---)
  • syntax check
  • filename is DIP-X.md (with X being the correct DIP number)
  • header contains (in this order)
    • DIP
    • Title
    • Status
    • Themes
    • Tags
    • Authors
    • Resources Required (optional)
    • Discussion (with link to devcon forum)
    • Created (in the format year-month-day e.g 2020-4-20)
  • contains these sections:
    • Abstract
    • Rationale
    • Implementation
    • Operational Requirements & Ownership
  • PR title prefixed with DIP-X

DIPs/DIP-31.md Outdated
## Pretix Configuration

In order to offer tickets to events, a host must set up their `Organizer`, `Event`s and `Product`s for each event they want to seel tickets to. Pretix is quite flexible, and there are may correct ways to set up a Pretix `Organizer`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In order to offer tickets to events, a host must set up their `Organizer`, `Event`s and `Product`s for each event they want to seel tickets to. Pretix is quite flexible, and there are may correct ways to set up a Pretix `Organizer`.
In order to offer tickets to events, a host must set up their `Organizer`, `Event`s and `Product`s for each event they want to sell tickets to. Pretix is quite flexible, and there are may correct ways to set up a Pretix `Organizer`.

DIPs/DIP-31.md Outdated

- `organizer_url` - a unique identifier that refers to a collection of `Events` and configuration options controlled by the event host.
- <add instructions for how to get this info>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should I wait for this to be added before merging?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, thanks for catching this. We will manually onboard organizers so they won't have to know how to get this information themselves.

DIPs/DIP-31.md Outdated
- The sync algorithm is robust to `Event`s and `Product`s being deleted.
- In the case that an `Event` or `Product` no longer exists, we cancel the sync so that existing `Pretix Ticket`s are not changed. Fixing this state requires manual intervention by the PCD Team.
- For each `Pretix Ticket` that has been checked in by an event volunteer on-site, we sync the check-in to the corresponding `Position` in Pretix. In the case that the ticket was checked in both on the Pretix side and on the PCDpass side, and had its checkin deleted by an organizer on Pretix, the ticket will become un-checked-in on PCDpass as well, letting the attendee get checked in by an event volunteer via PCDpass. To summarize, each ticket's check-in status is synced between PCDpass and Pretix, such that the latest state is in sync between the two systems of record.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe just do the summary on the end and delete the beginning. The summary sounds sane to me - the stuff before not so much - e.g.

In the case that the ticket was checked in both on the Pretix side and on the PCDpass side
IMHO this should never be able - you should only be able to check in with one method - when then trying with the other it should fail as the ticket is already checked in

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we are in agreement -

  • checking in a ticket that has not been checked in on either Pretix or PCDpass will work.
  • checking in a ticket that has been checked on the other platform will not work. I'll update this description to be more clear.

@ichub ichub requested a review from ligi September 12, 2023 20:07
DIPs/DIP-31.md Outdated Show resolved Hide resolved
@ligi
Copy link
Member

ligi commented Oct 8, 2023

Sorry for the late re-review. Would merge this now - but seems the referenced images are missing.

@ligi ligi merged commit 659a8d8 into efdevcon:master Oct 12, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants