Seat Maps and Booking

The Seats API supports the optional selection and booking of free seats for both GDS and NDC content. You can add seats as part of the AirReservation workflow after the Add Offer and Add Traveler steps, or you can add them to an existing reservation before ticketing.

This topic details the seat map request and response, which returns seat availability maps for one or more flights per the request, and the seat booking request and response, which adds a seat selection to the reservation workbench.

Use these requests to select free seats only. Paid seats are not supported in versions of the JSON APIs prior to v11.

For a listing of the objects in the requests and responses, see the Seats API Reference.

In this topic:

Seats Workflow

Seats Workflow at Booking

When selecting seats as part of the initial reservation, send the seat map and booking request after adding the offer and traveler, before committing the workbench:

  1. Create a reservation workbench (this and following unlinked steps are part of the AirReservation workflow).
  2. Add offer.
  3. Add traveler.
  4. Send a seat map request per below.
  5. Send a seat book request with the selected seat/s per below. For NDC, repeat this step as needed for each flight and each passenger.
  6. Complete the reservation workflow with optional steps as necessary, and then commit the workbench.

Post-Reservation Seats Workflow

When adding seats to an existing PNR, take the following steps:

  1. Create a post-commit workbench (this and following unlinked steps are part of the AirReservation workflow).
  2. Send a seat map request per below.
  3. Send a seat book request per below. For NDC, repeat this step as needed for each segment and passenger.
  4. Complete the reservation workflow with optional steps as necessary, and then commit the workbench.

Seat Maps

After initiating a workbench per either workflow above, you can request seat maps as follows to return seat availability. After the seat map response, you add your selected seat/s to the workbench with a seat book request described below.

Seat Map Request

The seat map request is a POST request to the following resource; see Air API Endpoints for the endpoint.

See Seats API Reference for the endpoint. The message payload includes several identifiers.

To find the value for OfferIdentifier:

  • If requesting seats as part the initial booking, send the identifier returned in the Add Offer step of the AirReservation workflow. You can also view the offer identifier by retrieving workbench details.
  • For an existing PNR, send the identifier value from Reservation/Offer/Identifier in the creating the workbench.

The value to send in ProductIdentifier varies for GDS and NDC: 

  • For GDS, send the value from Offer/Product @id

  • For NDC, send the value from Offer/Product/Identifier @value (a system-assigned value for that offer, e.g, f69ffaa0-1665-415e-a254-18af55c983fe).

The value to send in SegmentSequence varies for GDS and NDC: 

  • For GDS, send one or more flight numbers. The request supports multiple flights on one leg.

  • For NDC, send the sequence number for the flight. The request supports one flight per request.

Both GDS and NDC seat map requests are provided below.

Seat Map Response

The response returns basic flight and traveler details, and a list of all seats grouped by availability status (Available, Reserved, etc.). The response consolidates information across those seats into the ReferenceList object, which lists for each row all seat numbers and the characteristics for each seat.

In Seats 21.9.3 and later, both NDC and GDS seat map responses also return trace and transaction IDs.

In the follow-on Seat Book request, you need to send the value in CatalogOfferingsAncillaryListResponse/Identifier, which is returned just before the ReferenceList object.

Although the Seat Map response indicates both paid and free seats, booking paid seats is not supported on Seats v9.

Seat Booking

After requesting seat maps per above to return seat availability, use the seat book request described next to add any available free seat to the workbench.

Seat Book Request

The message payload includes several identifiers. See the Seats API Reference. for endpoints and a full listing.

The seat booking request differs slightly between GDS and NDC:

  • The TravelerIdentifier object is required for GDS but not for NDC.

  • The GDS seat book request supports multiple seat bookings in a single request. NDC supports only one seat booking in a single request; you must send a separate request for each seat assignment choice for each traveler.

Each instance of BuildAncillaryOffersFromCatalogOfferingsAirSeat must include the following values:

  • CatalogOfferingsIdentifier value from the seat map response (note the s)
  • CatalogOfferingIdentifier value from the seat map response (no s) (not required for NDC)
  • TravelerIdentifier (not required for NDC)
  • SeatAssignment choice

Seat Book Response

The seat book response is the same for both GDS and NDC and returns an identifier for the transaction. In Seats 21.9.3 and later, both NDC and GDS responses also return trace and transaction IDs.

Commit

After adding seats to the workbench, complete any remaining optional steps in the workflow. The last step in both workflows is to commit the workbench per the AirReservation Workflow.

If the seat book request is not confirmed, the commit returns an error message with status code 1005 along with the error message "Error while invoking : Could not find Seat connector".