# NDC Guide

This guide discusses what NDC is and basic differences in support or workflow for NDC and GDS content.

Most topics in this online help are for both GDS and NDC content, with differences between them noted as applicable. The [NDC menu](#) at the top of every page in this online help groups the topics that apply only to NDC.

You must be provisioned for NDC content both from each participating carrier and from Travelport to access NDC content, so NDC-specific parts of the help may not apply to your implementation of the TripServices APIs.

For GDS and NDC differences in the TripServices APIs, see the support tables for [seats](/docs/flights/guides/seats-and-ancillaries/seats-guide), [ancillaries](/docs/flights/guides/seats-and-ancillaries/ancillaries-and-emd-guide), [fare rules](/docs/flights/guides/fare-rules-guide), and [exchanges/refunds](/docs/flights/guides/exchange-refund-and-void-guide), and the [NDC and GDS Functionality Comparison](#ndc-and-gds-functionality-comparison-chart).

For differences within NDC by individual carriers, see NDC capabilities by airline through TripServices API in the Travelport Knowledge Base. See [Knowledge Base NDC Resources if you need login assistance](#knowledge-base-ndc-resources)

## NDC Basic Concepts

NDC (New Distribution Capability) is a travel industry standard for the distribution and retailing of flight content. NDC is not a system, database, or piece of software - it is a standard for exchanging data.

### What is NDC?

The Travelport TripServices Flights APIs support both NDC and GDS content, or simply *NDC* and *GDS*. These terms refer to the content distribution method:

- **GDS** stands for Global Distribution System. A GDS aggregates and distributes air, hotel, and car rental content such as schedules, fares, and upsells. Travelport owns the Galileo, Worldspan, and Apollo GDSs, which are also known by the IATA abbreviations 1G, 1P, and 1V.
- **NDC** is for New Distribution Capability, a program launched by the International Air Transport Association (IATA), the trade association for the world's airlines, to facilitate content
distribution directly from airlines to online travel agencies. NDC is an XML standard for exchanging data, and is intended to replace the EDIFACT protocol that has been used by Global Distribution Systems (GDS). NDC distributes content
directly from airlines to online travel agencies, GDSs, and travel management companies. NDC content is provided and fulfilled directly by the airline, and may include differentiated content available only through the airlines' direct channels.


Although most TripServices API workflows, requests, and responses are the same for both GDS and NDC, airline-specific processes do create some differences. Some functionality is supported only for NDC, or only for GDS, as detailed later in this guide. Because NDC is available only to provisioned customers, this online help has a separate NDC top-level menu to group information and processes that apply only to NDC.

If information in the online help doesn't include the text GDS only; not supported for NDC or vice versa, the functionality presented is supported for both NDC and GDS in the same way. Any differences in NDC and GDS functionality are noted where applicable.

Content for both NDC and GDS in the TripServices APIs is sourced from the Galileo GDS (Global Distribution System) for most customers. NDC content from the Apollo and Worldspan GDSs is available to specifically provisioned customers. See the [NDC Guide for Apollo and Worldspan](/docs/flights/ndc/ndc-guide-for-apollo-and-worldspan).

## General NDC & GDS Differences

- NDC is a shopping-led workflow so there is no availability data. Inventory and price are not guaranteed until the booking is fulfilled.
- In NDC the airline controls all data available, including offers, booking, storing, servicing, fulfillment, and ticketing.
- Involuntary changes are sent using order change notifications and don’t use the AIRIMP codes HK/TK. (To accept an involuntary change in the TripServices APIs, see [Accept Involuntary Schedule Change](/docs/flights/guides/ticketing-guide#accept-involuntary-schedule-change) in the Workbench Commit API Reference.)
- NDC generally allows 20 to 30 minutes to create a booking (the offer time limit). That time limit varies by airline and is returned in the Search response in ReferenceList/TermsAndConditions/ExpiryDate.
- NDC and GDS ticket time limits are the same; a booking will expire if ticketing doesn't take place within a certain time, usually within 24 hours of booking. NDC airlines do not generally return ticket time limit data.
- NDC has two ticketing models: Issuing the ticket on the airline's own stock or using third-party FLX stock.


## NDC in the TripServices APIs

In general, the TripServices APIs handle NDC and GDS content in the same way. Most workflows, requests, and responses across the TripServices APIs work the same for both GDS and NDC content, with minor differences noted in the help where applicable.

The exception is that changes to a booked air itinerary, including voids, exchanges, and refunds, are handled by separate TripServices APIs and follow different workflows. This results from differences in how NDC carriers implement these processes.

The NDC menu at the top of every page groups these NDC-specific APIs. Otherwise, all [Guides](/docs/flights/guides/flights-guides) and API References apply to both NDC and GDS.

### Prerequisites

To access NDC content you must be provisioned for NDC with Travelport and registered with the NDC airline. Validation occurs at these levels when a request for NDC content via any TripServices API is received:

- Validation that the requester is provisioned for NDC within Travelport.
- Request details are sent to the airline system. Airline validates that the requester is registered with them for NDC content.
- Aggregated NDC and GDS content is returned as requested.


### Requesting and Identifying GDS/NDC Content

Once you are provisioned for NDC content from one ore more NDC carriers, to request NDC content, in your Search request, include the object

> CatalogProductOfferingsRequest/contentSourceList


with the value *NDC*. If contentSourceList is not sent, only GDS content is returned. The value *GDS* returns only GDS content. The value *NDC* returns only NDC content. Send both values to return aggregated GDS and NDC content, as in this example excerpt:


```text
"contentSourceList" : [ "GDS", "NDC"],
```

Starting with Search results and in all TripServices APIs that return an offer, each offer is identified as either GDS or NDC by the value *GDS* or *NDC* in the Offer/**ContentSource** object. The examples below show ContentSource in the Reservation Retrieve response.

Although ContentSource provides the simplest way to identify GDS/NDC content, Offer/Identifier/**authority** also differentiates GDS and NDC content. It returns the value *Travelport* for GDS and the carrier code for NDC.

details
summary
Show Example indicator for NDC content
This example excerpt for NDC content starts from the beginning of the Reservation Retrieve response. The two indicators for NDC content are highlighted in yellow - ContentSource with a value of NDC and Identifier/authority with the carrier code instead of the value Travelport. For brevity this example is truncated after ContentSource.


```json
{
    "ReservationResponse": {
    "@type": "ReservationResponse",
    "Reservation": {
        "@type": "Reservation",
        "Identifier": {
            "authority": "Travelport",
            "value": "7018cf18-9c54-4905-a9d5-ccf6926c3555"
        },
        "Offer": [
            {
                "@type": "Offer",
                "id": "offer_1",
                "Identifier": {
                    "authority": "QF",
                    "value": "ZTNjN2Q3YTgtNGI2NC00OGQ1LTg1ZTYtMDkwZDYyNjFmMWRkfFBFMEJFNkE0My1EMDFELTQ2NDAtOEIyRGc0dm03bzh0NG94NnAtMS0x"
                },
                "ContentSource": "NDC", ... 
            }]
        }
    }
    }
```

details
summary
Show Example indicator for GDS content
This example excerpt for GDS content starts with the Offer object and for brevity is truncated after ContentSource.


```json
 ...
 "Offer": [
        {
        "@type": "Offer",
        "id": "offer_1",
        "Identifier": {
        "authority": "Travelport",
        "value": "a3b191ad-1709-48da-bd58-741ed7addac7"
        },
        "ContentSource": "GDS", ...
        }]
```

### General Support

The following table outlines broad areas of support in the TripServices APIs. More details are provided in the following sections.

| NDC Item | Supported in the TripServices APIs |
|  --- | --- |
| Itineraries supported | Single airline on a booking, multiple passengers |
| Payment | Generally cash, credit card, banked funds, and IATA EasyPay; varies by carrier |
| Settlement | ARC and BSP |
| Travelport booking file | Passive segment (ZK) |
| Mid and back office | MIR/TAIR ([DI lines](/docs/flights/ndc/di-lines-for-ndc-bookings#mir-1v-and-tair-1p-examples)) |


### NDC for Apollo and Worldspan

Content for both NDC and GDS in the TripServices APIs is sourced from the Galileo GDS (Global Distribution System) for most customers. NDC content from the Apollo and Worldspan GDSs is available to specifically provisioned customers. See the [NDC Guide for Apollo and Worldspan](/docs/flights/ndc/ndc-guide-for-apollo-and-worldspan).

### Passive Booking Record

In the traditional GDS distribution channel, Travelport issues the ticket using the GDS ticketing system, while for NDC the airline itself issues the ticket and handles payment and any subsequent changes. Because the NDC carrier maintains its own booking record (also called a PNR), Travelport maintains on its host system a **passive booking record** or **passive PNR**. This passive PNR generally mirrors the carrier PNR and allows the TripServices APIs to return and store information about the booking. At applicable points in the booking workflow, the TripServices APIs synchronize this passive booking record with the carrier's booking record.

A successful booking returns a unique six-digit alphanumeric code called the **reservation locator** in Receipt/Confirmation/Locator. One instance of Receipt contains the passive record locator for Travelport's passive PNR, returning the locator code itself in Locator/value and a value of either *1G*, *1P*, or *1V* in Locator/source. Another instance of Receipt contains the NDC airline booking reservation locator. This instance returns a carrier code in Locator/source, such as *UA* or *AA*, and a different unique code in Locator/value. When sending the record locator in subsequent requests, such as a reservation retrieve, be sure to send the Travelport reservation locator, aka passive PNR code.

The following example shows the Receipt object for a held NDC booking. NDC locators are returned with the carrier code as the source value. In this example, the NDC record locator is returned in the first instance of Receipt/@type ReceiptConfirmation/Confirmation/Locator, with a source value of *AA*. The Travelport locator, or passive PNR, is returned in the second instance of Receipt/@type ReceiptConfirmation/Confirmation/Locator, with a source value of *1G*.

details
summary
Show Example locator codes

```json
"Receipt": [
    {
     "@type": "ReceiptConfirmation",
     "id": "receipt_1",
     "Identifier": {
      "authority": "AA",
      "value": "fe6d1272-c9cf-4858-88ff-f00ebde2fadc"
     },
     "OfferRef": [
      "offer_1"
     ],
     "Confirmation": {
      "@type": "ConfirmationHold",
      "Locator": {
       "source": "AA",
       "sourceContext": "OrderId",
       "value": "AA001HD1YYTA7"
      }
     }
    },
    {
     "@type": "ReceiptConfirmation",
     "id": "receipt_2",
     "Identifier": {
      "authority": "AA",
      "value": "50ade55b-09e9-4e06-bd8d-af7039cca702"
     },
     "OfferRef": [
      "offer_1"
     ],
     "Confirmation": {
      "@type": "ConfirmationHold",
      "Locator": {
       "source": "AA",
       "sourceContext": "VendorLocator",
       "value": "NRAHSL"
      }
     }
    },
    {
     "@type": "ReceiptConfirmation",
     "Identifier": {
      "authority": "Travelport",
      "value": "6ec7bf8f-961c-44fc-8670-87d98aa0d789"
     },
     "Confirmation": {
      "@type": "ConfirmationHold",
      "Locator": {
       "source": "1G",
       "value": "3HPDLQ"
      }
     }
    }
   ],
```

### Filed Fares

Although NDC in general does not use filed fares, it supports filed fare workflows within GDS environments. The TripServices APIs apply the following handling to filed fares in the passive booking record:

- Updates handling of filed fare details so that if the price changes between the time of booking and ticketing, the passive booking record reflects the updated price at ticketing.
- Updates handling of filed fare details so that if there is any change in the itinerary (date change, time change, routing change, etc.) and the airline exchanges the original ticket for a new ticket, the filed fare for the original ticket is canceled and replaced with the filed fare for the exchanged ticket. This ensures the exchange is handed and reported per ARC/BSP standards and that the same information is sent to the MIR (management information report) and the back office system.
(In the BSP market, when the original ticket is exchanged for a new ticket, the fare is collected either as a NO ADC or an ADC. In the ARC(US) market, the fare is created with the total values which includes base fare, taxes and total fare.)


Filed fares are not accessible through the TripServices APIs but rather through agency-based software such as Smartpoint Cloud.

### MIR (Machineable Interface Record)

AirReservation supports generating a **MIR (machinable interface record)** for ticket issuance, ticket exchanges, and ticket voids for NDC in the same format as for GDS ticket issuance, exchange, and void. This ensures consistent mid- and back-office reporting and handling for NDC as well as GDS itineraries.

MIRs are not accessible through the TripServices APIs but rather through agency-based software such as Smartpoint Cloud.

## NDC Carrier Support

Because NDC content is created by and supplied directly from the NDC airline, supported capabilities differ by carrier. See the Travelport Knowledge Base article linked for each carrier in the table below for a complete list of carrier-specific differences.

For differences in support between NDC and GDS in the TripServices APIs, see the support tables for [seats](/docs/flights/guides/seats-and-ancillaries/seats-guide), [ancillaries](/docs/flights/guides/seats-and-ancillaries/ancillaries-and-emd-guide), [fare rules](/docs/flights/guides/fare-rules-guide), and [exchanges/refunds](/docs/flights/guides/exchange-refund-and-void-guide), and the [NDC and GDS Functionality Comparison] below.

### Knowledge Base NDC Resources

Where applicable, this online help lists differences between support for GDS and NDC content in the TripServices APIs. Within NDC, however, individual NDC carriers differ in their support for various functionality. The Travelport Knowledge Base article KB0040467: NDC capabilities by airline through TripServices API lists carrier support for functionality and provides links to carrier-specific pages.

You must be logged into the customer portal to view articles. If the link above does not work, or you are not logged in:

1. Log into https://my.travelport.com.
2. Open the **Help and Resources** menu at the top of the page and select **Knowledge base**.
3. Enter either *NDC Capabilities by airline* or *KB0040467* in the search bar at the top of the page.


If you do not have a Travelport customer login, please contact your Travelport representative.

#### Participating Carriers and Carrier-Specific Capabilities

The TripServices APIs have been certified to provide NDC content from the carriers in the following table.

In addition to KB0040467: NDC capabilities by airline through TripServices API, the following linked Knowledge Base articles provide carrier-specific differences for each carrier.

| NDC carrier | Travelport Knowledge Base article |
|  --- | --- |
| Air Canada (AC) | NDC AC - New Distribution Capability for Air Canada |
| Air France/KLM (AF/KL) | NDC AF/KL - New Distribution Capability for Air France & KLM |
| Air India (AI) | NDC AI - New Distribution Capability for Air India |
| All Nippon (ANA) | NDC NH - New Distribution Capability for All Nippon Airways (ANA) |
| American Airlines (AA) | NDC AA - New Distribution Capability for American Airlines |
| avianca (AV) | NDC AV - New Distribution Capability Avianca Airlines |
| British Airways (BA) | NDC BA - New Distribution Capability for British Airways |
| Cathay Pacific (CX) | NDC CX – New Distribution Capability for Cathay Pacific |
| Emirates (EK) | NDC EK - New Distribution Capability for Emirates |
| Etihad Airways (EY) | NDC EY - New Distribution Capability for Etihad Airways |
| EVA Airways (BR) | NDC BR - New Distribution Capability for EVA Air |
| Finnair (AY) | NDC AY - New Distribution Capability for Finnair |
| Iberia Air Lines (IB) | NDC IB - New Distribution Capability for Iberia |
| Lufthansa Group (LHG)
Includes Air Dolomiti (EN), Austrian Airlines (OS), Brussels Airlines (SN), Discover Airlines (4Y), and Swiss (LX)
 | NDC LHG - New Distribution Capability for the Lufthansa Group
 |
| Malaysia Airlines (MH) | NDC MH - New Distribution Capability Malaysia Airlines |
| Qantas (QF) | NDC QF - New Distribution Capability for Qantas |
| Qatar Airways (QR) | NDC QR - New Distribution Capability for Qatar Airlines |
| SAS (SK) | NDC SK - New Distribution Capability for SAS Scandinavian Airlines |
| Singapore (SQ) | NDC SQ - New Distribution Capability for Singapore Airlines |
| TAP Air Portugal (TP) | NDC TP – New Distribution Capability for TAP Air Portugal |
| United (UA) | NDC UA - New Distribution Capability for United Airlines |


### NDC Support by Country

NDC carrier content is available for booking through the TripServices APIs and other Travelport+ products for specific carriers in supported countries. See the NDC Content by Country list in the Smartpoint Cloud online help.

## NDC and GDS Functionality Comparison Chart

The [TripServices API workflow](/docs/flights/workflows/end-to-end-flows/json-apis-required-full-workflow) through search, price, and booking is generally the same for both NDC and GDS content. After booking, however, the TripServices APIs handle certain functionality differently for NDC and GDS. That's because NDC carriers directly handle ticketing and servicing for NDC content, while Travelport handles those processes for GDS content.

Primary areas of difference are:

- Payment processes during ticketing can differ between GDS and NDC.
- After ticketing, GDS and NDC use separate APIs for for voids, exchanges, refunds, and certain modifications.


For each TripServices API, the following table notes differences between NDC and GDS for that API. Specific objects in an API may be returned only for NDC or only for GDS, or the API itself may be supported only for NDC or GDS.

The differences in the following table apply to how general NDC functionality is implemented in the TripServices APIs. These differences are not carrier-specific but instead are implementation differences in Travelport's APIs. For carrier-specific details, see [NDC Carrier Support](#ndc-carrier-support) above.

The [NDC menu](#) at the top of every page in this online help groups the NDC-only topics. Otherwise, all topics in this online help apply to both NDC and GDS with differences noted where applicable.

| API and Functionality | NDC Only | GDS Only | Supported for both with differences |
|  --- | --- | --- | --- |
| **General (functionality across multiple APIs)** |
| Identifier values for system-generated IDs
 |  |  | The value returned in responses for Identifier/authority value for GDS is *Travelport* while for NDC this value is the code for the issuing NDC carrier.
See [Identifiers in the TripServices APIs](/docs/flights/guides/flights-general-guide#identifiers-in-the-tripservices-apis) for more about identifiers across all TripServices APIs.
 |
| Identifier values for short IDs
 |  |  | The APIs use a different numbering scheme for NDC and GDS in short identifiers for offers, products, brands, etc., in which the carrier code is part of the identifier for NDC, and GDS does not use a carrier code.
For example:
- NDC offer ids on Qantas start as *QF_CPO0*, *QF_CPO1*, etc.
- NDC product ids on Singapore Airlines start as *SQp0*, *SQp1*, etc.
- For all GDS content, offer ids start with *o0* and *o1* and product ids start with *p0* and *p1*.

See [Identifiers in the TripServices APIs](/docs/flights/guides/flights-general-guide#identifiers-in-the-tripservices-apis) for more about identifiers across all TripServices APIs.
 |
| Branded fares |  |  | [Branded fares](/docs/flights/guides/flights-search-guide#branded-fares-and-upsells) are returned for both NDC and GDS; however, NDC does not return a brand tier. |
| Net ticket data (NTD) is returned in the AirPrice, AirReservation, Exchange Search, and Reservation Retrieve responses for any GDS fare that has a private fare component (fareType=AgencyPrivateFare). When NTD is returned, TermsAndConditionsFuill includes FareGuaranteePolicy to return the fare calculation indicator for the fare. |  | GDS only |  |
| [Errors and warnings](/docs/flights/general/error-messaging) |  |  | In error and warning messages, the SourceID object returns the value *1G* for GSD and the carrier code for NDC. |
| Several APIs, including Search, AirPrice, Fare Rules, and Reservation Retrieve, return the AvailabilitySourceCode object in ReferenceList/ReferenceListFlight to assist in troubleshooting. |  | GDS only |  |
| **Search APIs**  |
| Content Optimizer (formerly Search Control Console) |  | GDS only |  |
| Next Leg Search |  |  | GDS supports searching for up to six O&D pairs (legs of the itinerary) while NDC supports three O&D pairs. |
| Air Availability API |  | GDS only |  |
| Flight Specific Search Reference and Full Payload APIs |  | GDS only |  |
| Infants per adult passenger |  |  | For NDC carriers, only 1 INF (infant in lap) is allowed per 1 adult PTC. NDC content is not returned if there are more INF than adults. |
| CustomerLoyalty object to send frequent traveler number | NDC only |  |  |
| BrandOptions |  | GDS only |  |
| The following objects in TravelerGeographicLocation, used to support local citizen fares:
- residentGeographicCode
- specialLargeFamilyResidentDiscountInd
- generalLargeFamilyResidentDiscountInd

 | NDC only
 |  |  |
| The following objects in SearchCriteriaFlight, used to invoke Premium Flex Search Dates:
- daysBeforeDeparture
- daysAfterDeparture

 |  | GDS only
 |  |
| The following optional indicators in the Search request:
- excludePenaltiesInd
- excludeSurchargesInd
- excludeBaggageFeesInd
- includeFareCalculationInd
- excludeUnbundledFaresInd
- accountCodeFaresOnlyInd

 |  | GDS only
 | Also see differences between NDC and GDS for departureDate, departureTime, arrivalDate, and arrivalTime in the Search API Reference.
 |
| The following pricing modifiers (PricingModifiersAir) in the Search request:
- Fare restrictions such as excluding the return of fares that are non-refundable or that require an advance purchase.
- Currency override to override the PCC default currency
- Net fares (NDC does not support net fares)
- Fares based on sell or ticket location (sellCity and ticketCity)
- Set brand restriction preferences (returnMostRestrictiveBrandInd)
- Request only fares that meet certain change criteria (ChangeOptions)
- Request only fares that meet certain refund criteria (RefundOptions)
- Request split ticketing itineraries (includeSplitPaymentInd)
- Increase or decrease the base fare (ManualFareAdjustment)
- Mark all or specific taxes as exempt (TaxExemption)
- Override default plating carrier (validatingCarrier)
- Premium Flex Search POS (PricingAgency)

 |  | GDS only
 |  |
| The following pricing modifiers (PricingModifiersAir) in the Search request:
- PromotionalCode
- FareQualiferString *(sic)*

 | NDC only
 |  |  |
| Refundability and changeabiility options (sent in PricingModifiersAir/FareSelection in the Search request) |  |  | Up to 6 selection criteria can be sent in for NDC; up to 12 are supported for GDS. |
| The following journey modifiers (SearchModifiersAir) in the Search request:
- Exclude interline connections (NDC does not support interline connections) (excludeInterlineConnectionsInd)
- Prohibit change of airport (prohibitChangeOfAirportInd)
- Class of service preferences (ClassOfServicePreference)
- Cabin preference at the leg level (CabinPreference at the itinerary level is supported for NDC)
- Maximum connection duration (maxConnectionDuration)
- Maximum overnight time (MaxOvernightDuration)
- Alliances
- Prohibited carriers (CarrierPreference/PreferenceType=Prohibited)

 |  | GDS only
 |  |
| Applying journey modifiers (SearchModifiersAir) at the leg level in the Search request instead of to the full itinerary. |  | GDS only |  |
| In the Search response, the following objects are returned only for GDS:
- ProductBrandOptions/flightRefs
- Brand/tier
- PriceBreakdownAir/Commission (returned for GDS if an airline files a commission in a CAT35 fare)
- PriceBreakdownAir/Surcharges
- Flight:
  - Departure/terminal
  - Arrival/terminal
  - operatingCarrierNumber
    - subjectToGovernmentApprovalInd indicator
    - ReferenceList/Product/PassengerFlight/FlightProduct/ticketDesignator (ticket designators are returned for NDC in FlightProduct/fareBasisCode by appending a slash (/) and the ticket designator after the fare basis code)
      - ReferenceListProduct/Product/FlightSegment/boundFlightsInd (in Next Leg Search)
      - ReferenceListTermsAndConditions/TermsAndConditions/TourCodes
      - PassengerFlight/FlightProduct/fareTypeCode
      - TicketingAgency
      - PricingAgency
      - TourCodes

 |  | GDS only
 |  |
| Behavior when upsells are not requested (maxNumberOfUpsellsToReturn)
 |  |  | For GDS, when maxNumberOfUpsellsToReturn is either not provided or is sent as *0*, the lowest priced offer is returned.
For NDC:
- When maxNumberOfUpsellsToReturn is not sent, the response returns the lowest priced offer of each available brand or cabin.
- When maxNumberOfUpsellsToReturn is sent as *0*, the response returns the lowest priced offer.

 |
| In PriceBreakdown:
- Discount

In PriceBreakdown/Amount/taxes:
- description

 | NDC only
 |  |  |
| The UpsellOffering object in the Search response is returned by default for NDC offers on United Airlines (UA) only when dynamic bundle fares (DBF) are available and NDC content has been requested. Not returned for other NDC carriers. | NDC only; United Airlines only |  |  |
| **AirPrice** |
| AirPrice full payload request
 |  |  | Supported for NDC on only specific carriers.
The AirPrice reference payload request is supported for GDS and all participating NDC carriers.
 |
| Upsells at AirPrice | NDC only |  | Upsells are supported in the AirPrice reference and full payload requests only for NDC, and only on specific carriers. |
| CustomerLoyalty object to send frequent traveler number | NDC only |  |  |
| The following objects in the AirPrice request:
- excludePenaltiesInd (turns off change and cancel penalties in the response; if not sent or sent with false, returned by default for GDS only)
- lowFareFinderInd (pricing flexibility around class of service)
- validateInventoryInd (check availability in requested class of service - NDC carriers already validate inventory at pricing.)
- TravelerGeographicLocation (local citizen fares)
- Fare calculation ladder (net fares - NDC does not support net fares)

 |  | GDS only
 |  |
| Pricing modifiers in the pricing request:
- SellCity and TicketCity
- TicketingPCC and PricingPCC
- FareSelection/fareType=NetFaresOnly value
- All FareSelectionDetail indicators: prohibitAdvancePurchaseFaresInd, prohibitMaxStayFaresInd, prohibitMinStayFaresInd, refundableOnlyInd
- TaxExemption
- accountCodeFaresOnlyInd
- ManualFareAdjustment

 |  | GDS only
 |  |
| In the AirPrice response:
- FlightProduct/faretypecode and ticketDesignator
- TicketingAgency
- PricingAgency

 |  | GDS only
 |  |
| **Ancillaries and EMDs**  |
| Support for specific ancillaries (e.g., paid bags, carbon offset) |  |  | Supported ancillaries differ for NDC and GDS, and by NDC carrier. See the support section of the [Ancillaries and EMDs Guide](/docs/flights/guides/seats-and-ancillaries/ancillaries-and-emd-guide). |
| Ancillary workflow support |  |  | Ancillaries can be shopped and booked at various points in the workflow. See the support section of the [Ancillaries and EMDs Guide](/docs/flights/guides/seats-and-ancillaries/ancillaries-and-emd-guide). |
| Ancillary price | NDC only |  |  |
| EMDs |  |  | For all GDS and some NDC carriers, you must commit the booking workbench to confirm the seat or ancillary, and then create a new workbench to send payment and issue the [EMD](/docs/flights/guides/seats-and-ancillaries/ancillaries-and-emd-guide). Payment and EMD in the same workbench as booking is supported only for specific NDC carriers. |
| In the Ancillary Shop response:
- Ancillary/BaggageType

In the Ancillary Shop response to normalize baggage data for GDS carriers with data returned in Travelport SOAP/XML API:
- TermsAndConditions:
  - fulfillmentType
  - associatedItem
  - Refundability
  - validatingAirline
- PriceBreakdown/inclusiveOfTaxInd
- PriceBreakdown/Commission/application
- PriceBreakdown/Description/issuanceReasonCode and /value

 |  | GDS only
 |  |
| In the Ancillary Shop and Price responses:
- Ancillary/Description/subgroup

 | NDC only
 |  |  |
| EMD refund & void |  | GDS only |  |
| Ancillary Cancel API |  |  | The Ancillary Cancel API supports canceling baggage and/or seats for both GDS and NDC, and canceling non-baggage paid ancillaries for NDC. Canceling non-baggage paid ancillaries for GDS is not supported. |
|  Seats *(also see [EMDs](#ancillaries-and-emds)* *above)*  |
| Seats support |  |  | Support varies for NDC and GDS, and by NDC carrier. See the support section of the [Seats Guide](/docs/flights/guides/seats-and-ancillaries/seats-guide). |
| Standalone Seat Map API (full payload seat map request) |  | GDS only |  |
| Seat map caching after Search and AirPrice requests |  |  | Seat map results are not cached outside a workbench for NDC, and the seat map request must be repeated during booking. See the support section of the [Seats Guide](/docs/flights/guides/seats-and-ancillaries/seats-guide). |
| Booking seats in multiple workbench sessions |  |  | For NDC you must select all seats in the same workbench session; you cannot make additional seat selections in a subsequent workbench session. |
| Seat Book response |  |  | GDS responses return an identifier for each booked seat and the corresponding seat details, including seat assignment. NDC seat book responses return only an identifier for each booked seat and no seat details. |
| Seat modify instead of cancel and rebook |  | GDS only |  |
| Seats bundled with airfares (UA dynamic bundled fares only); available for shop but not currently available for booking | NDC only; United Airlines only |  |  |
| **Fare Rules and Fare Display** |
| Fare Rules API |  |  | Fare rule support varies between GDS and NDC and by the type of fare rule. See the [Fare Rules Guide](/docs/flights/guides/fare-rules-guide). |
| Fare Display API |  | GDS only |  |
| **AirReservation**  |
| [Instant Pay workflow](/docs/flights/guides/booking-and-reservations/flights-booking-guide#ndc-instant-pay-workflow-book-and-ticket-in-same-workbench) (create reservation and issue the ticket in the same initial booking session) | NDC only |  |  |
| Add Offer request
 |  |  | All NDC carriers support the reference payload Add Offer request. The full payload Add Offer request is supported only on specific carriers.
GDS supports both the full and reference payload requests.
 |
| Add Offer request: OfferConstruction object to file separate filed fares per segment and/or passenger |  | GDS only | NDC does not support filed fares. |
| Multiple Add Offer reference payload requests to book multiple air offers on one booking |  | GDS only |  |
| All pricing modifiers in Add Offer request |  | GDS only |  |
| Send multiple Add Offer requests to combine multiple offers into one booking (multi-offer bookings) |  | GDS only |  |
| Add offer to reservation with expired booking
 |  |  | GDS uses the Add Offer request to renew an expired booking.
NDC uses the Reprice API to reprice a booking either before or after the price guarantee expires.
 |
| Add Traveler:
- Telephone/extension object
- TravelDocument/docType enum value *PassportCard*
- Comments object for traveler name remarks

 |  | GDS only
 |  |
| Add Form of Payment (FOP):
- Adding FOP when creating a held booking
- Non-standard credit cards FOP
- Agent invoice FOP
- Check FOP
- Pay in installments with credit card (ExtendedPayment object)
- Multiple FOP on one reservation

 |  | GDS only
 | NDC supports adding FOP only in the instant pay and ticketing [workflows](/docs/flights/workflows/booking-and-ticketing/all-book-and-ticketing-workflows). If FOP is sent for NDC during the workflow that creates a held booking, the FOP is not stored.
 |
| Add Form of Payment credit card CVV |  |  | Required for NDC, optional for GDS. |
| Delete Form of Payment and Update Form of Payment
 |  |  | Supported in the initial booking workflow for both GDS and NDC, where these requests delete or update an FOP added in the same booking workbench.
For an existing reservation, supported only for GDS.
 |
| In the workbench commit request, the two-step commit using the following optional indicators to trigger a two-step commit in certain scenarios:
- enableTwoStepCommitInd
- errorWhenScheduleChangesInd
- errorWhenOfferPriceChangesInd
- overrideMCTInd

In the workbench commit response:
- Returning a message in Result/Warning if the flight time or fare has changed since the offer was added.

 |  | GDS only
 |  |
| Sending the account code/corporate ID number in the workbench commit, if that code was sent as a pricing modifier in OrganizationInformation/OrganizationIdentifier in the Search request. | NDC only |  |  |
| Reservation Retrieve request:
- Retrieve reservation by ticket number (identifierType query parameter); for NDC, retrieve reservation by reservation locator code
- Request the return of brand attributes (viewBrandCompleteInfoInd)
- Request the return of additional baggage details (viewBaggageDetailInd)

 |  | GDS only
 |  |
| Reservation retrieve response:
- Fare rules
- Certain ticketing information including terms and conditions specific to ticketing, and ticketing time limits. NDC does not return the notificationDate object, which returns the ticketing time limit.
- subjectToGovernmentApprovalInd indicator
- secureFlightPassengerDataRequiredInd indicator
- Any travel agency details associated with the booking
- Retrieve itineraries with multiple air offers

 |  | GDS only
 | For NDC only, when an airline-initiated flight change has occurred, the Reservation Retrieve response returns the Offer object with @type OfferModify and scheduleChangeInd=true to indicate a change has occurred. See [NDC Flight Disruption Handing](/docs/flights/guides/booking-and-reservations/flights-booking-guide#ndc-flight-disruption-handling) in the Air Booking Guide for details.
 |
| Cancel options in Cancel Workbench Items |  |  | The Cancel Workbench Items API supports several cancel options for NDC bookings and offers in the initial booking workbench only, see the [Booking Guide](/docs/flights/guides/booking-and-reservations/flights-booking-guide) for details. Cancel Workbench Items cannot be used for an existing NDC booking: instead, use the NDC Reshop and Reprice APIs to modify the booking, or Cancel to cancel it. |
| Unpriced segments, pricing unpriced segments, removing filed fares from an offer, manual build for fares |  | GDS only | NDC carriers do not support this functionality. |
| [Shell bookings](/docs/flights/guides/booking-and-reservations/flights-booking-guide#create-shell-booking-in-case-of-booking-failure) (a reservation that does not have any air segments booked and contains only traveler details, created in certain cases when a booking fails and the autoDeleteDate query parameter has been set) |  | GDS only |  |
| Reservation cancel
 |  |  | Canceling a reservation for NDC requires a workbench session and a cancel request that sets the RetainFlag parameter to *false* to indicate the cancel operation.
Canceling a GDS reservation is a single request and does not use RetainFlag.
 |
| **Remarks & Service Requests**  |
| Specific remarks:
- Form of ID (FOID) SSR
- Child DOB (SSR CHLD)
- Document override remarks, including traveler-specific commission

 |  | GDS only
 | See the [Remarks and Service Requests Guide / API Reference for detailed remark/SSR support and carrier-specific details.](/docs/flights/guides/booking-and-reservations/remarks-and-service-requests)
 |
| [Add remarks by SSR code](/docs/flights/guides/booking-and-reservations/remarks-and-service-requests#add-ssrs-by-code) |  | GDS only |  |
| Additional request in the same workbench session to add or delete same type of remark
 |  |  | On an existing reservation, to send an additional request for the same type of item (such as deleting an SSR and adding a new SSR, or deleting two SSRs):
- For GDS you can make multiple adds or deletes in the same workbench session, but you must retrieve the workbench between each request.
- For NDC you can must commit the workbench before you can add or delete another of the same type of item.

 |
| **AirTicketing**  |
| Apply the balance on an unused ticket as form of payment to a separate booking | NDC only; limited carrier support |  |  |
| Display fees in the Workbench Commit response |  | GDS only |  |
| [Ticket Retrieve](#)
 |  |  | For GDS can retrieve details of all tickets associated with a record locator.
For NDC retrieves details for a single ticket at a time.
 |
| Ticket void, cancel, and refund
 |  |  | For NDC, use the same process to void a ticket or cancel and issue a refund, depending on whether the ticket is inside the allowable void period. See the [Exchange, Refund, and Void Guide](/docs/flights/guides/exchange-refund-and-void-guide).
For GDS, only ticket void is supported. Cancel/refund functionality is under development.
 |
| **Cancel Workbench Items, Air Modify, Exchanges, and Refunds** |
| Cancel workbench items |  |  | The Cancel workbench items API supports canceling selected items from the workbench for NDC only in the initial booking workbench. To modify or cancel a held booking (post-commit workbench), NDC uses the Cancel API while GDS uses the Cancel Workbench Items. |
| Air modify and exchanges
 |  |  | For NDC, use the NDC Exchange APIs (Reshop, Reprice, and Modify) to modify the air itinerary on either a held booking or a ticket.
For GDS, use the GDS Exchange APIs (Exchange Eligibility and Exchange Search) to exchange a GDS ticket. For a held booking, you cannot modify the air itinerary; you must cancel and rebook.
See the [Exchange, Refund, and Void Guide for both GDS and NDC processes](/docs/flights/guides/exchange-refund-and-void-guide).
 |
| [Refunds](/docs/flights/guides/exchange-refund-and-void-guide) | NDC only |  | See the [Exchange, Refund, and Void Guide](/docs/flights/guides/exchange-refund-and-void-guide). |