Skip to main content
POST
Creating an order contacts nobody: no seats are taken and no money moves. You get an orderId and a price to confirm, then call issue to book, pay and ticket in one step. With holdOnly, the PNR is held at the airline without payment instead. See On-hold bookings.
orders isn’t idempotent. Every successful call creates a new order (and, with holdOnly, a new held PNR). An order you never issue costs nothing, but check the order status before creating another for the same customer.

Offer selection

Send one of these shapes. Both, or a partial set, is a validation error.
string (uuid)
Single-offer shape.
string (uuid)
Single-offer shape: the offerId. If you applied a fare brand, use the offerId from change-options; the brand is already stored on it.
string (uuid)
Split shape: the search requestId.
string (uuid)
Split shape: the outbound offerId.
string (uuid)
Split shape: returningRequestId from search.
string (uuid)
Split shape: the return offerId.
boolean
default:"false"
Hold the PNR at the airline without paying. Only when offer.supportsOnHold is true. Issue or cancel-hold before hold.expiresAt.

Contact

object
required

Passengers

object[]
required
At least one adult. Never more infants than adults.

Response

The order object, the same one order status returns. A normal order comes back with status Submit; a holdOnly order with status OnHold, a pnr and a hold block.
integer
Keep this. It’s the input to issue, order status and cancel-hold, and your reference for support.
integer
Human-readable order number.
string
Submit (created, nothing booked) or OnHold.
string
Airline record locator. Present for on-hold orders.
object
currency and total. Confirm this with the customer before issuing.
object
On-hold orders only.
object[]
The order’s flight segments.
object[]
Empty until the order is issued.

Errors