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:

Ticket lifecycle
  1. 01available
  2. 02assigned
  3. 03checked_in
StatusDescription
availableTicket has been issued but not assigned to an attendee.
assignedTicket is assigned to an attendee.
checked_inAdmission has been recorded. Check-in cannot be reversed.
cancelledAccess 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.