# TripServices Flights

The TripServices Flights API collection supports rapid development of high-performing travel solutions. The Air APIs connect you to comprehensive air content and facilitate multi-channel development across web and mobile platforms. All requests are RESTful and support JSON. For information on how Travelport uses polymorphism in our APIs please see documentation available. [Polymorphism guide](https://developer.travelport.com/docs/best-practice-polymorphism)  

Version: 11.35.2

## Servers

```
https://api.pp.travelport.net/11
```

```
https://api.travelport.net/11
```

## Security

### bearerAuth

Bearer authentication using a JSON Web Token (JWT). The token must be sent in the Authorization header using the format: `Authorization: Bearer <token>`.

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

[TripServices Flights](https://developer.travelport.com/_bundle/apis/flights/@11.35.2/index.yaml)

## Searches

Air searches.

### Air Availability

 - [POST /air/search/airAvailability](https://developer.travelport.com/apis/flights/searches/createairavailability.md): Air Availability returns scheduled flights between a specified city pair on a specified day and time and indicates whether seats are available on those flights. Air Availability is a full payload request that focuses on seat availability by class of service. It does not return pricing information. GDS only; not supported for NDC.

### Search

 - [POST /air/catalog/search/catalogproductofferings](https://developer.travelport.com/apis/flights/searches/createairsearch.md): The Search API returns offers for flights between specific origin and destination (O&D) pairs. You can set the Search request to return offers for the full itinerary (a journey-based search), or for only the first leg (a leg-based search) and follow it with a Next Leg Search. Any modifiers or indicators sent in the Search request carry over to the Next Leg Search request and are not re-sent.

### Next Leg Search

 - [POST /air/catalog/search/catalogproductofferings/buildnext](https://developer.travelport.com/apis/flights/searches/buildnextairsearch.md): The Next Leg Search API returns offers for the next leg of an itinerary after a leg-based round-trip Search. The leg-based Search response returns offers for the outbound leg of the itinerary, and Next Leg Search is then required to return offers for the next leg of the trip. For a multi-city itinerary, send an additional Next Leg Search request for each remaining leg. GDS supports searching for up to six O&D pairs (legs of the itinerary) while NDC supports three O&D pairs. Next Leg Search is supported only after a leg-based Search. If sent after a journey-based Search, an error message is returned. Any modifiers or indicators sent in the Search request carry over to the Next Leg Search request and are not re-sent. The Next Leg Search response uses the same structure and returns the same objects as the Search response. The only differences are, the first instance of CatalogProductOffering is the offer and product sent in the Next Leg Search request. This is the selected offer and product for the first leg. Subsequent instances of CatalogProductOffering are offers for the second leg.

### Flight Specific Search

 - [POST /air/catalog/search/catalogproductofferings/buildoptions](https://developer.travelport.com/apis/flights/searches/buildoptionsairsearch.md): The Flight Specific Search API Reference Payload request returns additional upsells, up to 99, for any product/s returned by Search or Next Leg Search. The reference payload sends an identifier referencing a previous response and the offer and product identifiers. To use the Flight Specific Search reference payload request, your initial Search request must send offersPerPage to invoke caching if that Search was journey-based (leg-based search results are always cached).  
The full payload request does not reference a previous Search response (GDS only, not supported for NDC).   
Any CabinPreference in the initial Search request is applied to any subsequent Next Leg Search and reference Flight Specific Search requests.  
The Flight Specific Search response uses the same structure and returns the same objects as the Search response. The difference is that one instance of CatalogProductOffering (id o1) is returned for each offer sent in the request and one instance of ReferenceListProduct/Product is returned for each product sent in the request.  
When sending a Premium Flex request, use the endpoint catalog/search/catalogproductofferings/buildpremiumflexoptions.

### Flex Search (Premium)

 - [POST /air/catalog/search/catalogproductofferings/premiumflex](https://developer.travelport.com/apis/flights/searches/createflexsearch.md): This is an additional premium feature, not activated by default. Please contact your Travelport representative for more information on how to activate.   
The Flex Search API is the first step in the travel booking workflow. Send a Search request to return offers for flights between the selected cities.  
TripServices Flex Search Point of Sales functionality is supported for GDS content. The customer can send up to 3 Pseudo City Codes (PCCs) in PricingModifiersAir, MultiPricingAgency. Flex Search is supported for a maximum of two O&Ds and will be ignored when more than two SpecificFlightCriteria objects are sent in the request. The functionality will be available to selective TripServices Search customers. The customer can request this new functionality via their account representative.  
Customers can use the Accept Header to choose whether the TripServices Flex Flight Specific Search full payload response is aggregated or streamed.  
Stream Header Key “Accept” Value “application/stream+json”.  
When customers request streamed Flex Flight Specific Search full payload responses, multiple CatalogProductOfferingsResponse are returned consecutively, each including TermsAndConditionsAir and PricingAgency with the applicable PCC.  
Aggregate Header Key “Accept” Value “application/json”.  
When customers request aggregated Flex Flight Specific Search full payload  responses, offers from each PCC are combined into a single CatalogProductOfferingsResponse. Each offer includes its respective TermsAndConditionsAir and PricingAgency.  
References in the response have been updated to clearly distinguish offers by PCC. id = “f1o1”, “f1o2”, etc. for the first offer received, “f2o1”, “f2o2”, etc. for the second offer received, etc. Note: Customers should not assume that CatalogProductOffering “id” will follow a sequential pattern (e.g., f1, f2, f3) in aggregated Flex Search responses. Implementations must not rely on this ordering when consuming the data. CombinabilityCode = “f1j0”, “f1j1”, etc. for the first offer received, “f2j0”, “f2j1”, etc. for the second offer received, etc. ProductRef = “f1p0”, “f1p1”, etc. for the first offer received, “f2p0”, “f2p1”, etc. for the second offer received, etc. BrandRef = ”f1b0”, “f1b1”, etc. for the first offer received, “f2b0”, “f2b1”, etc. for the second offer received, etc. flightRefs = ”f1s1”, “f1s2”, etc. for the first offer received, “f2s1”, “f2s2”, etc. for the second offer received, etc. termsAndConditionsRef = ”f1T0”, “f1T1”, etc. for the first offer received, “f2T0”, “f2T1”, etc. for the second offer received, etc.

### Flex Flight Specific Search (Premium)

 - [POST /air/catalog/search/catalogproductofferings/buildpremiumflexoptions](https://developer.travelport.com/apis/flights/searches/buildflexoptionsairsearch.md): This is an additional premium feature, not activated by default. Please contact your Travelport representative for more information on how to activate.   
With TripServices Flex Flight Specific Search full payload Point of Sales functionality, Online Travel Agencies (OTA) and Travel Management Companies (TMC) can expand their offer options for customers based on the point of sale of their branch agencies. They can select the offer that is more convenient even if the offer is in a different geographic location.   
TripServices Flex Flight Specific Search full payload Point of Sales functionality is supported for GDS content. The customer can send up to 3 Pseudo City Codes (PCCs) in PricingModifiersAir/MultiPricingAgency. Flex Search is supported for a maximum of two O&Ds and will be ignored when more than two SpecificFlightCriteria objects are sent in the request. The functionality will be available to selective TripServices Search customers. The customer can request this new functionality via their account representative.  
The request returns additional upsells, up to 99, for any product/s returned by Search or Next Leg Search. The reference payload sends an identifier referencing a previous response and the offer and product identifiers. The full payload request does not reference a previous Search response. GDS only, not supported for NDC. Any CabinPreference in the initial Search request is applied to any subsequent Next Leg Search and reference Flight Specific Search requests. To use the Flight Specific Search reference payload request, your initial Search request must send offersPerPage to invoke caching if that Search was journey-based (leg-based search results are always cached). The Flight Specific Search response uses the same structure and returns the same objects as the Search response. The differences are, One instance of CatalogProductOffering (id o1) is returned for each offer sent in the request. One instance of ReferenceListProduct/Product is returned for each product sent in the request.  
Customers can use the Accept Header to choose whether the TripServices Flex Flight Specific Search full payload response is aggregated or streamed.  
Stream Header Key “Accept” Value “application/stream+json”.  
When customers request streamed Flex Flight Specific Search full payload responses, multiple CatalogProductOfferingsResponse are returned consecutively, each including TermsAndConditionsAir and PricingAgency with the applicable PCC.  
Aggregate Header Key “Accept” Value “application/json”.  
When customers request aggregated Flex Flight Specific Search full payload  responses, offers from each PCC are combined into a single CatalogProductOfferingsResponse. Each offer includes its respective TermsAndConditionsAir and PricingAgency.  
References in the response have been updated to clearly distinguish offers by PCC. id = “f1o1”, “f1o2”, etc. for the first offer received, “f2o1”, “f2o2”, etc. for the second offer received, etc. Note: Customers should not assume that CatalogProductOffering “id” will follow a sequential pattern (e.g., f1, f2, f3) in aggregated Flex Search responses. Implementations must not rely on this ordering when consuming the data. CombinabilityCode = “f1j0”, “f1j1”, etc. for the first offer received, “f2j0”, “f2j1”, etc. for the second offer received, etc. ProductRef = “f1p0”, “f1p1”, etc. for the first offer received, “f2p0”, “f2p1”, etc. for the second offer received, etc. BrandRef = ”f1b0”, “f1b1”, etc. for the first offer received, “f2b0”, “f2b1”, etc. for the second offer received, etc. flightRefs = ”f1s1”, “f1s2”, etc. for the first offer received, “f2s1”, “f2s2”, etc. for the second offer received, etc. termsAndConditionsRef = ”f1T0”, “f1T1”, etc. for the first offer received, “f2T0”, “f2T1”, etc. for the second offer received, etc.

## Pricing and Fare Rules

Air pricing, fare rules, and fare display.

### AirPrice Reference Payload

 - [POST /air/price/offers/buildfromcatalogproductofferings](https://developer.travelport.com/apis/flights/pricing-and-fare-rules/offerbuildfromcatalogproductofferings.md): The AirPrice API confirms pricing on air search results. While air pricing is generally an optional but recommended step, it is required for low cost carriers and some NDC carriers. This API uses a reference payload request, which sends identifiers from the Search API response. To use the AirPrice reference payload request, your initial Search request must send offersPerPage to invoke caching if that Search was journey-based (leg-based search results are always cached).

### AirPrice Full Payload

 - [POST /air/price/offers/buildfromproducts](https://developer.travelport.com/apis/flights/pricing-and-fare-rules/offerbuildfromproducts.md): The AirPrice API confirms pricing on air search results. While air pricing is generally an optional but recommended step, it is required for low cost carriers and some NDC carriers.

### Fare Rules for Existing Reservation (after Booking)

 - [GET /air/farerule/farerules/fromreservation](https://developer.travelport.com/apis/flights/pricing-and-fare-rules/getrulesfromreservation.md): Fare rules are the conditions and restrictions that apply to any booking based on its fare type. These determine the price of the fare. Generally, less expensive fares have more restrictions and more expensive fares have fewer restrictions. Fare rules can include blackout dates, advanced reservation requirements, minimum and maximum stay requirements, and cancellation and change penalties.

### Fare Rules after AirPrice

 - [GET /air/farerule/farerules/fromoffer](https://developer.travelport.com/apis/flights/pricing-and-fare-rules/getrulesfromoffer.md): Fare rules are the conditions and restrictions that apply to any booking based on its fare type. These determine the price of the fare. Generally, less expensive fares have more restrictions and more expensive fares have fewer restrictions. Fare rules can include blackout dates, advanced reservation requirements, minimum and maximum stay requirements, and cancellation and change penalties.

### Fare Rules after AirSearch

 - [GET /air/farerule/farerules/fromcatalogproductofferings](https://developer.travelport.com/apis/flights/pricing-and-fare-rules/getrulesfromcatalogproductofferings.md): Fare rules are the conditions and restrictions that apply to any booking based on its fare type. These determine the price of the fare. Generally, less expensive fares have more restrictions and more expensive fares have fewer restrictions. Fare rules can include blackout dates, advanced reservation requirements, minimum and maximum stay requirements, and cancellation and change penalties.

### Fare Rules after Fare Display

 - [GET /air/farerule/farerules/fromfaredisplay](https://developer.travelport.com/apis/flights/pricing-and-fare-rules/getfromfaredisplay.md): Fare rules are the conditions and restrictions that apply to any booking based on its fare type. These determine the price of the fare. Generally, less expensive fares have more restrictions and more expensive fares have fewer restrictions. Fare rules can include blackout dates, advanced reservation requirements, minimum and maximum stay requirements, and cancellation and change penalties.

## Seats Ancillaries EMDs

Seat map, book and cancel. Ancillary search, book, and cancel. EMD retrieve and void.

### Seat Map

 - [POST /air/search/seat/catalogofferingsancillaries/seatavailabilities](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/createseatavailability.md): 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.

### Ancillary Price (NDC Only)

 - [POST /air/ancillaryprice/offers/buildancillaryoffersfromcatalogofferings](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/buildancillaryoffersfromcatalogofferings.md): The Ancillary Price request confirms pricing request searches for a selected ancillary. You must first create a new or post-commit workbench and send an Ancillary Shop request. After pricing, add the selected ancillary to the workbench

### Ancillary Shop

 - [POST /air/ancillaryshop/catalogofferingsancillaries](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/createancillarysearch.md): The Ancillary Shop request searches for ancillaries available for the Reservation. You must first create a new or post-commit workbench. After ancillary shop, send an ancillary price request (only for NDC), and then add the selected ancillary to the workbench.

### NDC Refund Quote and Seat/Ancillary Cancel

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/canceloffer](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/cancelworkbenchoffer.md): The NDC Refund Quote API determines what if any refund value may be available on a ticket. It is part of the NDC cancel workflow: Create a workbench session, send Refund Quote, then send Cancel to cancel the ticket and issue any refund. For supporting NDC carriers only, you can cancel only specified segments in Refund Quote instead of the entire itinerary. In this case, the ticket value is retained at Cancel. Refund Quote is mandatory when canceling a ticket outside the void period and there is any difference between a refund due and the purchase price. If Refund Quote is not sent, and a refund is not available for the exact amount of the purchase price, Cancel returns the error message 'OFFER CANNOT BE CANCELED WHEN REFUND AMOUNT DOES NOT EQUAL OFFER PRICE. PERFORM A REFUND QUOTE AND TRY AGAIN'.  
The Ancillary Cancel API supports canceling baggage and/or paid seats for both GDS and NDC, and canceling non-baggage ancillaries for NDC. Canceling non-baggage ancillaries for GDS is not supported. Ancillary Cancel must be sent in a workbench session: Create a workbench, send Ancillary Cancel, and commit the workbench. You can cancel ancillaries booked in the same or a previous session. Seat and ancillary cancel support varies in the booking workflow. See the Seats Guide and Ancillary Guide for support details. Only one paid seat per workbench session can be canceled. To cancel multiple seats, send one cancel request, commit the workbench, and start a new workbench to cancel the next seat. For paid bags, you can send multiple cancel requests in a post-commit workbench session. You cannot cancel ancillaries or seats from a ticketed itinerary.

### Seat/Ancillary Book

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/buildancillaryoffersfromcatalogofferings](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/workbenchbuildancillaryoffersfromcatalogofferings.md): The Ancillary Book request adds a selected ancillary or a paid seat to the new or post-commit workbench.  
For ancillaries, first send an Ancillary Shop request and an Ancillary Price request (NDC only). After adding an ancillary to the workbench, you must also issue an EMD for the selected ancillary. See the Ancillary and EMD Guide for more details.  
For paid seats, you must first create a workbench and send a Seat Map request.

### EMD Retrieve

 - [GET /air/emds/getbylocator](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/emdgetbylocator.md): Not currently implemented.

### EMD Display

 - [GET /air/emds/{Identifier}](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/getemd.md): Display an EMD to retrieve EMD details such as the amount paid and agency ticketing information. EMD Display not supported for NDC. EMD details for NDC are returned in the Reservation Retrieve.

### EMD Void

 - [PUT /air/emds/{Identifier}](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/updateemd.md): Void an EMD to cancel it. You can also use EMD void with the GDS exchange APIs to refund an EMD back to the original FOP. See the Exchange, Refund, and Void Guide. EMD Void not supported for NDC.

### NDC Refund Quote and Seat/Ancillary Cancel

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/canceloffer](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/cancelworkbenchoffer.md): The NDC Refund Quote API determines what if any refund value may be available on a ticket. It is part of the NDC cancel workflow: Create a workbench session, send Refund Quote, then send Cancel to cancel the ticket and issue any refund. For supporting NDC carriers only, you can cancel only specified segments in Refund Quote instead of the entire itinerary. In this case, the ticket value is retained at Cancel. Refund Quote is mandatory when canceling a ticket outside the void period and there is any difference between a refund due and the purchase price. If Refund Quote is not sent, and a refund is not available for the exact amount of the purchase price, Cancel returns the error message 'OFFER CANNOT BE CANCELED WHEN REFUND AMOUNT DOES NOT EQUAL OFFER PRICE. PERFORM A REFUND QUOTE AND TRY AGAIN'.  
The Ancillary Cancel API supports canceling baggage and/or paid seats for both GDS and NDC, and canceling non-baggage ancillaries for NDC. Canceling non-baggage ancillaries for GDS is not supported. Ancillary Cancel must be sent in a workbench session: Create a workbench, send Ancillary Cancel, and commit the workbench. You can cancel ancillaries booked in the same or a previous session. Seat and ancillary cancel support varies in the booking workflow. See the Seats Guide and Ancillary Guide for support details. Only one paid seat per workbench session can be canceled. To cancel multiple seats, send one cancel request, commit the workbench, and start a new workbench to cancel the next seat. For paid bags, you can send multiple cancel requests in a post-commit workbench session. You cannot cancel ancillaries or seats from a ticketed itinerary.

## NDC Modify Cancel Exchange

NDC modify and cancel flows.

### NDC Refund Quote and Seat/Ancillary Cancel

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/canceloffer](https://developer.travelport.com/apis/flights/seats-ancillaries-emds/cancelworkbenchoffer.md): The NDC Refund Quote API determines what if any refund value may be available on a ticket. It is part of the NDC cancel workflow: Create a workbench session, send Refund Quote, then send Cancel to cancel the ticket and issue any refund. For supporting NDC carriers only, you can cancel only specified segments in Refund Quote instead of the entire itinerary. In this case, the ticket value is retained at Cancel. Refund Quote is mandatory when canceling a ticket outside the void period and there is any difference between a refund due and the purchase price. If Refund Quote is not sent, and a refund is not available for the exact amount of the purchase price, Cancel returns the error message 'OFFER CANNOT BE CANCELED WHEN REFUND AMOUNT DOES NOT EQUAL OFFER PRICE. PERFORM A REFUND QUOTE AND TRY AGAIN'.  
The Ancillary Cancel API supports canceling baggage and/or paid seats for both GDS and NDC, and canceling non-baggage ancillaries for NDC. Canceling non-baggage ancillaries for GDS is not supported. Ancillary Cancel must be sent in a workbench session: Create a workbench, send Ancillary Cancel, and commit the workbench. You can cancel ancillaries booked in the same or a previous session. Seat and ancillary cancel support varies in the booking workflow. See the Seats Guide and Ancillary Guide for support details. Only one paid seat per workbench session can be canceled. To cancel multiple seats, send one cancel request, commit the workbench, and start a new workbench to cancel the next seat. For paid bags, you can send multiple cancel requests in a post-commit workbench session. You cannot cancel ancillaries or seats from a ticketed itinerary.

### Reservation Cancel

 - [POST /air/receipt/reservations/{ReservationResource_Identifier}/receipts](https://developer.travelport.com/apis/flights/modify-bookings/cancelreservation.md): Create a set of offer cancellation receipts for every offer in the reservation.

### NDC Refund Quote and Seat/Ancillary Cancel

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/canceloffer](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/cancelworkbenchoffer.md): The NDC Refund Quote API determines what if any refund value may be available on a ticket. It is part of the NDC cancel workflow: Create a workbench session, send Refund Quote, then send Cancel to cancel the ticket and issue any refund. For supporting NDC carriers only, you can cancel only specified segments in Refund Quote instead of the entire itinerary. In this case, the ticket value is retained at Cancel. Refund Quote is mandatory when canceling a ticket outside the void period and there is any difference between a refund due and the purchase price. If Refund Quote is not sent, and a refund is not available for the exact amount of the purchase price, Cancel returns the error message 'OFFER CANNOT BE CANCELED WHEN REFUND AMOUNT DOES NOT EQUAL OFFER PRICE. PERFORM A REFUND QUOTE AND TRY AGAIN'.  
The Ancillary Cancel API supports canceling baggage and/or paid seats for both GDS and NDC, and canceling non-baggage ancillaries for NDC. Canceling non-baggage ancillaries for GDS is not supported. Ancillary Cancel must be sent in a workbench session: Create a workbench, send Ancillary Cancel, and commit the workbench. You can cancel ancillaries booked in the same or a previous session. Seat and ancillary cancel support varies in the booking workflow. See the Seats Guide and Ancillary Guide for support details. Only one paid seat per workbench session can be canceled. To cancel multiple seats, send one cancel request, commit the workbench, and start a new workbench to cancel the next seat. For paid bags, you can send multiple cancel requests in a post-commit workbench session. You cannot cancel ancillaries or seats from a ticketed itinerary.

### NDC Reshop

 - [POST /air/change/catalogofferingsairchange](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/createndcexchangesearch.md): NDC only; not supported for GDS.  
The Reshop API searches for a new itinerary when modifying a held booking or exchanging a ticket for NDC.  
Reshop is part of the NDC modify/exchange workflow. Create a post-commit workbench, Reshop with this API call, Reprice to confirm pricing, and commit the workbench to confirm the changes. See the NDC Exchanges and Refunds guide for more details.

### Modify

 - [POST /air/modify/reservations/{Identifier}](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/ndcmodifyreservation.md): After all required changes any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the order changes in the workbench.

### Reservation Cancel

 - [POST /air/receipt/reservations/{ReservationResource_Identifier}/receipts](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/cancelreservation.md): Create a set of offer cancellation receipts for every offer in the reservation.

### NDC Reprice

 - [POST /air/reprice/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromcatalogofferings](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/workbenchndcbuildfromcatalogofferings.md): Use the Add Offer reference payload request to add an offer to the reservation workbench as part of the booking workflow. The reference payload request sends identifiers from the Search response instead of full itinerary details.  
NDC supports only the reference payload. For GDS, you can send either a reference payload or a full payload.

### Standalone Reprice

 - [POST /air/reprice/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromoffer](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/repricebuildfromoffer.md): NDC only; not supported for GDS. Not supported for all NDC carriers. Use the Standalone Reprice API to reprice an itinerary on a held booking for NDC. Standalone Reprice can be sent before or after the price guarantee expires. This request would typically be used to check if the price has changed before issuing a ticket. You can then either ticket the itinerary or hold the booking again. Standalone Reprice must be sent in a workbench session. It must be followed by a Modify request to commit the workbench and either ticket or hold the itinerary. If you want to ticket at Modify, send Form of Payment and Payment before Modify. For supporting NDC carriers, see NDC Carrier Support in the developer documentation.

### Cancel Payment

 - [POST /air/paymentoffer/reservationworkbench/{ReservationResource_Identifier}/payments/{id}](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/cancelpayment.md): NDC only; not supported for GDS. Supported only for Qantas (QF). For NDC on supporting carriers only, you can use the Cancel Payment API to cancel the payment on a ticket. This refunds the payment, cancels the ticket but retains the itinerary, and creates a held booking for later fulfillment. For example, you might want to use this workflow to use a different payment method than was sent in ticketing. You must establish a workbench session before sending the Cancel Payment request detailed here. After sending Cancel Payment, you must commit the workbench to implement the change.

## Workbench Actions

Create, manage, and commit workbench sessions.

### New Workbench

 - [POST /air/book/session/reservationworkbench](https://developer.travelport.com/apis/flights/workbench-actions/createreservationworkbench.md): Use this request to initiate a workbench for a new reservation. This prerequisite step for booking creates the workbench session in which all booking details are added together to create a PNR at commit.

### Post Commit Workbench

 - [POST /air/book/session/reservationworkbench/buildfromlocator](https://developer.travelport.com/apis/flights/workbench-actions/createreservationworkbenchfromlocator.md): Initiate a post-commit workbench to create a session for ticketing or updating an existing reservation. This is a prerequisite step for any workbench session to modify, update, or ticket a reservation.  
Post-Commit Workbench returns air, hotel, and/or car segments for any reservation that includes that content, called a multi-content booking. All segments must have been booked with the TripServices Flights APIs, TripServices Stays APIs, TripServices Car APIs (release pending), or a Travelport+ terminal program. You can add either GDS or NDC air offers to a hotel and/or car booking, but not both. See the Multi-content Booking Guide (Air, Hotel, Car) for workflows and examples.

### Cancel Workbench Items

 - [POST /book/reservationworkbench/{ReservationResource_Identifier}/reservations/cancelitems](https://developer.travelport.com/apis/flights/workbench-actions/cancelworkbenchitems.md): Cancel one or more offers or unpriced segments within the workbench. Offer types including air, hotel, vehicle. Ancillaries associated to air segments will by default cancel when the air segment is cancelled. Some restrictions on NDC and non-GDS hotel content apply.

### Retrieve Workbench.

 - [GET /air/book/session/reservationworkbench/{Identifier}](https://developer.travelport.com/apis/flights/workbench-actions/retrievereservationworkbench.md): At any point in the booking session, you can retrieve the workbench. The response returns all details added to the workbench at that point.

### Discard Workbench

 - [DELETE /air/book/session/reservationworkbench/{Identifier}](https://developer.travelport.com/apis/flights/workbench-actions/ignorereservationworkbench.md): At any point in a booking or ticketing workflow, if necessary, you can discard the workbench and any information in it.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/workbench-actions/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Post Commit Workbench

 - [POST /air/book/session/reservationworkbench/buildfromlocator](https://developer.travelport.com/apis/flights/ticketing/createreservationworkbenchfromlocator.md): Initiate a post-commit workbench to create a session for ticketing or updating an existing reservation. This is a prerequisite step for any workbench session to modify, update, or ticket a reservation.  
Post-Commit Workbench returns air, hotel, and/or car segments for any reservation that includes that content, called a multi-content booking. All segments must have been booked with the TripServices Flights APIs, TripServices Stays APIs, TripServices Car APIs (release pending), or a Travelport+ terminal program. You can add either GDS or NDC air offers to a hotel and/or car booking, but not both. See the Multi-content Booking Guide (Air, Hotel, Car) for workflows and examples.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/gds-exchanges/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

## Ticketing

Issuing tickets including form of payment and payment.

### Post Commit Workbench

 - [POST /air/book/session/reservationworkbench/buildfromlocator](https://developer.travelport.com/apis/flights/workbench-actions/createreservationworkbenchfromlocator.md): Initiate a post-commit workbench to create a session for ticketing or updating an existing reservation. This is a prerequisite step for any workbench session to modify, update, or ticket a reservation.  
Post-Commit Workbench returns air, hotel, and/or car segments for any reservation that includes that content, called a multi-content booking. All segments must have been booked with the TripServices Flights APIs, TripServices Stays APIs, TripServices Car APIs (release pending), or a Travelport+ terminal program. You can add either GDS or NDC air offers to a hotel and/or car booking, but not both. See the Multi-content Booking Guide (Air, Hotel, Car) for workflows and examples.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/workbench-actions/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Post Commit Workbench

 - [POST /air/book/session/reservationworkbench/buildfromlocator](https://developer.travelport.com/apis/flights/ticketing/createreservationworkbenchfromlocator.md): Initiate a post-commit workbench to create a session for ticketing or updating an existing reservation. This is a prerequisite step for any workbench session to modify, update, or ticket a reservation.  
Post-Commit Workbench returns air, hotel, and/or car segments for any reservation that includes that content, called a multi-content booking. All segments must have been booked with the TripServices Flights APIs, TripServices Stays APIs, TripServices Car APIs (release pending), or a Travelport+ terminal program. You can add either GDS or NDC air offers to a hotel and/or car booking, but not both. See the Multi-content Booking Guide (Air, Hotel, Car) for workflows and examples.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Add Form of Payment

 - [POST /air/payment/reservationworkbench/{ReservationResource_Identifier}/formofpayment](https://developer.travelport.com/apis/flights/ticketing/addformofpayment.md): You can send an Add Form of Payment (FOP) request in either a booking or ticketing workbench session. FOPs of cash and credit are supported. FOPs of agent invoice and non-standard credit card are supported for GDS only.  
The form of payment will only be added to the reservation when an itinerary exists. If no itinerary exists the form of payment will be ignored.

### Update Form of Payment

 - [PUT /air/payment/reservationworkbench/{ReservationResource_Identifier}/formofpayment/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/updateformofpayment.md): Update a Form Of Payment with new information

### Delete Form of Payment

 - [DELETE /air/payment/reservationworkbench/{ReservationResource_Identifier}/formofpayment/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/deleteformofpayment.md): Delete a Form Of Payment

### Add Payment

 - [POST /air/paymentoffer/reservationworkbench/{ReservationResource_Identifier}/payments](https://developer.travelport.com/apis/flights/ticketing/addpayment.md): The Payment step takes place in a ticketing workbench session and applies the payment sent previously in the Form of Payment request to the offer/s specified in the Payment request payload. Payment can be sent for any type of offer, including air, seats, and ancillaries. Payment can be made for multiple offers and multiple types of offers in the same request. Form of payment information must either already be present in the reservation or the workbench. At workbench commit, tickets or EMDs are issued for any offer payment has been sent for. Payment is also required prior to ticketing when exchanging tickets in the case of an even exchange, or an add collect (price of new itinerary is greater than existing itinerary). In the case of an add collect, send Payment with a zero amount in Amount/value. See the Exchange, Refund, and Void Guide for details.

### Ticket Retrieve

 - [POST /air/ticket/tickets/getbylocator](https://developer.travelport.com/apis/flights/ticketing/ticketgetbylocator.md)

### Ticket Display

 - [GET /air/ticket/tickets/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/getticket.md): GDS only. To retrieve an NDC ticket use the Ticket Retrieve API. This API duplicates functionality available in the more recently released Ticket Retrieve API, which for GDS can retrieve a single or multiple tickets.

### Single Ticket Void

 - [PUT /air/ticket/tickets/updatestatus/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/updateticket.md): New customers please implement the batch void operation "documents/void" end point.   This TicketVoid API supports voiding a single GDS ticket. Generally a ticket can be voided only within the same day it was issued. At this time AirTicketing does not support canceling a GDS itinerary outside the void period.

### Batch Void

 - [POST /documents/void](https://developer.travelport.com/apis/flights/ticketing/documentvoid.md): The Batch Void API voids multiple documents, including Tickets, EMDs and MCOs on a single booking. You can either void all documents of a specific type (ticket, EMD, or MCO), or send a list of individual ticket or document numbers to void. All tickets and/or documents must be on the same booking. This function is not supported for NDC or LCC. TASF void will be supported as a future enhancement.

### Ticket Retrieve

 - [POST /air/ticket/tickets/getbylocator](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/ticketgetbylocator.md)

### Ticket Display

 - [GET /air/ticket/tickets/{Identifier}](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/getticket.md): GDS only. To retrieve an NDC ticket use the Ticket Retrieve API. This API duplicates functionality available in the more recently released Ticket Retrieve API, which for GDS can retrieve a single or multiple tickets.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/gds-exchanges/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Add Form of Payment

 - [POST /air/payment/reservationworkbench/{ReservationResource_Identifier}/formofpayment](https://developer.travelport.com/apis/flights/gds-exchanges/addformofpayment.md): You can send an Add Form of Payment (FOP) request in either a booking or ticketing workbench session. FOPs of cash and credit are supported. FOPs of agent invoice and non-standard credit card are supported for GDS only.  
The form of payment will only be added to the reservation when an itinerary exists. If no itinerary exists the form of payment will be ignored.

### Add Payment

 - [POST /air/paymentoffer/reservationworkbench/{ReservationResource_Identifier}/payments](https://developer.travelport.com/apis/flights/gds-exchanges/addpayment.md): The Payment step takes place in a ticketing workbench session and applies the payment sent previously in the Form of Payment request to the offer/s specified in the Payment request payload. Payment can be sent for any type of offer, including air, seats, and ancillaries. Payment can be made for multiple offers and multiple types of offers in the same request. Form of payment information must either already be present in the reservation or the workbench. At workbench commit, tickets or EMDs are issued for any offer payment has been sent for. Payment is also required prior to ticketing when exchanging tickets in the case of an even exchange, or an add collect (price of new itinerary is greater than existing itinerary). In the case of an add collect, send Payment with a zero amount in Amount/value. See the Exchange, Refund, and Void Guide for details.

## GDS Exchanges

GDS ticket exchange workflow from exchange search, modify, and ticket exchange.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/workbench-actions/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Add Form of Payment

 - [POST /air/payment/reservationworkbench/{ReservationResource_Identifier}/formofpayment](https://developer.travelport.com/apis/flights/ticketing/addformofpayment.md): You can send an Add Form of Payment (FOP) request in either a booking or ticketing workbench session. FOPs of cash and credit are supported. FOPs of agent invoice and non-standard credit card are supported for GDS only.  
The form of payment will only be added to the reservation when an itinerary exists. If no itinerary exists the form of payment will be ignored.

### Add Payment

 - [POST /air/paymentoffer/reservationworkbench/{ReservationResource_Identifier}/payments](https://developer.travelport.com/apis/flights/ticketing/addpayment.md): The Payment step takes place in a ticketing workbench session and applies the payment sent previously in the Form of Payment request to the offer/s specified in the Payment request payload. Payment can be sent for any type of offer, including air, seats, and ancillaries. Payment can be made for multiple offers and multiple types of offers in the same request. Form of payment information must either already be present in the reservation or the workbench. At workbench commit, tickets or EMDs are issued for any offer payment has been sent for. Payment is also required prior to ticketing when exchanging tickets in the case of an even exchange, or an add collect (price of new itinerary is greater than existing itinerary). In the case of an add collect, send Payment with a zero amount in Amount/value. See the Exchange, Refund, and Void Guide for details.

### Exchange Eligibility

 - [GET /eligibility/ticketchangeeligibilities](https://developer.travelport.com/apis/flights/gds-exchanges/geteligibility.md): The Eligibility API is the first step in the GDS exchange workflow. It is an optional step.  
Eligibility returns information about whether a ticket may have value in an exchange or refund scenario, and the range of potential exchange and refund fees. This information relates only to fees and not any fare or tax difference for the itinerary.  
Send either Ticket or Locator as a query parameter. Ticket returns eligibility details for only the one traveler on the ticket, while Locator returns details for all travelers on that reservation.  
A request by reservation locator for a reservation that has multiple open tickets for one passenger will return eligibility information only for the last ticket listed in the reservation. In this scenario you should instead send the request by ticket number.

### Exchange Search

 - [POST /exchangesearch/catalogofferingsairchange](https://developer.travelport.com/apis/flights/gds-exchanges/createexchangesearch.md): The Exchange Search API is the second step in the GDS exchange workflow, after Eligibility. It supports searching for an alternate itinerary for a possible exchange on a currently ticketed GDS itinerary. The response details any differences in base fare, taxes, fees, and total price between the currently ticketed itinerary and the possible new itinerary.

### Workbench Commit

 - [POST /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/gds-exchanges/commitreservation.md): After all required and any optional steps in a booking workbench session, send a POST request with the workbench identifier to commit the workbench. The resulting actions depend on whether payment is present in the workbench.  
If no Add Payment request has been sent, committing the workbench books the itinerary and generates a PNR.  
If an Add Payment request has not been sent, committing the workbench tickets the itinerary and generates ticket number/s.

### Refund Commit from Document Refund Quote

 - [POST /air/receipt/receipts/documentrefundfromofferlist](https://developer.travelport.com/apis/flights/gds-exchanges/refundfromofferlist.md): Issues the refund based on a previously generated refund quote. Reference the OfferListIdentifiers returned in Document Refun Quote to select the refund you wish to complete.

### Document Refund Quote

 - [POST /air/book/airoffer/offers/documentrefundquote](https://developer.travelport.com/apis/flights/gds-exchanges/documentrefundquote.md): Send one or more ticket numbers for a Refund Quote to determine what, if any, refund value may be available on the ticket(s). You can send multiple tickets only if all tickets sent in the request belong to the same PNR and use the same filed fare. The response includes a detailed refund quote with refundable amounts, penalties, tax breakdowns, and related details. Use the following endpoint.   The information returned in the response payload is similar whether the request was by a record locator or by a ticket number.   Refund Quote price details are provided in the following objects. All objects provide a total amount and a breakdown by base fare, price, and taxes as applicable:   -  Price - Amount paid for the ticket.   -  ModifyPrice - Any amount eligible for refund.   -  SupplierRetainedPrice - Any amount forfeited.

### Add/Modify Offer

 - [POST /air/book/offer/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromcatalogofferings](https://developer.travelport.com/apis/flights/gds-exchanges/tripchangebuildfromcatalogofferings.md): Use the Add Offer reference payload request to add an offer to the reservation workbench as part of the booking workflow. The reference payload request sends identifiers from the Exchange Search response instead of full itinerary details.

### Add Form of Payment

 - [POST /air/payment/reservationworkbench/{ReservationResource_Identifier}/formofpayment](https://developer.travelport.com/apis/flights/gds-exchanges/addformofpayment.md): You can send an Add Form of Payment (FOP) request in either a booking or ticketing workbench session. FOPs of cash and credit are supported. FOPs of agent invoice and non-standard credit card are supported for GDS only.  
The form of payment will only be added to the reservation when an itinerary exists. If no itinerary exists the form of payment will be ignored.

### Add Payment

 - [POST /air/paymentoffer/reservationworkbench/{ReservationResource_Identifier}/payments](https://developer.travelport.com/apis/flights/gds-exchanges/addpayment.md): The Payment step takes place in a ticketing workbench session and applies the payment sent previously in the Form of Payment request to the offer/s specified in the Payment request payload. Payment can be sent for any type of offer, including air, seats, and ancillaries. Payment can be made for multiple offers and multiple types of offers in the same request. Form of payment information must either already be present in the reservation or the workbench. At workbench commit, tickets or EMDs are issued for any offer payment has been sent for. Payment is also required prior to ticketing when exchanging tickets in the case of an even exchange, or an add collect (price of new itinerary is greater than existing itinerary). In the case of an add collect, send Payment with a zero amount in Amount/value. See the Exchange, Refund, and Void Guide for details.

## Booking

Reference and full payload booking workflows.

### Host Profile Move

 - [PUT /air/book/profile/reservationworkbench/{identifier}/clientprofile](https://developer.travelport.com/apis/flights/booking/clientprofilemove.md): Functionality to move client profile information into the Reservation workbench. Release

### Add Offer Reference Payload

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromcatalogproductofferings](https://developer.travelport.com/apis/flights/booking/workbenchbuildfromcatalogproductofferings.md): Use the Add Offer reference payload request to add an offer to the reservation workbench as part of the booking workflow. The reference payload request sends identifiers from the Search response instead of full itinerary details.  
NDC supports only the reference payload. For GDS, you can send either a reference payload or a full payload.  
To use the Add Offer reference payload request following a search request, your initial Search request must send 'offersPerPage' to invoke caching if that Search was journey-based (leg-based search results are always cached). If you add the offer after a price request, you can send the transaction identifier from the AirPrice response.  

Add Multiple Offers (GDS only; not supported for NDC):   In either the initial booking workflow, or for an existing reservation, you can send one or more Add Offer requests to add multiple GDS air offers in a single booking. While there is no specific limit on the number of offers that can be combined, a reservation cannot have more than 16 flight segments.  
Also supported in the Add Offer full payload request. Your PCC must be provisioned for multi-offers; contact your Travelport representative if necessary. See Multi-offer Bookings in the Flights Booking Guide.  
You can also use Add Offer to add a GDS air offer to an existing reservation that has hotel and/or car offers. See the Multi-Content Booking Guide (Air, Car, Hotel) for workflow details.  

Add offer to expired booking:  
  - For GDS only: use this Add Offer reference payload request or the full payload request to add an offer to an existing reservation, such as when the previously added offer has expired and can no longer be booked.  

  - For NDC, use the NDC-specific Standalone Reprice API instead to add an offer to an expired booking.)

### Single Payload Booking

 - [POST /air/book/reservation/reservations/build](https://developer.travelport.com/apis/flights/booking/buildreservation.md): As an alternative to the booking workflow that takes place in a workbench session, you can send all booking details and commit a single payload to create a booking. The single payload book request does not support any of the optional steps in the booking workflow, such as adding seats or ancillaries.

### Add Offer Full Payload

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromproducts](https://developer.travelport.com/apis/flights/booking/workbenchbuildfromproducts.md): Full payload is not supported for NDC; use the reference payload instead. For GDS, you can send either a reference payload or a full payload.  
Use the Add Offer full payload request to add an offer to the reservation workbench as part of the booking workflow. The full payload request sends full itinerary details instead of identifiers from the Search response as in the reference payload request.  

Add Multiple Offers (GDS only; not supported for NDC):   You can repeat the Add Offer request as needed to combine multiple offers into one reservation, either in the initial booking workflow or for an existing reservation. While there is no limit on the number of offers that can be combined, a reservation cannot have more than 16 flight segments. Also supported in the Add Offer reference payload request. Your PCC must be provisioned for multi-offers; contact your Travelport representative if necessary.  

Add offer to expired booking (GDS only; not supported for NDC):   You can use this or the reference payload request to add an offer to an existing reservation, such as when the previously added offer has expired and can no longer be booked. Start with a post-commit workbench.  

Pricing modifiers and brand information:   The full payload request supports optional pricing modifiers and/or brand information. You must send these modifiers during the initial booking workbench session - you cannot add them later.  
- Pricing modifiers:  
  If no pricing modifier is sent, the auto stored fare is added to the reservation. If a requested modifier does not have any fares associated with it, the Add Offer step returns a successful response but the Commit step will fail and return the error message No Fare Found.  

- Brand information:  
  You can store fares with brand information at either or both the offer or segment level.  
    - To store brand information at the offer level, send PricingModifiersAir/Brand/tier with any valid brand tier value.  

    - To store brand information at the segment level, send the brand tier with the flight segment in ProductCriteriaAir/SpecificFlightCriteria/brandtier. You can send brandTier for any or all segments.  

    - There is no change in the response when brand information is requested. Brand details are returned after booking in the Reservation Retrieve.

### Auto Price/ Manual Fare

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromunpricedsegments](https://developer.travelport.com/apis/flights/booking/buildfromunpricedsegments.md)

### Unpriced Segment

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/unpricedsegments](https://developer.travelport.com/apis/flights/booking/addunpricedsegments.md): Use the Unpriced Segment API in either the booking or post-booking workflow to add an unpriced segment to the workbench. You can send the Unpriced Segment request instead of the Add Offer API in the booking workflow. Or, to add both an unpriced segment and an offer, you can send both Unpriced Segment and Add Offer. Unpriced Segment adds flight/s as unpriced segments instead of as an offer, which is by definition priced.Unpriced segments can be priced using the offers/buildfromunpricedsegments API. GDS content only. NDC does not support unpriced segments.

### Add Auxiliary Segments

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/customauxiliarysegments](https://developer.travelport.com/apis/flights/booking/addauxiliarysegments.md)

### Add Multiple Travelers

 - [POST /air/book/traveler/reservationworkbench/{ReservationResource_Identifier}/travelers/list](https://developer.travelport.com/apis/flights/booking/addtravelers.md): Send the Add Traveler request to add multiple travelers to the reservation workbench. Traveler information can include traveler name and contact details. Traveler information can include traveler name and contact details, add traveler-specific remarks including certain SSRs and travel documents such as a passport.  
Use air/book/traveler/reservationworkbench/{workbenchID}/travelers when adding exactly one traveler.

### Add Single Traveler

 - [POST /air/book/traveler/reservationworkbench/{ReservationResource_Identifier}/travelers](https://developer.travelport.com/apis/flights/booking/addtraveler.md): Send the Add Traveler request to add a single traveler to the reservation workbench. Traveler information can include traveler name and contact details, add traveler-specific remarks including certain SSRs and travel documents such as a passport.  
Add each traveler to the same workbench with separate POST requests.  
Alternatively, use air/book/traveler/reservationworkbench/{workbenchID}/travelers/list when adding multiple travelers.

### Single Payload Booking

 - [POST /air/book/reservation/reservations/build](https://developer.travelport.com/apis/flights/unreleased/buildreservation.md): As an alternative to the booking workflow that takes place in a workbench session, you can send all booking details and commit a single payload to create a booking. The single payload book request does not support any of the optional steps in the booking workflow, such as adding seats or ancillaries.

## Unreleased

### Single Payload Booking

 - [POST /air/book/reservation/reservations/build](https://developer.travelport.com/apis/flights/booking/buildreservation.md): As an alternative to the booking workflow that takes place in a workbench session, you can send all booking details and commit a single payload to create a booking. The single payload book request does not support any of the optional steps in the booking workflow, such as adding seats or ancillaries.

### Exchange Price Quote (GDS)

 - [POST /pricequote/catalogofferingsairchange/productspecificsearch](https://developer.travelport.com/apis/flights/unreleased/productspecificsearch.md): The Product Specific Search function of the Exchange Search API is the second step in the GDS exchange workflow, after Eligibility. It supports searching for a specified itinerary and in addition can provide alternate options. The response details any differences in base fare, taxes, fees, and total price between the currently ticketed itinerary and the possible new itinerary.

### Pagination. Get Additional Pages

 - [GET /exchangesearch/catalogofferingsairchange/{identifier}](https://developer.travelport.com/apis/flights/unreleased/getairchangepage.md)

### Single Payload Booking

 - [POST /air/book/reservation/reservations/build](https://developer.travelport.com/apis/flights/unreleased/buildreservation.md): As an alternative to the booking workflow that takes place in a workbench session, you can send all booking details and commit a single payload to create a booking. The single payload book request does not support any of the optional steps in the booking workflow, such as adding seats or ancillaries.

### Manual Refunds

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/create](https://developer.travelport.com/apis/flights/unreleased/createmanualoffer.md)

### Manual Exchange

 - [POST /air/book/offer/reservationworkbench/{ReservationResource_Identifier}/offers](https://developer.travelport.com/apis/flights/unreleased/createagencycalculatedexchange.md)

## Remarks and Special Service Requests

Booking remarks including notepad, OSI, and itinerary remarks, and SSRs.

### Document Override Remarks

 - [POST /air/book/documentoverride/Reservation/{ReservationResource_Identifier}/documentoverrides](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/createdocumentoverrides.md): Use document override to send remarks such as tour code, commission, or endorsements/restrictions.Document override remarks are returned in the PNR retrieve only when the detailViewInd query parameter is set to true. Document override remarks can be added to an existing PNR but cannot be modified or deleted.

### Accounting Remarks

 - [POST /air/book/accounting/reservationworkbench/{ReservationResource_Identifier}/accountings](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/createaccounting.md): Accounting remarks are optional remarks that are added to the PNR and typically used by an agency's back office system in some way. The remarks can include ticket numbers, customer or account numbers, fares offered to the customer but refused, and canned remarks that document fare rules. Accounting remarks replace the back office accounting remarks in AirReservation prior to version 11.

### Delete Accounting Remarks

 - [DELETE /air/book/accounting/reservationworkbench/{ReservationResource_Identifier}/accountings/{id}/namevaluepairs](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/deleteaccounting.md)

### Reservation Comments (general, Itinerary, and OSI Remarks)

 - [POST /air/book/remarks/reservationworkbench/{ReservationResource_Identifier}/reservationcomments/list](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/addreservationcomments.md)

### Delete Reservation Comments

 - [DELETE /air/book/remarks/reservationworkbench/{ReservationResource_Identifier}/reservationcomments/{id}/comments](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/deletereservationcomments.md)

### Special Service List Requests

 - [POST /air/book/specialservices/reservationworkbench/{ReservationResource_Identifier}/specialservices/list](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/addspecialservices.md)

### Delete a Special Service

 - [DELETE /air/book/specialservices/reservationworkbench/{ReservationResource_Identifier}/specialservices/{id}](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/deletespecialservices.md)

### Delete Multiple Special Services

 - [POST /air/book/specialservices/reservationworkbench/{ReservationResource_Identifier}/specialservices/deletemultiple](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/deletemultiplespecialservices.md)

### Add Primary Contact Remark (SSR CTC)

 - [POST /air/book/primarycontact/reservationworkbench/{ReservationResource_Identifier}/primarycontacts](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/addprimarycontact.md)

### Delete Primary Contact Remark

 - [DELETE /air/book/primarycontact/reservationworkbench/{ReservationResource_Identifier}/primarycontacts/{id}](https://developer.travelport.com/apis/flights/remarks-and-special-service-requests/deleteprimarycontact.md)

## Retrieve Bookings and Tickets

Retrieve bookings, tickets, and document histories.

### Ticket Retrieve

 - [POST /air/ticket/tickets/getbylocator](https://developer.travelport.com/apis/flights/ticketing/ticketgetbylocator.md)

### Ticket Display

 - [GET /air/ticket/tickets/{Identifier}](https://developer.travelport.com/apis/flights/ticketing/getticket.md): GDS only. To retrieve an NDC ticket use the Ticket Retrieve API. This API duplicates functionality available in the more recently released Ticket Retrieve API, which for GDS can retrieve a single or multiple tickets.

### Reservation Retrieve

 - [GET /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/retrievereservation.md): Retrieve details about a held booking or PNR.  
While a PNR refers to a held booking that has not been ticketed, the PNR code persists after ticketing to provide the booking records. If the booking has been ticketed, Reservation Retrieve returns booking, payment, and ticketing details.  

Reservation Retrieve returns air, hotel, and/or car segments for any reservation that includes that content, called a multi-content booking. All segments must have been booked with the TripServices Flights APIs, TripServices Stays APIs, TripServices Car APIs (release pending), or a Travelport+ terminal program. You can add either GDS or NDC air offers to a hotel and/or car booking, but not both. See the Multi-content Booking Guide (Air, Hotel, Car) for workflows and examples.  

The TripServices Flights APIs provide the following APIs to retrieve bookings and tickets:  
- To retrieve all booking details, use Reservation Retrieve. Returns all booking, payment, and ticketing information currently on a booking.  
- To retrieve a ticketed itinerary from a ticket number, use Ticket Display.  
- To retrieve a list of all ticket numbers on a booking, use Ticket List.  
- To retrieve details for all tickets associated with a booking (GDS only), or for a single ticket for NDC, use Ticket Retrieve.  
- To return a list of documents on a booking, such as tickets, invoices, MCOs, and EMDs, use Document List.  
- To return histories of up to six documents on a booking, such as tickets, invoices, MCOs, and EMDs, use Document History.

### Retrieve a Reservation by Locator

 - [GET /air/book/reservation/reservations/getbylocator](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/getreservationbylocator.md): To be deprecated and replaced by Get by Identifier using identifier Type "Locator"

### Ticket List

 - [GET /air/receipt/reservations/{ReservationResource_Identifier}/receipts](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/getreceipts.md): Get a list of ticket receipts for a reservation.

### Ticket Retrieve

 - [POST /air/ticket/tickets/getbylocator](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/ticketgetbylocator.md)

### Ticket Display

 - [GET /air/ticket/tickets/{Identifier}](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/getticket.md): GDS only. To retrieve an NDC ticket use the Ticket Retrieve API. This API duplicates functionality available in the more recently released Ticket Retrieve API, which for GDS can retrieve a single or multiple tickets.

### Document List

 - [GET /documents/documentlist/{identifier}](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/documenthistorylist.md)

### Document History

 - [POST /documents/history](https://developer.travelport.com/apis/flights/retrieve-bookings-and-tickets/documenthistory.md)

## Modify Traveler Details

Modify traveler information.

### Update Traveler Information

 - [PUT /air/book/traveler/reservationworkbench/{ReservationResource_Identifier}/travelers/updatefromtravelerupdateditems/{id}](https://developer.travelport.com/apis/flights/modify-traveler-details/updatefromtravelerupdateditems.md): The Traveler Update request follows an Updatable Items request and makes a change to one or more items returned in that Updatable Items response. Sent as part of a workbench session, either during the initial booking workflow (workbench not committed, PNR not issued yet) or a post-commit workbench for an existing PNR. It is followed by a workbench commit.

### Traveler Updatable Items

 - [POST /air/book/updatableItem/reservationworkbench/{ReservationResource_Identifier}/travelerupdatableitems/buildfromtraveler](https://developer.travelport.com/apis/flights/modify-traveler-details/buildfromtraveler.md): The Updatable Items request retrieves by traveler ID a list of objects that are updatable for that traveler, and returns for each an indicator for whether that item can be added, modified, or deleted.

### Update Traveler Information

 - [PUT /air/book/traveler/reservationworkbench/{ReservationResource_Identifier}/travelers/updatefromtravelerupdateditems/{id}](https://developer.travelport.com/apis/flights/modify-bookings/updatefromtravelerupdateditems.md): The Traveler Update request follows an Updatable Items request and makes a change to one or more items returned in that Updatable Items response. Sent as part of a workbench session, either during the initial booking workflow (workbench not committed, PNR not issued yet) or a post-commit workbench for an existing PNR. It is followed by a workbench commit.

### Traveler Updatable Items

 - [POST /air/book/updatableItem/reservationworkbench/{ReservationResource_Identifier}/travelerupdatableitems/buildfromtraveler](https://developer.travelport.com/apis/flights/modify-bookings/buildfromtraveler.md): The Updatable Items request retrieves by traveler ID a list of objects that are updatable for that traveler, and returns for each an indicator for whether that item can be added, modified, or deleted.

## Modify Bookings

Divide or cancel bookings.

### Update Traveler Information

 - [PUT /air/book/traveler/reservationworkbench/{ReservationResource_Identifier}/travelers/updatefromtravelerupdateditems/{id}](https://developer.travelport.com/apis/flights/modify-traveler-details/updatefromtravelerupdateditems.md): The Traveler Update request follows an Updatable Items request and makes a change to one or more items returned in that Updatable Items response. Sent as part of a workbench session, either during the initial booking workflow (workbench not committed, PNR not issued yet) or a post-commit workbench for an existing PNR. It is followed by a workbench commit.

### Traveler Updatable Items

 - [POST /air/book/updatableItem/reservationworkbench/{ReservationResource_Identifier}/travelerupdatableitems/buildfromtraveler](https://developer.travelport.com/apis/flights/modify-traveler-details/buildfromtraveler.md): The Updatable Items request retrieves by traveler ID a list of objects that are updatable for that traveler, and returns for each an indicator for whether that item can be added, modified, or deleted.

### Reservation Divide

 - [POST /air/book/reservation/reservations/divide](https://developer.travelport.com/apis/flights/modify-bookings/divide.md): Use this operation to divide a reservation when any of the party needs to cancel or travel on alternative flights; you can divide a reservation with multiple travelers into separate itineraries. This avoids having to cancel a multi-traveler booking to cancel or otherwise modify only some of the travelers.  
At this time, only Smartpoint Cloud should be used to divide an NDC booking. See the Exchange, Refund, and Void Guide for support details by carrier.

### Reservation Cancel

 - [POST /air/receipt/reservations/{ReservationResource_Identifier}/receipts](https://developer.travelport.com/apis/flights/modify-bookings/cancelreservation.md): Create a set of offer cancellation receipts for every offer in the reservation.

### Update Traveler Information

 - [PUT /air/book/traveler/reservationworkbench/{ReservationResource_Identifier}/travelers/updatefromtravelerupdateditems/{id}](https://developer.travelport.com/apis/flights/modify-bookings/updatefromtravelerupdateditems.md): The Traveler Update request follows an Updatable Items request and makes a change to one or more items returned in that Updatable Items response. Sent as part of a workbench session, either during the initial booking workflow (workbench not committed, PNR not issued yet) or a post-commit workbench for an existing PNR. It is followed by a workbench commit.

### Traveler Updatable Items

 - [POST /air/book/updatableItem/reservationworkbench/{ReservationResource_Identifier}/travelerupdatableitems/buildfromtraveler](https://developer.travelport.com/apis/flights/modify-bookings/buildfromtraveler.md): The Updatable Items request retrieves by traveler ID a list of objects that are updatable for that traveler, and returns for each an indicator for whether that item can be added, modified, or deleted.

### Reservation Cancel

 - [POST /air/receipt/reservations/{ReservationResource_Identifier}/receipts](https://developer.travelport.com/apis/flights/ndc-modify-cancel-exchange/cancelreservation.md): Create a set of offer cancellation receipts for every offer in the reservation.

## Queues

Manage agency queues.

### Queue Placement

 - [POST /air/queue/queue](https://developer.travelport.com/apis/flights/queues/create.md)

### Queue Remove

 - [POST /air/queue/queue/remove](https://developer.travelport.com/apis/flights/queues/queueremove.md)

### Queue List

 - [POST /air/queue/queue/list](https://developer.travelport.com/apis/flights/queues/createqueuelist.md)

## Travel Agency Details

Manage travel agency details that can be attached to a booking.

### Travel Agency Details (Single Payload)

 - [POST /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency](https://developer.travelport.com/apis/flights/travel-agency-details/addagencydetails.md)

### Travel Agency Address

 - [POST /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/addaddress](https://developer.travelport.com/apis/flights/travel-agency-details/addagencyaddress.md)

### Travel Agency Address

 - [PUT /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/updateaddress](https://developer.travelport.com/apis/flights/travel-agency-details/updateagencyaddress.md)

### Travel Agency Address

 - [DELETE /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/deleteaddress/{addressid}](https://developer.travelport.com/apis/flights/travel-agency-details/deleteagencyaddress.md)

### Travel Agency Corporate ID

 - [POST /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/addcorporatecode](https://developer.travelport.com/apis/flights/travel-agency-details/addcorporatecode.md)

### Travel Agency Corporate ID

 - [PUT /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/updatecorporatecode](https://developer.travelport.com/apis/flights/travel-agency-details/updatecorporatecode.md)

### Travel Agency Corporate ID

 - [DELETE /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/deletecorporatecode](https://developer.travelport.com/apis/flights/travel-agency-details/deletecorporatecode.md)

### Travel Agency Email

 - [POST /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/addemail](https://developer.travelport.com/apis/flights/travel-agency-details/addagencyemail.md)

### Travel Agency Email

 - [PUT /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/updateemail](https://developer.travelport.com/apis/flights/travel-agency-details/updateagencyemail.md)

### Travel Agency Email

 - [DELETE /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/deleteemail/{emailid}](https://developer.travelport.com/apis/flights/travel-agency-details/deleteagencyemail.md)

### Travel Agency Telephone

 - [POST /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/addtelephone](https://developer.travelport.com/apis/flights/travel-agency-details/addagencytelephone.md)

### Travel Agency Telephone

 - [PUT /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/updatetelephone](https://developer.travelport.com/apis/flights/travel-agency-details/updateagencytelephone.md)

### Travel Agency Telephone

 - [DELETE /air/ticket/travelagency/reservationworkbench/{ReservationResource_Identifier}/travelagency/{id}/deletetelephone/{telephoneid}](https://developer.travelport.com/apis/flights/travel-agency-details/deleteagencytelephone.md)

## Custom Booking Rules

Manage custom rules set up for your PCC.

### Custom Rule List and Details

 - [GET /air/book/customrule/customrules](https://developer.travelport.com/apis/flights/custom-booking-rules/getcustomrules.md)

### Custom Rule

 - [POST /air/book/customrule/customrules/{ReservationWorkbench_Identifier}](https://developer.travelport.com/apis/flights/custom-booking-rules/addcustomrule.md)

### Remove Custom Rule

 - [DELETE /air/book/customrule/customrules/{ReservationWorkbench_Identifier}](https://developer.travelport.com/apis/flights/custom-booking-rules/deletecustomrule.md)

## Deprecated

### Update a Reservation (deprecated)

 - [PUT /air/book/reservation/reservations/{Identifier}](https://developer.travelport.com/apis/flights/deprecated/updatereservation.md)

### Cancel an Offer Within a Reservation (deprecated)

 - [PUT /air/book/reservation/reservations/{reservationIdentifier}/canceloffer](https://developer.travelport.com/apis/flights/deprecated/cancelreservationoffer.md): Cancel an Offer by modifying the Reservation

### Create a Reservation (deprecated)

 - [POST /air/book/reservation/reservations](https://developer.travelport.com/apis/flights/deprecated/createreservation.md): Create a reservation on the core or with the vendor/provider.

### ReceiptResource - BuildFromLocator (deprecated)

 - [POST /air/receipt/reservations/{ReservationResource_Identifier}/receipts/buildfromlocator](https://developer.travelport.com/apis/flights/deprecated/buildreceiptsfromlocator.md): Process all unprocessed offers and create ticket receipts

### Create a Workbench for Existing Booking (deprecated)

 - [POST /air/book/session/reservationworkbench/buildfromidentifier/{Identifier}](https://developer.travelport.com/apis/flights/deprecated/createreservationworkbenchfromidentifier.md): Initiate a post-commit workbench to create a session for ticketing or updating an existing reservation. This is a prerequisite step for any transaction that modifies, updates, or tickets any PNR.

### Not Implemented (deprecated)

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers/buildfromofferlist](https://developer.travelport.com/apis/flights/deprecated/buildfromofferlist.md): Create and Offer by referencing the OfferList Identifier which is returned in the Price response

### Create Refund or Passive Offer (deprecated)

 - [POST /air/book/airoffer/reservationworkbench/{ReservationResource_Identifier}/offers](https://developer.travelport.com/apis/flights/deprecated/deprecatedcreatemanualoffer.md)

