Seat Map API Reference

POST

search/seat/catalogofferingsancillaries/seatavailabilities

Base path:

Pre-production https://api.pp.travelport.com/11/air/

Production https://api.travelport.com/11/air/

Related Content: Seats Guide, Seat Book API Reference

The Seat Map request returns seat availability for both free and paid seats. You can request seat availability at several places in the JSON APIs workflow. The Seat Map request uses the same endpoint but a different message payload depending on when it is sent. See the workflow options in the Seats Guide.

All Seat Map requests allow you to request seat maps for any of the following:

  • all flights within an offer (all flights on the itinerary)
  • all flights within a product (all flights on one leg of an itinerary)
  • one or more individual flights

To book a seat, you must send a Seat Book request as part of a workbench session.

To add ancillaries or seats to a multi-offer booking, send the Seat Map or Ancillary Shop request, then send one book request for each offer. You can send the book requests in any order: first and second offer, or second and first offer. Supported for an existing booking for ancillaries and seats; supported in the initial booking workflow only for free seats. GDS only; multi-offers not supported for NDC.
For differences in how the JSON APIs support GDS and NDC content, see the support tables for seats, ancillaries, fare rules, and exchanges. Also see the NDC and GDS Functionality Comparison.
For carrier-specific NDC differences, see NDC capabilities by airline through JSON API in the Travelport Knowledge Base. If you need login assistance, see Knowledge Base NDC Resources.

Request

Query Parameters

None.

Request Body – Seat Map after Search request

Seats 23.11.15 and later. GDS only; not supported for NDC.

When sent after a Search request and prior to pricing or initiating a workbench session, the Seat Map request sends identifiers from the Search response. You can request seat maps for a flight, product, or segment returned in any Search, Next Leg Search, or Flight Specific Search response.

Request Body – Seat Map after AirPrice request

When sent after an AirPrice request and prior to initiating a workbench session, the Seat Map request sends identifiers from the AirPrice response.

Request Body – Seat Map during workbench session

When sent during a workbench session, the Seat Map request sends identifiers from the Search response.

Response

The seat map response is similar for all Seat Map requests, regardless of where sent in the workflow. Exceptions:

  • Outside a workbench session, TravelerIdentifierRef returns only the PTC, as there are no traveler details at this point in the workflow.

  • HeldAncillary is returned only in a workbench session and only when seat/s have already been assigned. It returns the current seat assignment/s for all travelers on the booking. These will be held while modifying seats until the new seat book request is confirmed at commit.

Example Request

For additional examples and scenarios, download the developer toolkits and see Using Postman and Developer Toolkits.

Example Request after Search, no workbench

You can request seat maps after any Search, Next Leg Search, or Flight Specific Search response without establishing a workbench. You can request seat maps for the entire itinerary (the offer), all flights on one leg (the product), or a single flight (the segment). The following example requests seat maps for all flights on product p0, which is one leg of the itinerary.

Example Request after AirPrice, no workbench

A seat map request following an AirPrice request also supports requesting seat maps for all flights either in the offer, the product, or segment. The following example requests a seat map for only segment 1 in product p0.

Example Request in workbench

When sent during either an initial or post-commit workbench session, the Seat Map request can return seat maps for either all flights in the offer, the product (one leg), or by segment (one flight) for both GDS and NDC.

The following example sends only the offer identifier. This returns seat maps for all flights in the itinerary.

The following example requests a seat map for two products. This returns seat maps for all flights on those products. In the JSON APIs, a product is one leg of an itinerary.

The following example requests a seat map for the first segment in the requested product on an NDC itinerary (you can tell this is NDC because Identifier/authority sends the carrier code instead of the value Travelport). This returns seat maps for the first flight on the leg specified by that product ID.

Example Response

For additional examples and scenarios, download the developer toolkits and see Using Postman and Developer Toolkits.

The seat map response is nearly identical whether the request was sent after Search, after AirPrice, or in a workbench session. The only difference is that outside a workbench session, TravelerIdentifierRef returns only passengerTypeCode, as there are no traveler details at this point in the workflow. For brevity, all instances of Row after the first two rows have been edited out.

The following example returns the seat map for a single flight, which offers only free seats, indicated by the single instance of CatalogOffering with a Price/TotalPrice value of 0. For brevity, all instances of Row after the first two rows have been edited out.

The following seat map response for NDC (CatalogOffering/Identifier/authority returns a carrier code instead of the value Travelport) returns both free seats (price of 0) and paid seats (price of 60), each in a separate instance of CatalogOffering. For brevity, all instances of Row after the first two rows have been edited out.

When Seat Map is sent for flight/s in a booking that already have seat assignments, HeldAncillary is returned, listing the current SeatAssignment for all travelers on the flight/s. This supports modifying seats by holding the current seats until the new seats are successfully booked at workbench commit, ensuring those seats remain available in case of a booking failure. For brevity, the objects in Cabin/Layout and Cabin/Row have been removed from this example.