The Seat Map request returns seat availability for both free and paid seats. It is a reference payload that sends identifiers from a previous transaction or a booking. You can send the Seat Map request at several places in the TripServices workflow - after searching, after pricing, during booking, and after booking. The Seat Map request uses the same endpoint but a different message payload depending on where in the workflow it is sent. See the supported 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. Standalone Seat Map sends flight criteria including a booking code to return a view-only seat map. Unlike the Seat Map request, Standalone Seat Map does not send any identifiers from a previously searched or priced flight. It is instead a full payload request and can be sent entirely on its own, either within or outside of a workbench session.
- Mock serverhttps://developer.travelport.com/_mock/apis/flights/air/search/seat/catalogofferingsancillaries/seatavailabilities
- https://api.pp.travelport.net/11https://api.pp.travelport.net/11/air/search/seat/catalogofferingsancillaries/seatavailabilities
- https://api.travelport.net/11https://api.travelport.net/11/air/search/seat/catalogofferingsancillaries/seatavailabilities
- Request after search by product - one leg
- Request after air price (no workbench)
- Request in workbench by offer (all flights on itinerary)
- Request in workbench by product (one leg)
- Request in workbench by segment (flight)
curl -i -X POST \
https://developer.travelport.com/_mock/apis/flights/air/search/seat/catalogofferingsancillaries/seatavailabilities \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'TVP-PCC-Core: DU7_1G' \
-H 'TraceId: TraceID_123456789' \
-H 'XAUTH_TRAVELPORT_ACCESSGROUP: 19Y88702-C27A-4E5D-829A-89D7016688B1' \
-H 'travelportPlusSessionIdentifier: 49f58f5f-c443-43b4-9f5d-be405fd00a01' \
-d '{
"@type": "CatalogOfferingsQuerySeatAvailability",
"SeatAvailabilityOfferings": {
"@type": "SeatAvailabilityOfferingsBuildFromProducts",
"ProductCriteriaAir": {
"@type": "ProductCriteriaAir",
"sequence": 1,
"SpecificFlightCriteria": [
{
"flightNumber": "1387",
"carrier": "AA",
"departureDate": "2026-11-19",
"departureTime": "18:41:00",
"arrivalDate": "2026-11-19",
"arrivalTime": "20:35:00",
"from": "ORD",
"to": "DEN",
"classOfService": "Y",
"cabin": "Economy",
"segmentSequence": 1,
"brandTier": "4",
"AvailabilitySourceCode": "Q",
"ContentSource": "GDS"
}
]
}
}
}'OK - Successful Response - 200
The response of a Catalog Offerings Ancillary list endpoint request. For Seats, 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. When Seat Map is sent for flight/s in a booking that already have seat assignments, the response inlcudes HeldAncillary to list the current SeatAssignment for each traveler 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. The Standalone Seat map response is the same as the reference payload seat map response, with the exception that a Result/Warning/Message is returned with the message 'The seatMap is view only'.
{ "CatalogOfferingsAncillaryListResponse": { "CatalogOfferingsID": [ { … } ], "@type": "response", "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "traceId": "TraceID_123456", "correlationId": "48fb4cd3-2ef6-4479-bea1-7c92721b988c", "reservationStatus": "Success", "Result": { "@type": "Result", "status": "Complete", "Error": [ … ], "Warning": [ … ] }, "Identifier": { "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E", "authority": "TVPT" }, "NextSteps": { "baseURI": "string", "id": "5", "NextStep": [ … ] }, "ReferenceList": [ { … } ], "CurrencyRateConversion": [ { … } ], "Pagination": { "@type": "Pagination", "page": 1, "pageSize": 20, "totalPages": 5, "totalItems": 100 } } }