Order flows
Seat and ticket ordering flows
Seat-first ordering
In a seat-first ordering flow, the patron selects their seats for the showtime first, and then selects the ticket types (if needed) based on the number and location of seats selected.
Ticket-first ordering
In a ticket-first ordering flow, the patron selects the number and type of tickets they want, and then selects specific seats for the chosen tickets.
Unallocated showtimes
For showtimes without seat allocation, the flow skips the seating endpoints entirely.
Seat layouts
A seat layout describes a physical auditorium, including its areas and seats, and is essential for rendering a seat selection interface.
Each showtime has an associated seatLayoutId
that can be used to load the seat layout and its related data via
the GetSeatLayout endpoint.
See the seat layout section for more details.
Seat availability
Seat availability represents the Sold
/Available
status of each seat in a showtime. This is considered live data and is only micro-cached for a few seconds.
Use the GetSeatAvailabilityForShowtime endpoint to load the seat availability for a showtime.
See the seat availability section for more details.
Setting seats & tickets
The SetShowtime endpoint allows you to set seats and/or tickets with each request depending on desired UI flow. For full details of advanced ticket types see the ticketing section.
Selecting seats only
- This will reserve the selected seats but not add any tickets to the order.
- The order cannot be completed until enough ticket types are selected to fill the reserved seats.
Use the SetShowtime endpoint with the seats
request property to reserve the selected seats.
{
"seats": ["2_1_9", "2_1_10"]
}
Selecting tickets only
- This will add tickets of selected type to the order.
- This will automatically allocate seats for selected ticket types in areas configured with seat allocation.
- The order may be completed or the patron may change any auto-allocated seats.
Use the SetShowtime endpoint with the tickets
request property to set the selected tickets.
{
"tickets": [
{
"ticketTypeId": "ADULT"
},
{
"ticketTypeId": "ADULT"
}
]
}
Selecting seats and tickets
- This will reserve seats and select tickets.
- The order can now be completed (after any necessary payments have been made).
Use the SetShowtime endpoint with the seats
and tickets
request properties to reserve the selected seats and set the selected tickets.
{
"seats": ["2_1_9", "2_1_10"],
"tickets": [
{
"ticketTypeId": "ADULT"
},
{
"ticketTypeId": "ADULT"
}
]
}
Seat allocation
Showtimes may be configured with seat allocation enabled for one or all area categories. The isAllocatedSeating
property on the showtime indicates that at least one area category has allocated seating.
Clients should inspect the isAllocatedSeating
property on the area categories within the seat layout to determine if
seat selection is supported.
Food & beverage ordering flows
Ordering food & beverage within ticketing flow
Food & beverage items can be added to ticket orders at any stage, although typically done after seats and tickets are selected.
Food & beverage-only ordering flow
The Food & beverage-only order flow allows the patron to order food outside of the ticket purchase process. This enables scenarios including:
- Ordering counter pickup food & beverages ahead of time time to pick up at cinema before showtime.
- Ordering counter pickup food & beverages while waiting in the lobby for the showtime.
- Ordering food & beverages to be delivered to their seat during showtime.
- Ordering food & beverages completely independent of showtimes.
An optional further step allows patrons to initiate the preparation and delivery of part or all of their order when convenient (e.g., arriving at the cinema). See item delivery and preparation for details.