03 Create quote
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Bearer authentication of the form Bearer <token>, where token is your auth token.
Creates a priced quote. Every booking starts here, in status quote, and stays a quote until you confirm it with 06 Confirm quote.
Quotes are valid for one week from creation. expires_on in the response is authoritative. An expired quote cannot be confirmed; reprice it first with 05 Reprice quote.
Optional: comments, website, journeys[].manual, journeys[].passengers, settings.customer_reference.
settings.customer_reference is your own reference. Letters, digits and hyphens only, unique across your bookings, and the key you can later look the booking up by with 11 Get booking by your reference. Worth sending on every booking: it is the only handle you control.
Set journeys[].manual to true to stop us looking the flight up and adjusting your dates to the published schedule.
Each service on a stop is priced from the journey’s adult, child and infant. There is no per-service passenger override, so send the real counts.
Lounge Access is the only service that charges infants, and only where the airport has a non-zero infant rate. The example books Meet & Assist and Lounge Access at AUH, and the response shows the lounge line at four adults.
confirm does not confirm. It is validated as required, but sending confirm: true leaves the booking in status quote, and the response still says Booking Created successfully! with no error. Measured, in both JSON and query-parameter form. Call 06 Confirm quote explicitly instead.
There is no idempotency key. Retrying a request that timed out creates a second booking with a second reference. Send a unique settings.customer_reference on every attempt. If a retry comes back 422 with errors["settings.customer_reference"], that is proof the first attempt succeeded: fetch it with 11 Get booking by your reference rather than creating another.