Swapping seats
Once a booking has been made, you can move one or more booked seats in a session using the SwapSeats endpoint.
This endpoint currently has the following restrictions:
- Seats can only be swapped to those in the same session and the same area category
- Seats booked in an unpaid booking cannot be swapped
- Bookings with in-seat delivery configured cannot have their seats swapped
- All tickets within a package must be swapped in one call
- You cannot swap to seats already assigned to a booking
Before making a call to SwapSeats, call the GetSingleBooking to return tickets and associated seats, including any package-relationship, for a booking.
POST /RESTBooking.svc/booking
Response:
{
"ResultCode": 0,
"Booking": {
"BookingNumber": 3638,
"BookingId": "WPM8TS9",
"VistaTransactionId": 3679,
"TotalValueCents": 2000,
"Tickets": [
{
"TicketTypeCode": "0001",
"TicketSequenceNumber": 1,
"SessionId": 35626,
"PriceInCents": 1000,
"Description": "Adult",
"PackageGroupNumber": 1,
"SeatRowId": "G",
"SeatNumber": "16",
},
{
"TicketTypeCode": "0001",
"TicketSequenceNumber": 2,
"SessionId": 35626,
"PriceInCents": 1000,
"Description": "Adult",
"PackageGroupNumber": 2,
"SeatRowId": "G",
"SeatNumber": "17",
}
]
}
}
A single call to SwapSeats can move booked seats to other free seats in the session.
POST: /cinemas//bookings//swap-seats
{
"swaps": [
{
"ticketSequenceNumber": 1,
"newSeat": {
"areaNumber": 2,
"rowIndex": 5,
"columnIndex": 11
}
},
{
"ticketSequenceNumber": 2,
"newSeat": {
"areaNumber": 2,
"rowIndex": 5,
"columnIndex": 12
}
}
]
}
If the specified seats are available and no other restrictions are encountered, a 200-level successful response will be returned. Consult the API Reference for details.