Eventlayer / Understand the model
Tickets
Issue, assign and manage access to an event.
A ticket grants access to an event. It belongs to a ticket type and can be assigned to an attendee.
Issue a ticket
const { data: ticket, error } = await eventlayer.tickets.create({
eventId: "ev_123",
attendeeId: "atd_123",
});
if (error) throw error;The ticket starts as assigned. If the event has multiple ticket types,
include ticketTypeId. To create the attendee too, use
attendee creation with a ticket.
Create inventory, then assign it
Omit attendeeId when creating a ticket to leave it available.
Assign it when you know who is coming:
const { data: ticket, error } = await eventlayer.tickets.assign({
ticketId: "tkt_123",
attendeeId: "atd_123",
});
if (error) throw error;The attendee must belong to the same event.
Ticket lifecycle
Tickets follow a defined status lifecycle:
- 01available
- 02assigned
- 03checked_in
| Status | Description |
|---|---|
available | Ticket has been issued but not assigned to an attendee. |
assigned | Ticket is assigned to an attendee. |
checked_in | Admission has been recorded. Check-in cannot be reversed. |
cancelled | Access was removed; a record is retained for an installed Wallet pass. |
Removing access uses tickets.delete(). If a device is registered for the
Wallet pass, a cancelled record remains so the pass can be updated. Otherwise
the ticket is deleted. See access removal.
Check in a ticket
const { data: ticket, error } = await eventlayer.tickets.checkIn({
ticketId: "tkt_123",
});
if (error) throw error;See check-in for requirements and response codes.
List tickets
const { data: page, error } = await eventlayer.tickets.list({
eventId: "ev_123",
status: "assigned",
});
if (error) throw error;Results are in page.items. See pagination for more results.
Apple Wallet passes
An assigned ticket can become a signed Apple Wallet pass. Follow Add Apple Wallet tickets to generate its download URL.