Get seat maps
The cabin layout of each flight on this offer, read live from the airline, with every seat priced per passenger. Choose a seat by sending the services[].id for that passenger in prebook's services with quantity: 1; it is included in the fare's total_amount and paid at book. A seat whose services is empty cannot be chosen. An empty list means the airline publishes no map for these flights. Seats cannot be added after the ticket is issued.
Your API key. Issued and revoked from the TrustPixel dashboard; the gateway resolves it to an owning organization on every request.
In: header
Path Parameters
The offer_reference from Flight Offers, unchanged.
Header Parameters
Correlation id echoed to the upstream service and returned on the response. Generated as req_<uuid> when omitted.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/flight/offers/string/seat-maps"{ "data": [ { "journey": 0, "segment": 0, "cabins": [ { "cabin_class": "ECONOMY", "deck": 0, "aisles": 1, "wings": { "first_row_index": 0, "last_row_index": 0 }, "rows": [ { "sections": [ { "elements": [ { "type": "SEAT", "designator": "12A", "disclosures": [ "Passenger must be an adult" ], "services": [ { "id": "ase_00009UhD4ongolulWAAA1A", "passenger": { "type": "ADULT", "number": 1 }, "unit_amount": { "amount": 30, "currency": "USD" } } ] } ] } ] } ] } ] } ], "meta": { "supplier": "DUFFEL" }}List an offer's bags GET
Bags the airline sells with this offer, priced per bag and per passenger. Send the ids you want in prebook's `services`; they are included in the fare's `total_amount` and paid at book. An empty list means the airline sells none for this fare. Seats are not listed here; read the offer's seat maps.
Prebook a flight offer POST
Re-price the offer and bind it: the itinerary, passengers and contact are stored and the booking answers `READY_FOR_COMPLETE`. A fresh key answers `201`; repeating the same `x-idempotency-key` under the same organisation and user answers `200` with the existing booking. No inventory is held before book, so `expires_at` is a real deadline. `use_payment_sdk` decides how book pays: a saved instrument by default, or a Payment SDK intent whose `token` comes back in `meta.payment_sdk` on the `201`. On Duffel, an airline can grant a member price for a passenger's `loyalty_accounts`, which lowers `total_amount`. A Duffel offer takes one active booking at a time, so prebooking it under a new key answers `409` while an earlier booking of it is unfinished.