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.

interface ITicketData {
    attendeeEmail: string;
    attendeeName: string;
    attendeeSemaphoreId: string;
    checkerEmail?: string;
    eventId: string;
    eventLocation?: string;
    eventName: string;
    eventStartDate?: string;
    imageAltText?: string;
    imageUrl?: string;
    isAddOn?: boolean;
    isConsumed: boolean;
    isRevoked: boolean;
    productId: string;
    qrCodeOverrideImageUrl?: string;
    ticketCategory: TicketCategory;
    ticketId: string;
    ticketName: string;
    ticketSecret?: string;
    timestampConsumed: number;
    timestampSigned: number;
}

Properties

attendeeEmail: string
attendeeName: string
attendeeSemaphoreId: string
checkerEmail?: string
eventId: string
eventLocation?: string
eventName: string
eventStartDate?: string
imageAltText?: string
imageUrl?: string
isAddOn?: boolean
isConsumed: boolean
isRevoked: boolean
productId: string
qrCodeOverrideImageUrl?: string
ticketCategory: TicketCategory
ticketId: string
ticketName: string
ticketSecret?: string
timestampConsumed: number
timestampSigned: number

Generated using TypeDoc