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 this and other NDC-specific details in the help may not apply to your implementation of the JSON APIs.
For differences in support between GDS and NDC in the JSON APIs, see the support tables for seats, ancillaries, fare rules, and exchanges. Also see the NDC Carrier-Specific Notes and the NDC and GDS Functionality Comparison Chart.
For carrier-specific NDC differences, see NDC capabilities by airline through JSON API in the Travelport Knowledge Base. If you need login assistance, see Knowledge Base NDC Resources.

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:

  • 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 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 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 JSON APIs, see 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). Note that per FAQs and Best Practices, Travelport retains a search in cache for 12 minutes so it can be added as an offer to the workbench. A workbench is valid for 30 minutes and must be committed within that time window or it expires.
  • 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 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 the air itinerary, and 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.

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

Cash, credit card, and banked funds (see Supported Forms of Payment below)

Settlement

ARC and BSP

Travelport booking file

Passive segment (ZK)

Mid and back office

MIR/TAIR (DI lines)

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.

Participating Carriers

The JSON APIs have been certified to provide NDC content from the following carriers:

  • Qantas (QF)
  • United Airlines (UA)
  • American Airlines (AA)
  • Singapore Airlines (SQ)
  • Air France (AF)
  • KLM (KL)
  • Lufthansa Group (LHG), includes the carriers Lufthansa (LH), Austrian (OS), Brussels (SN), and Swiss (LX)
  • British Airways (BA)
  • Qatar Airways (QR)
  • Iberia Air Lines (IB)
  • avianca (AV), includes the carriers Avianca Ecuador (2K), Avianca Costa Rica (LR), Avianca El Salvador and Avianca Guatemala (TA)
  • Emirates (EK)
  • Malaysia Airlines (MH)
  • Scandinavian Airlines System/SAS (SK)

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

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 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 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 void. 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-Specific Differences

The notes below provide basic carrier differences from general support, ordered alphabetically by carrier full name. 

For a complete list of carrier-specific differences, see the Travelport Knowledge Base article linked for each carrier below.

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.

Air France/KLM (AF)

Booking ancillaries or seats is not supported for AF/KLM.

In an exchange or modification, the Reshop request supports does not support any search modifiers for AF/KLM.

Some private fare support must be requested using special PTCs (passenger type codes):

  • For VFR (visit friends and relatives) Private Fares, the fare request in the UK market must use PTC JCB (ADT), JNN (CHD), or JNF (INF).

  • For Tour Operators, the supported passenger types are IIT, INN, and ITF.

For AF NDC details, see the Travelport Knowledge Base article NDC AF/KL - New Distribution Content for Air France & KLM.

American Airlines (AA)

In an exchange or modification, the Reshop request supports only the cabin class and fare type search modifiers for AA.

Applying an unused ticket as FOP is supported only on AA NDC.

For Ancillary EMDs:

  • For carbon offset ancillary, payment is optional; can book and hold or pay at booking.

  • A carbon offset ancillary can be added to a held booking, but not a ticketed booking.

  • AA does not issue an EMD for a carbon offset ancillary. A confirmation email is generated from an external service vendor.

  • The carbon offset ancillary is charged for all passengers/segments in the booking. Applies to full itinerary.

For AA NDC details, see the Travelport Knowledge Base article NDC AA - New Distribution Content for American Airlines.

avianca (AV)

Booking ancillaries is not supported for avianca.

AV supports the following PTCs: ADT, CHD, CNN, INF, INS, SRC and STR (STR is available only in Columbian markets ADZ and LET using a Columbian PCC).

All other feature functionality and business rules matches Singapore (SQ) per below.

For AV NDC details, see the Travelport Knowledge Base article NDC AV - New Distribution Content Avianca Airlines.

British Airways (BA)

Booking ancillaries is not supported for BA.

BA does not guarantee the price of a held booking. When ticketing a held booking, if the price has changed, the JSON APIs return the error message ERROR AT ISSUANCE TIME: TST EXPIRED - OVERRIDE OR DELETE AND REPRICE Code = \"376\". In this case, you must use the Reprice and Resell APIs (see the NDC Modify, Exchange and Cancel Guide) and send payment to complete ticketing.

For BA, if you modify a ticketed booking, payment and ticketing is required for that modification.

BA requires a billing address for credit card form of payment.

BA does not support a modification that adds new air segments.

In an exchange or modification, the Reshop request supports does not support any search modifiers for BA.

BA does not support adding a known traveler number to an existing reservation, only in the Add Traveler step of the initial booking workflow.

For BA NDC details, see the Travelport Knowledge Base article NDC BA - New Distribution Content for British Airways.

Emirates (EK)

Booking ancillaries or seats is supported for Emirates only for an existing reservation, not in the initial booking workflow.

Exchanges:

  • Up to three ticket exchanges allowed.

  • Payment is not required when making changes t the air itinerary (book and hold supported).

For EK NDC details, see the Travelport Knowledge Base article NDC EK - New Distribution Content for Emirates.

Iberia Air Lines (IB)

IB supports only ADT, CHD, and INF passenger types.

IB supports the Spanish Residency and Large Family discounts requested in TravelerGeographicLocation per the Search API Reference.

Iberia requires payment when booking paid seats or ancillaries; only the Instant Pay booking workflow is supported, not book and hold.

For IB NDC details, see the Travelport Knowledge Base article NDC IB - New Distribution Content for Iberia.

Lufthansa Group (LHG)

Booking ancillaries is not supported for LHG. Booking seats is supported only for an existing reservation, not during the initial booking workflow.

In an exchange or modification, the Reshop request supports does not support any search modifiers for LHG.

For LHG NDC details, see the Travelport Knowledge Base article NDC LHG - New Distribution Content for the Lufthansa Group.

Malaysia Airlines (MH)

Booking ancillaries is not supported for MH.

Malaysia supports only cash as form of payment.

MH supports ADT, CHD, CNN, INF, INS, SRC passenger types.

MH does not support open-jaw searches; only one-way, round-trip and connecting multi-city flights.

All other feature functionality and business rules matches Singapore (SQ) per below.

For MH NDC details, see the Travelport Knowledge Base article NDC MH - New Distribution Content Malaysia Airlines.

Qantas (QF)

When running a multiple passenger search, Qantas supports only these PTCs: ADT, CHD, CNN, INF. Sending any other PTC may result in an error at ticketing.

Qantas supports only one account code. If multiple codes are sent, only the first code is processed.

In an exchange or modification, the Reshop request supports only the cabin class and fare type search modifiers for QF.

The Cancel Payment API to void an NDC ticket and payment but retain segments is supported only for QF.

For QF NDC details, see the Travelport Knowledge Base article NDC QF - New Distribution Content for Qantas.

Qatar Airways (QR)

Booking ancillaries or seats is not supported for Qatar.

QR supports only ADT, CHD, and INF passenger types.

QR does not allow changes to passenger information.

QR does not allow search modifiers other than cabin class.

QR does not return Brand information.

QR does not support special service requests.

Exchanges:

  • Payment required when making changes to a ticketed booking. You cannot hold the modified itinerary.

  • Does not support modification of connecting flights.

  • Only one ticket exchange is allowed.

For QR NDC details, see the Travelport Knowledge Base article NDC QR - New Distribution Content for Qatar Airlines.

SAS (SK)

SAS is an abbreviation of the company’s full name, Scandinavian Airlines System.

Booking ancillaries is not supported for SK.

SK supports only cash as form of payment.

SK supports ADT, CHD, YTH, INF, SEA, ITX, LBR passenger types.

All other feature functionality and business rules matches Singapore (SQ) per below.

For SK NDC details, see the Travelport Knowledge Base article NDC SK - New Distribution Content for SAS Scandinavian Airlines.

Singapore Airlines (SQ)

Singapore Airlines returns tax codes but not tax descriptions in responses.

OB fees are added to the total fare only if a credit card BIN number is provided in the AirPrice request. If this is not done, and a credit card is then used to ticket the booking which had been held without an FOP or with a FOP different from the one subsequently used to ticket, then ticketing will fail due to price mismatch. Support will be added in a future release to support this workflow and ensure the ticketing does not fail.

Singapore Airlines charges OB fees when a credit card is used as a Form of Payment in the following point-of-sale countries: United Kingdom, Netherlands, Australia, New Zealand, and Belgium. For these countries, OB fees are charged when provided with BIN number at the time of Price. OB fees are added to the offer price when the booking is created.

Ancillary EMDs: For paid baggage only, must book and hold first, then pay later. For other ancillaries, payment can be made in the initial ancillary booking session or in a subsequent session.

In an exchange or modification, the Reshop request supports only the cabin class search modifier for SQ.

For SQ NDC details, see the Travelport Knowledge Base article NDC SQ - New Distribution Content for Singapore Airlines.

United Airlines (UA)

UA returns baggage text in TermsAndConditionsAir/BaggageAllowance/BaggageItem.

Ancillary EMDs: Payment must be included in the ancillary booking session for all ancillaries; hold and pay later is not supported.

In an exchange or modification, the Reshop request supports only the cabin class and fare type search modifiers for UA.

  • Cabin class (SQ, AA, UA and QF)
  • Fare type (AA, UA and QF)
For UA NDC details, see the Travelport Knowledge Base article NDC UA - New Distribution Content for United Airlines.

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

 

 

                 
Albania     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
Austria 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*  
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  

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  

Burkina Faso

      Yes Yes     Yes     Yes      
Cambodia (Vietnam)     Yes

 

 

          Yes     Yes

Cameroon

      Yes Yes     Yes     Yes      
Canada 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    
China 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  
Curacao Yes    

Yes

Yes

    Yes       Yes    
Cyprus Yes   Yes

Yes

Yes

  Yes Yes     Yes   Yes  
Czech Republic Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes   Yes   Yes  
Denmark 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  

Ethiopia

              Yes   Yes Yes      
Fiji   Yes  

 

 

    Yes            
Finland 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  

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  
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  
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  
Hungary Yes Yes Yes

Yes

Yes

  Yes Yes Yes   Yes   Yes  
Iceland     Yes

Yes

Yes

Yes Yes Yes         Yes  
India Yes Yes Yes

Yes

Yes

  Yes Yes   Yes Yes     Yes
Indonesia Yes Yes Yes

Yes

Yes

  Yes Yes   Yes Yes     Yes
Ireland Yes Yes  

Yes

Yes

Yes Yes Yes Yes Yes Yes   Yes  
Israel 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  

Ivory Coast

      Yes Yes           Yes      

Jamaica

Yes         Yes Yes Yes            
Japan 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*  
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  
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  
Luxembourg Yes Yes Yes

Yes

Yes

  Yes Yes Yes     Yes Yes  
Macao      

 

 

  Yes              
Macedonia     Yes

Yes

Yes

  Yes       Yes   Yes*  
Malawi       Yes Yes  

Yes

Yes     Yes      
Malaysia 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*    

Micronesia

                           
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  

New Caledonia

 

Yes

 

Yes

Yes

    Yes            
New Zealand 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  
Oman Yes Yes  

Yes

Yes

  Yes Yes     Yes   Yes  
Pakistan   Yes Yes

 

 

  Yes Yes   Yes Yes      

Palau

                           

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
Poland Yes Yes Yes

Yes

Yes

Yes Yes Yes     Yes   Yes  
Portugal 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
Reunion Island Yes    

Yes

Yes

  Yes Yes         Yes  
Romania 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  
Singapore 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  
Slovenia Yes Yes  

Yes

Yes

  Yes   Yes*       Yes  
South Africa 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
Spain 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  
Switzerland Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes Yes Yes Yes  
Taiwan 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

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  

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  
United Kingdom 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  
Uruguay Yes    

Yes

 

Yes   Yes Yes     Yes    

Vatican

                Yes          
Venezuela      

 

 

    Yes            
Vietnam 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:

  • NDC does not return the brand tier.

Net fares net ticket data (NTD)

Several APIs return several objects with NTD for any fare with a private fare component; however, NDC does not support net fares.

 

GDS only

 

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

 

GDS only

Returned in the Search, AirPrice, and AirReservation commit responses for GDS only.

Search

Content Optimizer (formerly Search Control Console)

 

GDS only

 

Air Availability API

 

GDS only

 

Flight Specific Search (both reference and full payload)

 

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.

TravelerGeographicLocation objects residentGeographicCode, specialLargeFamilyResidentDiscountInd, and generalLargeFamilyResidentDiscountInd

NDC only; required to support local citizen fares

 

 

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:

  • 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)
  • Whether to return CAT16 change and cancel penalties (excludePenaltiesInd)
  • 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)

 

GDS 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 pricing modifiers (PricingModifiersAir) in the Search request:

  • PromotionalCode

NDC only

   

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)
  • Exclude ground transportation (excludeGround)
  • Maximum connection duration (MaxConnectionDuration)
  • Maximum overnight time (MaxOvernightDuration)
  • Preferences for connecting location (ConnectionPreferences)
  • 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 maxNumberOfUpsellsToReturn not requested or set to 0

   
  • 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 the Search response, the following objects are returned only for NDC:

    In PriceDetail:

    • currencyCode
    • PriceBreakdownAir/Amount/currencyCode
    • PriceBreakdownAir/Amount/Taxes/Tax/description

    In PriceBreakdown:

    • Discount

    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

     

     

    The full payload request is supported for NDC only on carriers AA, UA, QF.

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

    Upsells in the AirPrice full payload request

    NDC only

     

    Both the full and reference payload AirPrice responses return pricing specific only to the class of booking in the request; i.e., pricing of one single offer. The exception is that when available, for NDC carrier AA only, the full payload AirPrice response returns upsell offers along with pricing for the requested class, in ascending price order.

    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 )

    • 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

    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    

    Both NDC and GDS ancillaries can be added to an existing reservation.

    At this time, only NDC ancillaries can be added during the initial booking session.

    See the Ancillaries and EMDs Guide.

    Ancillary price

    NDC only

       

    EMD refund & void

     

    GDS only

     

    Cancel ancillary bags

     

    GDS only

     

    Seats

    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. 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 payload 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 Standalone 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 BOOK .35 < some discussion on the endless email thread that this isn't supported for NDC yet but is coming in PI 29 and in the meantime Comments are added to the passive reservation - so does that mean it is/isn't supported for NDC? - just leaving it for now

     

    GDS only

     

    Add Form of Payment (FOP):

    • Adding FOP when creating a held booking (NDC supports FOP only in the instant pay and ticketing flows; if FOP is sent during the hold and pay workflow it is not stored)

    • Non-standard credit cards FOP

    • Agent invoice FOP

    • Pay in installments with credit card (ExtendedPayment object)

    • Multiple FOP on one reservation

     

    GDS only

     

    Add Form of Payment credit card CVV

     

     

    Required for NDC, optional 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 modifier in OrganizationInformation/OrganizationIdentifier in the Search request.

    NDC only

       

    Reservation Retrieve request:

    • Request reservation details by ticket number with identifierType parameter (only the retrieve by reservation locator is supported for NDC)

    • 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 reservation

    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 for in the same workbench session, but you must retrieve the workbench between each request.

    • For NDC you can add or delete only one of the same type of item per workbench commit.

    AirTicketing

    Apply the balance on an unused ticket as form of payment to a separate booking

    NDC only; AA only

       

    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.

    For GDS, at this time only ticket void is supported for GDS. Cancel/refund functionality for GDS is under development.

    Air Modify, Exchanges, and Refunds

    Air modify and exchanges

       

    Use the NDC-specific APIs to modify the air itinerary on an NDC reservation or ticket. See the NDC Modify, Cancel, and Exchange Guide.

    Use the GDS Exchange APIs (Exchange Eligibility, Search, and Ticketing) to exchange a GDS ticket. Modifying the air itinerary for a GDS reservation is not supported; you must cancel and rebook.

    Refunds

    NDC only

      See the NDC Modify, Cancel, and Exchange Guide.