Seat swaps
Seat swaps allow patrons to change their seats after completing a ticket order.
Seats can only be swapped to available seats within the original showtime and area categories. To change showtimes or area categories, patrons must refund their order and create a new one.
Seat swap flow
Check seat swap availability
Use the GetCompletedOrder endpoint to determine if seat swaps are currently available for a completed order.
Each showtime in the response includes a seatSwapStatus
object with an isAvailable
property.
-
A
true
value indicates that seat swaps are available for the showtime. -
If
false
, theunavailableReason
will indicate the reason that seat swaps are not available.
Refer to seat swap unavailable scenarios for more information.
{
"order": {
"id": "string",
"showtimes": [
{
"showtimeId": "string",
"seatSwapStatus": {
"isAvailable": true,
"unavailableReason": "NotApplicable"
}
},
{
"showtimeId": "string",
"seatSwapStatus": {
"isAvailable": false,
"unavailableReason": "ShowtimeEnded"
}
}
]
}
}
NOTE
Some properties have been omitted from the code snippet above for brevity.
Check showtime availability
Use the GetShowtime endpoint to check if
the showtime has sold out. The response includes an isSoldOut
property. If true
, the showtime has sold out and seat
swaps are no longer available.
The showtime
also includes a seatLayoutId
, which is used to load the seat layout via the
GetSeatLayout endpoint.
{
"showtime": {
"id": "string",
"isSoldOut": false,
"seatLayoutId": "string"
}
}
NOTE
Some properties have been omitted from the code snippet above for brevity.
Patron selects new seats
Once seat swap availability has been confirmed, the patron can select their new seats.
Use the GetSeatLayout endpoint with the
seatLayoutId
of the showtime to load the seat layout and use
GetSeatAvailabilityForOrder
endpoint to load the current seat availability.
Patrons can only select seats that have an Available
status and belong to the same area categories as their original seats.
For more information, refer to seat selection.
Validate selected seats
Validate the selected seats to ensure they meet any relevant seat selection rules.
NOTE
The SwapSeats endpoint ensures the correct number of seats are selected and that they match the area categories of the original seats, but it doesn't enforce rules like preventing single seat gaps.
Complete seat swap
After the selected seats have been validated, use the SwapSeats endpoint with the unique identifiers of the new seats to complete the seat swap.
{
"seats": ["string"]
}
A 200
response indicates that the seat swap was successful and includes the updated completed order.
A 400
response indicates an error has occurred, commonly due to stale data (completed order, showtime, or seat
availability), or due to the selected seats not matching the area categories of the original seats.
See seat swap unavailable scenarios for more information.
Seat swap unavailable scenarios
Seat swaps may be unavailable for the following reasons:
- Seat swaps have not been enabled for the circuit.
- The showtime has unallocated seating.
- The showtime has ended.
- The showtime has sold out.
- The order does not include any seats for the showtime.
- The order includes package tickets for the showtime.
- The order includes an in-seat item delivery for the showtime.
- The order has not been completed. Use the SetShowtime endpoint to change seats for an in-progress order.
- The order has been refunded.
- The order is an unpaid booking.
The SwapSeats endpoint will return a
400
response with an error for the scenarios above.
Swapping showtimes
Seats can only be swapped to new seats within the original showtime. If patrons wish to change showtimes, they must refund their order and create a new one.
Swapping area categories
Seats can only be swapped to new seats within the same area categories as the original seats. If patrons wish to change area categories (i.e., upgrade or downgrade), they must refund their order and create a new one.