NDC Guide

This guide discusses what NDCClosed New Distribution Capability, an XML standard for exchanging data that supports airlines in distributing their content directly to online travel agencies. See the NDC Guide. is and basic differences in support or workflow for NDC and GDSClosed Global Distribution System. A GDS aggregates and distributes air, hotel, and car rental content such as schedules, fares, and upsells. In the JSON APIs, GDS content is distributed from Travelport. 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 carrierClosed An airline. and from Travelport to access NDC content, so NDC-specific parts of the help may not apply to your implementation of the JSON APIs.
For differences between GDS and NDC in the JSON APIs, see the support tables for seats, ancillaries, fare rules, and exchanges, and the NDC and GDS Functionality Comparison.
For differences within NDC by individual carriers, see NDC capabilities by airline through JSON API in the Travelport Knowledge Base. If you need login assistance, see Knowledge Base NDC Resources.

Related Content: JSON APIs Guide, NDC FAQs

In this topic:

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 JSON Air APIs support both NDC and GDS content, or simply NDC and GDS. These terms refer to the content distribution method:

Although most JSON 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 JSON 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.

General NDC & GDS Differences

NDC in the JSON APIs

In general, the JSON APIs handle NDC and GDS content in the same way. Most workflows, requests, and responses across the JSON 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 itineraryClosed The entire trip on a booking, including all flights on all legs. Also called a journey., including voids, exchanges, and refunds, are handled by separate JSON 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 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 JSON 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.

Identifying GDS/NDC Offers in the JSON APIs

The JSON APIs identify each offer as either GDS or NDC by returning the value GDS or NDC in the ContentSource object. The examples below show ContentSource as returned in the Reservation Retrieve response. ContentSource is returned in all reservation and ticketing APIs that return the offer on the booking. An upcoming release will add support for returning ContentSource in the Search and AirPrice API responses.

Although Offer/ContentSource provides the simplest way to identify GDS/NDC content, note that Offer/Identifier/authority returns the carrier code for NDC while the value Travelport is returned for GDS.

To request NDC content, in the initial search request, send contentSourceList with either only the value NDC, or both values NDC and GDS. If contentSourceList is not sent, only GDS content is returned.

General Support

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

NDC Item

Supported in the JSON APIs

IATA NDC schemas

17.2, 18.1, and 18.2

Itineraries supported

Single airline on a booking, multiple passengers

Payment

Generally cash, credit card, and banked funds; varies by carrier

Settlement

ARC and BSP

Travelport booking file

Passive segmentClosed A flight or flights under one flight number. One flight equals one segment. A segment could have multiple flights if the flight number remains the same, which happens if a flight makes a stop without changing planes. (ZK)

Mid and back office

MIR/TAIR (DI lines)

NDC for Apollo and Worldspan

Content for both NDC and GDS in the JSON 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.

Passive Booking Record (PNR)

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 PNRClosed Passenger Name Record. Unique six-digit alphanumeric number that identifies a booking, e.g. JS7GH4. Sometimes used to refer to the booking record itself. Because the term PNR is specific to GDS, this online help uses the more generic term "reservation locator".), Travelport maintains on its host system a passive booking record or passive PNR. This passive PNR generally mirrors the carrier PNR and allows the JSON APIs to return and store information about the booking. At applicable points in the booking workflow, the JSON APIs synchronize this passive booking record with the carrier's booking record.

A successful booking returns a unique six-digit alphanumeric number called the reservation locatorClosed Unique six-character alphanumeric code returned for a successful booking, e.g. JS7GH4. For NDC the airline returns an additional locator code, which can be called the vendor locator code. Sometimes called a PNR and used to refer to the booking record as a whole, but because the term PNR is specific to GDS, this online help uses the more generic terms "booking" for the booking record and "reservation locator" for the six-character code. 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.

Filed Fares

AirReservation applies the following handling to filed fares in the passive PNR:

  • 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 exchangeClosed Cancel or modify a ticketed itinerary and issue a new ticket. See the Cancel, Exchange, and Refund Options Guide. 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 JSON APIs but rather through agency-based software such as Smartpoint Cloud.

MIR (Machineable Interface Record)

AirReservation supports generating a MIR (machineable interface record) for ticket issuance, ticket exchanges, and ticket voids for NDC in the same format as for GDS ticket issuance, exchange, and voidClosed Voiding a ticket cancels the ticket and payment and is based on rules for the market in which the ticket was issued. Generally a ticket can be voided only the same day it was issued, usually up to midnight local agency time. See the Exchange, Refund, and Void Guide.. This ensures consistent mid- and back-office reporting and handling for NDC as well as GDS itineraries.

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

NDC Carrier Support

Because NDC content is created 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 JSON APIs, see the support tables for seats, ancillaries, fare rules, and exchanges. Also see the NDC and GDS Functionality Comparison Chart below.

Knowledge Base NDC Resources

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

KB0040467: NDC capabilities by airline through JSON API

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. In the Help and Resources menu at the top of the page, 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

The JSON APIs have been certified to provide NDC content from the carriers in the following table. The linked Knowledge Base articles provide carrier-specific differences.

NDC carrier Travelport Knowledge Base article

Air France/KLM (AF/KL)

NDC AF/KL - New Distribution Content for Air France & KLM

American Airlines (AA)

NDC AA - New Distribution Content for American Airlines

avianca (AV)

NDC AV - New Distribution Content Avianca Airlines

British Airways (BA)

NDC BA - New Distribution Content for British Airways

Emirates (EK)

NDC EK - New Distribution Content for Emirates

Iberia Air Lines (IB)

NDC IB - New Distribution Content for Iberia

Lufthansa Group (LHG)

NDC LHG - New Distribution Content for the Lufthansa Group

Malaysia Airlines (MH)

NDC MH - New Distribution Content Malaysia Airlines

Qantas (QF)

NDC QF - New Distribution Content for Qantas

Qatar Airways (QR)

NDC QR - New Distribution Content for Qatar Airlines

SAS (SK)

NDC SK - New Distribution Content for SAS Scandinavian Airlines

Singapore (SQ)

NDC SQ - New Distribution Content for Singapore Airlines

United (UA)

NDC UA - New Distribution Content for United Airlines

Finnair (AY)

NDC AY - New Distribution Content for Finnair

NDC Support by Country

NDC carrier content is available for booking through the JSON APIs in the countries listed below. Where NDC content is available, your Travelport account manager will ensure you have been enabled for the content. You may also need to register directly with the airline to gain access to the NDC content.

Country American Airlines (AA) Qantas Airways (QF) Singapore Airlines (SQ) Air France (AF) KLM (KL) United Airlines (UA) British Airways (BA) Lufthansa Group Iberia (IB) Emirates (EK) Qatar (QR) avianca (AV) SAS (SK) Malaysia Airlines
(MH)
Finnair (AY)
Afghanistan      

 

 

                   
Albania     Yes

 

 

  Yes       Yes   Yes   Yes

Andorra

Yes       Yes   Yes Yes Yes       Yes    

Angola

      Yes             Yes        
Antigua Yes    

 

 

Yes Yes Yes              
Argentina Yes    

Yes

Yes

  Yes   Yes   Yes Yes      
Aruba Yes    

Yes

Yes

Yes Yes Yes       Yes      
Australia Yes Yes Yes

Yes

Yes

  Yes Yes   Yes Yes Yes Yes Yes Yes
Austria Yes Yes  

Yes

Yes

Yes Yes

Yes

Yes   Yes Yes Yes   Yes
Azerbaijan

 

          Yes Yes     Yes        
Bahamas Yes    

 

 

Yes Yes                
Bahrain   Yes  

 

Yes

Yes Yes Yes     Yes   Yes*   Yes
Bangladesh     Yes

 

 

    Yes   Yes Yes     Yes  

Barbados

Yes         Yes   Yes              

Barbuda

          Yes Yes Yes              
Belarus     Yes

 

 

                   
Belgium Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes   Yes Yes Yes   Yes

Belize

          Yes   Yes              

Benin

      Yes Yes     Yes     Yes        

Bermuda

Yes         Yes Yes Yes     Yes        

Bolivia

Yes                     Yes      
Bonaire Yes    

Yes

Yes

    Yes              
Bosnia and Herzegovina     Yes

Yes

Yes

  Yes       Yes   Yes    
Botswana      

 

 

  Yes       Yes        
Brazil Yes    

Yes

Yes

  Yes   Yes   Yes Yes      

British Virgin Islands

Yes                            
Bulgaria     Yes

Yes

Yes

  Yes       Yes   Yes   Yes

Burkina Faso

      Yes Yes     Yes     Yes        
Cambodia (Vietnam)     Yes

 

 

          Yes     Yes Yes

Cameroon

      Yes Yes     Yes     Yes        
Canada Yes Yes  

 

 

Yes Yes Yes Yes*   Yes Yes Yes   Yes

Cayman Islands

Yes         Yes Yes Yes              

Chad

      Yes Yes     Yes     Yes        
Chile Yes Yes  

Yes

Yes

Yes Yes   Yes   Yes Yes     Yes
China Yes   Yes

Yes

Yes

  Yes   Yes   Yes     Yes Yes
Colombia Yes    

Yes

Yes

Yes   Yes Yes   Yes Yes      

Congo Brazza

      Yes Yes                    
Cook Islands Yes    

 

 

    Yes              

Costa Rica

Yes     Yes Yes Yes   Yes Yes     Yes      
Croatia Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes*   Yes   Yes   Yes
Curacao Yes    

Yes

Yes

    Yes       Yes      
Cyprus Yes   Yes

Yes

Yes

  Yes Yes     Yes   Yes   Yes
Czech Republic Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes   Yes   Yes   Yes
Denmark Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes   Yes Yes Yes   Yes

Dominica

Yes           Yes Yes              
Dominican Republic Yes    

 

 

Yes   Yes Yes     Yes      
Ecuador Yes

 

 

Yes

Yes Yes   Yes Yes     Yes*      
Egypt      

Yes

Yes

Yes Yes Yes Yes Yes Yes        

El Salvador

Yes         Yes   Yes Yes     Yes      
Estonia Yes   Yes

Yes

Yes

  Yes Yes     Yes Yes Yes   Yes

Ethiopia

              Yes   Yes Yes        
Fiji   Yes  

 

 

    Yes              
Finland Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes   Yes Yes Yes   Yes
France Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes   Yes

French Guiana

Yes     Yes Yes   Yes Yes         Yes    
French Polynesia   Yes  

Yes

Yes

Yes   Yes              

Gabon

      Yes Yes     Yes     Yes        

Georgia

      Yes Yes   Yes Yes     Yes        
Germany Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes   Yes
Ghana Yes Yes  

Yes

Yes

Yes Yes       Yes        

Gibraltar

Yes     Yes Yes   Yes Yes              
Greece Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes Yes Yes    

Greenland

Yes     Yes Yes   Yes Yes              

Grenada

Yes     Yes Yes   Yes Yes              
Guadeloupe Yes    

Yes

Yes

  Yes Yes       Yes Yes    
Guam    

 

    Yes                  
Guatemala Yes    

 

 

Yes   Yes Yes     Yes      
Guyana Yes    

 

 

  Yes                

Haiti

Yes         Yes                  

Honduras

Yes         Yes   Yes       Yes      
Hong Kong Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes Yes Yes   Yes
Hungary Yes Yes Yes

Yes

Yes

  Yes Yes Yes   Yes   Yes   Yes
Iceland     Yes

Yes

Yes

Yes Yes Yes         Yes   Yes
India Yes Yes Yes

Yes

Yes

  Yes Yes   Yes Yes     Yes Yes
Indonesia Yes Yes Yes

Yes

Yes

  Yes Yes   Yes Yes     Yes Yes
Ireland Yes Yes  

Yes

Yes

Yes Yes Yes Yes Yes Yes   Yes   Yes
Israel Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes   Yes Yes Yes   Yes
Italy Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes   Yes

Ivory Coast

      Yes Yes           Yes        

Jamaica

Yes         Yes Yes Yes              
Japan Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Jordan Yes Yes  

Yes

Yes

Yes Yes Yes   Yes Yes        

Kazakhstan

Yes     Yes Yes   Yes Yes     Yes   Yes*   Yes
Kenya Yes Yes  

Yes

Yes

  Yes     Yes Yes        

Kiribati

Yes             Yes              
Kuwait Yes Yes  

Yes

Yes

Yes Yes Yes   Yes Yes        

Kyrgyzstan

Yes                            
Latvia Yes   Yes

Yes

Yes

  Yes Yes     Yes Yes Yes   Yes
Lebanon   Yes  

Yes

Yes

    Yes     Yes        
Lesotho Yes Yes  

Yes

Yes

  Yes Yes              

Liechtenstein

Yes           Yes Yes              
Lithuania Yes   Yes

Yes

Yes

  Yes Yes     Yes Yes Yes   Yes
Luxembourg Yes Yes Yes

Yes

Yes

  Yes Yes Yes     Yes Yes    
Macao      

 

 

  Yes               Yes*
Macedonia     Yes

Yes

Yes

  Yes       Yes   Yes*   Yes
Malawi       Yes Yes  

Yes

Yes     Yes        
Malaysia Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes* Yes Yes
Maldives     Yes

 

 

                   

Mali

      Yes Yes           Yes        
Malta Yes Yes Yes

Yes

Yes

  Yes Yes         Yes    

Marshall Islands

                             
Martinique Yes  

 

Yes Yes   Yes Yes         Yes    

Mauritania

      Yes Yes           Yes        

Mauritius

      Yes Yes   Yes Yes     Yes        

Mayotte

Yes     Yes Yes   Yes Yes              
Mexico Yes Yes  

 

 

Yes Yes Yes Yes   Yes Yes*     Yes

Micronesia

          Yes                  
Moldova Yes   Yes

 

 

              Yes    
Monaco Yes    

Yes

Yes

  Yes Yes Yes     Yes Yes    
Mongolia      

 

 

          Yes        
Montenegro Yes Yes Yes

Yes

Yes

  Yes       Yes   Yes    

Montserrat

Yes             Yes              

Morocco

      Yes Yes   Yes   Yes   Yes   Yes    

Mozambique

                    Yes        
Myanmar (Thailand)     Yes

 

 

                Yes  
Namibia Yes Yes  

Yes

Yes

  Yes Yes     Yes   Yes    
Nepal Yes   Yes

 

 

          Yes     Yes  
Netherlands Yes Yes Yes

Yes

Yes

Yes Yes

Yes

Yes   Yes Yes Yes   Yes

New Caledonia

 

Yes

 

Yes

Yes

    Yes              
New Zealand Yes Yes Yes

Yes

Yes

  Yes Yes   Yes Yes Yes Yes Yes Yes

Nicaragua

Yes         Yes   Yes       Yes      

Niger

      Yes Yes           Yes        

Nigeria

      Yes Yes Yes Yes       Yes        

North Mariana Islands

          Yes                  
Norway Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes*   Yes Yes Yes   Yes
Oman Yes Yes  

Yes

Yes

  Yes Yes     Yes   Yes   Yes
Pakistan   Yes Yes

 

 

  Yes Yes   Yes Yes        

Palau

          Yes                  

Panama

Yes     Yes Yes Yes   Yes Yes     Yes      
Papua New Guinea   Yes  

 

 

    Yes              

Paraguay

      Yes   Yes     Yes*     Yes      
Peru Yes    

Yes

Yes

Yes   Yes Yes   Yes Yes      
Philippines Yes Yes Yes

Yes

Yes

  Yes       Yes   Yes* Yes Yes
Poland Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes   Yes
Portugal Yes Yes  

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes   Yes

Puerto Rico

          Yes     Yes     Yes Yes    
Qatar Yes Yes  

 

 

Yes Yes Yes     Yes     Yes Yes
Reunion Island Yes    

Yes

Yes

  Yes Yes         Yes    
Romania Yes   Yes

Yes

Yes

  Yes   Yes*   Yes   Yes   Yes
Russia     Yes

Yes

Yes

      Yes Yes Yes        

Rwanda

                    Yes        
Saba Yes    

 

 

    Yes              

Saint Barthelemy

Yes     Yes       Yes              

Saint Kitts and Nevis

Yes           Yes Yes              
Saint Lucia Yes    

 

 

  Yes Yes              
Saint Martin/ Sint Maarten Yes    

Yes

Yes

  Yes Yes              

Saint Pierre and Miquelon

Yes     Yes Yes     Yes              

Saint Vincent and the Grenadines

Yes           Yes Yes              
Samoa      

 

 

                   

San Marino

Yes     Yes Yes   Yes Yes Yes            
Saudi Arabia Yes Yes  

Yes

Yes

Yes Yes Yes   Yes Yes   Yes    

Senegal

      Yes Yes     Yes Yes   Yes        
Serbia Yes Yes Yes

Yes

Yes

  Yes           Yes   Yes
Singapore Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes Yes Yes
Sint Eustatius Yes    

 

 

    Yes              
Slovakia Yes Yes Yes

Yes

Yes

  Yes Yes Yes*   Yes   Yes   Yes
Slovenia Yes Yes  

Yes

Yes

  Yes   Yes*       Yes   Yes
South Africa Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes   Yes   Yes
South Korea Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes Yes Yes Yes Yes
Spain Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes Yes Yes   Yes
Sri Lanka (India) Yes Yes Yes

 

Yes

  Yes Yes     Yes     Yes  
Suriname   Yes  

Yes

Yes

          Yes        
Swaziland Yes Yes  

Yes

Yes

  Yes Yes     Yes        
Sweden Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes   Yes
Switzerland Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes   Yes
Taiwan Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes* Yes Yes
Tanzania

Yes

Yes   Yes Yes   Yes       Yes        
Thailand Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes* Yes Yes

Togo

      Yes       Yes     Yes        
Trinidad & Tobago Yes    

Yes

Yes

Yes Yes Yes       Yes      

Tunisia

      Yes Yes     Yes     Yes        
Turkey Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes   Yes

Turks and Caicos

Yes           Yes Yes              

Uganda

Yes     Yes Yes   Yes Yes     Yes        
Ukraine     Yes

Yes

Yes

  Yes Yes     Yes   Yes**    

United Arab Emirates

Yes

Yes

Yes

Yes

Yes

Yes Yes Yes   Yes Yes   Yes   Yes
United Kingdom Yes Yes Yes

Yes

Yes

Yes Yes

Yes

Yes Yes Yes Yes Yes Yes Yes
United States Yes Yes Yes

 

 

Yes Yes Yes Yes Yes Yes Yes Yes   Yes
Uruguay Yes    

Yes

 

Yes   Yes Yes     Yes      

Vatican

                Yes            
Venezuela      

 

 

    Yes              
Vietnam Yes Yes Yes

 

 

Yes   Yes     Yes     Yes Yes*
Zambia   Yes  

 

 

  Yes       Yes        

Zimbabwe

                    Yes        

NDC and GDS Functionality Comparison Chart

As the NDC technology continues to develop, the JSON APIs handle certain functionality differently between NDC and GDS:

  • Ticketing: In the GDS distribution channel, Travelport issues the ticket. For NDC, the airline itself issues the ticket and handles payment and any subsequent changes. The general JSON API booking workflow is the same for both GDS and NDC in the JSON APIs.

  • Changes to a booking: After booking, however, GDS and NDC use separate APIs and workflows for voids, exchanges, refunds, and certain modifications. This results from differences in how these processes are implemented by the NDC carriers.

  • Payment: Payment processes can differ between GDS and NDC, and for individual NDC carriers.

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.

For NDC / GDS support differences in the JSON APIs, see the support tables for seats, ancillaries, fare rules, and exchanges. Also see the NDC Carrier-Specific Notes above.
For differences within NDC between individual carriers, see the Travelport Knowledge Base article NDC capabilities by airline through JSON API. If you need login assistance, see Knowledge Base NDC Resources.

The following table outlines the functionality differences between NDC and GDS in the JSON APIs.

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 JSON APIs for more about identifiers across all JSON APIs.

Identifier values for short IDs

   

NDC and GDS use a different numbering scheme for short identifiers for offers, products, brands, etc., in which NDC incorporates the carrier code while GDS does not.

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.
  • These numbers for GDS would start with o0 and o1 for offers on all carriers and p0 and p1 for products on all carriers.

See Identifiers in the JSON APIs for more about identifiers across all JSON APIs.

Branded fares

   

Branded fares are returned for both NDC and GDS with the following minor differences:

Net fares net ticket data (NTD)Closed The information returned for a net fare. Can include details specific to the negotiated price and not shared with the public, such as commission, BT (base ticket), IT (inclusive tour), and value code. GDS only; NDC carriers do not generally offer net fares.

Several APIs return several objects with NTD for any fare with a private fareClosed Special air fares negotiated by agencies. Private fares may use account names, account codes, contract codes, or corporate IDs. component; however, NDC does not support net fares.

 

GDS only

 

AvailabilitySourceCode object (returned in ReferenceList/ReferenceListFlight to assist in troubleshooting)

 

GDS only

 

Search

Content Optimizer (formerly Search Control Console)

 

GDS only

 

Air Availability API

 

GDS only

 

Flight Specific Search (both reference and full payloadClosed In the JSON APIs, an API call that sends all details of the flight/s to be shopped, priced, added to the workbench, etc. instead of sending a reference to an offer in a previous API response.)

 

GDS only

Infants per adult passenger    

For NDC carriers, only 1 INF (infant in lap) is allowed per 1 adult PTCClosed Passenger Type Code, used to categorize travelers. The most common PTCs are adult (ADT), child (CNN), and infant (INF). You can request a maximum of 9 passengers in one Search request.. NDC content is not returned if there are more INF than adults.

The following objects in TravelerGeographicLocation, used to support local citizen fares:

  • residentGeographicCode

  • specialLargeFamilyResidentDiscountInd

  • generalLargeFamilyResidentDiscountInd

NDC only

 

 

The following optional indicators in the Search request:

  • excludePenaltiesInd

  • excludeSurchargesInd

  • excludeBaggageFeesInd

  • includeFareCalculationInd

  • excludeUnbundledFaresInd

  • accountCodeFaresOnlyInd

 

GDS only

 

The following pricing modifiers (PricingModifiersAir) in the Search request:

 

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:

 

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

In ProductBrandOffering:

  • Price (see note at right)

NDC only

 

As part of support for multi-cityClosed An itinerary that includes multiple destinations; e.g., LHR > CDG > AMS > BCN. offers with stopovers (GDS only), the ProductBrandOffering/Price object was removed from all GDS offers across all search responses. Price details for GDS are returned only in ProductBrandOffering/BestCombinablePrice.

NDC offers continue to return price details in both ProductBrandOffering/Price and ProductBrandOffering/BestCombinablePrice. A future deployment will remove ProductBrandOffering/Price from NDC offers.

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

 

 

The full payload request is supported for NDC only on specific carriers.

The AirPrice reference payload request is supported for all supported NDC carriers.

Upsells at AirPrice

NDC only

 

Upsells are supported only in the full payload request, only for specific NDC carriers, by sending MaxNumberOfUpsellsToReturn set to the number of upsells to return.

The following objects in the AirPrice request:

  • 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

 

Fare Display API

 

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.

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.

Ancillary price

NDC only

   

EMDs

 

 

Payments and EMDs for Seats and Ancillaries

Returned 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

 

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 above)

Seats support

   

Support varies for NDC and GDS, and by NDC carrier. See the support section of the 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.

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

   

Standalone Fare Rules

Fare rules

   

Fare rule support varies between GDS and NDC. See the Fare Rules Guide.

AirReservation

Instant Pay workflow (create reservation and issue the ticket in the same initial booking session)

NDC only

   

Add Product booking workflow (alternate workflow that skips the Search and AirPrice requests that usually initiate the JSON APIs workflow; includes the Add Product and Standalone Price requests)

 

GDS only

 

Add Offer request

 

 

NDC supports only the reference payload Add Offer request.

GDS supports both the full and reference payloadClosed In the JSON APIs, an API call that sends identifers referring to a previous response for the itinerary to be shopped, priced, added, etc. instead of full itinerary details. requests.

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

 

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. 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:

  • In the request, sending Notification/Date to update or delete the ticketing time limit date.

  • In the response, returning a notification message 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 modifierClosed A modifier that refines the API request based on fare and ticketing options and not the travel itself; sent in the PricingModifiersAir object. See the Air Shopping Guide for a list. 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.
  • Tax code description
  • subjectToGovernmentApprovalInd indicator
  • secureFlightPassengerDataRequiredInd indicator
  • Any travel agency details associated with the booking
  • Retrieve itineraries with multiple air offers

 

GDS only

 

Modify air itinerary on a held booking

NDC only

 

 

Shell bookings (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.

Send a single request to cancel a GDS reservation. 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.

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 display

   

To retrieve a GDS ticket use the Ticket Retrieve API.

To retrieve an NDC ticket use the NDC Ticket Retrieve API.

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.

For GDS, only ticket void is supported. Cancel/refund functionality is under development.

Air Modify, Exchanges, and Refunds

Air modify and exchanges

   

For NDC, use the NDC Exchange APIs (Reshop, Reprice, and Resell) 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.

Refunds

NDC only

 

See the Exchange, Refund, and Void Guide.