The ticket data here is based on passport-server's ticket data model,
which is in turn based on the data model from Pretix.
In this model, a Ticket represents the purchase of a Product, which is
associated with an Event.
Events may have many Products, such as subsidized tickets, sponsor tickets,
organizer tickets, or time-restricted passes. A given Product can only be
associated with one Event.
In general, consumers of this data will want to be aware of both the event
ID and product ID. If providing a service that should be accessible to
ticket-holders for an event, and using this PCD as proof of ticket-holding,
the consumer should check that both the event ID and product ID match a
list of known ticket types, and that the public key (in proof.eddsaPCD)
matches the public key of the known issuer of the tickets.
An example of how this might be done is shown in verifyTicket in
passport-server's issuance service, which is requested by passport-client
when verifying tickets.
The ticket data here is based on passport-server's ticket data model, which is in turn based on the data model from Pretix.
In this model, a Ticket represents the purchase of a Product, which is associated with an Event.
Events may have many Products, such as subsidized tickets, sponsor tickets, organizer tickets, or time-restricted passes. A given Product can only be associated with one Event.
In general, consumers of this data will want to be aware of both the event ID and product ID. If providing a service that should be accessible to ticket-holders for an event, and using this PCD as proof of ticket-holding, the consumer should check that both the event ID and product ID match a list of known ticket types, and that the public key (in
proof.eddsaPCD
) matches the public key of the known issuer of the tickets.An example of how this might be done is shown in verifyTicket in passport-server's issuance service, which is requested by passport-client when verifying tickets.