NDC Guide

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

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

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

Information about additional carriers will be provided here as they join.

Supported Forms of Payment

The forms of payment and credit card types accepted for NDC content varies by carrier. The tables below list the forms of payment and credit card types supported by each carrier.

Form of Payment Support by NDC Carrier

Carrier

Cash

Credit Card

Debit Card

QF

Yes

Yes

Yes

AA

Yes

Yes

Yes

UA

No

Yes

Yes (UA does not differentiate between credit and debit cards)

SQ

Yes

Yes

Yes

AF/KL

Yes

Yes

Yes

LHG

Yes

Yes

Yes

BA

Yes

Yes

Yes

QR

Yes

Yes

Yes

IB

Yes

Yes

Yes

AV

Yes

Yes

Yes (Visa and Mastercard)

Credit Card Type Support by NDC Carrier

Carrier

Visa

Mastercard

American Express

Diners Club

JCB

UATP

Discover Card

Universal Air Travel Card

QF

Yes

Yes

Yes

Yes

Yes

No

Yes

Yes

AA

Yes

Yes

Yes

Yes

Yes

No

Yes

No

UA

Yes

Yes

Yes (except CO)

Yes (except GB, SE, IN)

Yes (US & JP only)

Yes (US and others, limited)

Yes (US and others, limited)

No

SQ

Yes

Yes

Yes

Yes

Yes

No

No

No

AF/KL

Yes

Yes

Yes

Yes

Yes

Yes

No

No

LHG

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

BA

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

QR

Yes

Yes

Yes (credit card only, not debit)

No

No No No No

IB

Yes

Yes

Yes

Yes

Yes

No

Yes

No

AV

Yes

Yes

Yes

Yes

No

No

Yes

No

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

Carrier Specific Notes

The notes below list broad areas of support for each carrier. For detailed NDC carrier support, see the Travelport Knowledge Base NDC Resources.

See the Guide for each specific area of travel. Almost every Guide includes a support table that notes specific support for NDC and, if that functionality differs by carrier, by NDC carrier. For example, the Seats Guide has a Seats Support table, the Ancillaries Guide has an Ancillary Support table, and so on. Also see the NDC Modify, Exchange and Cancel Guide, as exchange support differs greatly by carrier.

Qantas

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.

United Airlines

UA returns baggage text in TermsAndConditionsAir/BaggageAllowance/BaggageItem.

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)

Singapore Airlines

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.

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

Avianca (AV)

Booking ancillaries is not supported for AV.

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

All other feature functionality matches what is available for Singapore (SQ).

Air France/KLM

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

Billing address is required with a debit/credit card form of payment.

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.

Lufthansa Group

Booking ancillaries is not supported for LHG.

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

British Airways

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

American Airlines

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.

Qatar Airways

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.

Iberia Air Lines

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

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

IB supports the Spanish Residency and Large Family discounts. You can search for these discounts and send traveler verification as follows:

  • Use TravelerGeographicLocation/residentGeographicCode in Search to search for the discounted fares.

  • Send TravelDocument/docType in Add Traveler for each traveler the discount applies to.

  • Send a notepad remark with the HR and/or HF remark for the discount.

When booking a Spanish residency fare, at workbench commit, IB validates the traveler verification details and AirReservation returns one of the following messages to indicate validity:

  • {traveler name} residence not verified. Present necessary documentation at the airport.

  • {traveler name} verified residence.

NDC Support by Country

NDC carrier content is available for booking through the JSON APIs in the countries listed below. NDC content is rolled out on a country basis, so check back if content of interest is not available.

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) NDC Qantas Airways (QF) NDC Singapore Airlines (SQ) NDC Air France (AF) NDC KLM (KL) NDC United Airlines (UA) British Airways (BA) NDC Lufthansa Group (LHG) NDC Iberia (IB) NDC Qatar (QR) NDC Avianca (AV) NDC
Afghanistan      

 

 

           
Albania     Yes

 

 

  Yes     Yes  

Andorra

Yes       Yes   Yes Yes Yes    

Angola

      Yes           Yes  
Antigua Yes    

 

 

Yes Yes        
Argentina Yes    

Yes

Yes

  Yes   Yes Yes  
Aruba Yes    

Yes

Yes

Yes Yes        
Australia Yes Yes Yes

Yes

Yes

  Yes     Yes  
Austria Yes Yes   Yes Yes Yes Yes Yes Yes Yes  

Azerbaijan

            Yes     Yes  
Bahamas Yes    

 

 

Yes Yes        
Bahrain   Yes  

 

Yes

Yes Yes Yes   Yes  
Bangladesh     Yes

 

 

        Yes  

Barbados

Yes         Yes Yes        

Barbuda

          Yes          
Belarus     Yes

 

 

           
Belgium Yes Yes Yes

Yes

Yes

Yes Yes   Yes Yes  

Belize

          Yes          

Benin

      Yes Yes         Yes  

Bermuda

Yes         Yes Yes     Yes  

Bolivia

Yes                    
Bonaire Yes    

Yes

Yes

           
Bosnia and Herzegovina     Yes

Yes

Yes

  Yes     Yes  
Botswana      

 

 

  Yes     Yes  
Brazil Yes    

Yes

Yes

  Yes   Yes Yes  

British Virgin Islands

Yes                    
Bulgaria     Yes

Yes

Yes

  Yes     Yes  

Burkina Faso

      Yes Yes         Yes  
Cambodia (Vietnam)     Yes

 

 

        Yes  

Cameroon

      Yes Yes         Yes  
Canada Yes Yes  

 

 

Yes Yes     Yes  

Cayman Islands

Yes         Yes Yes        

Chad

      Yes Yes         Yes  
Chile Yes Yes  

Yes

Yes

Yes Yes   Yes Yes  
China Yes   Yes

Yes

Yes

  Yes   Yes Yes  
Colombia Yes    

Yes

Yes

Yes     Yes Yes Yes

Congo Brazza

      Yes Yes            
Cook Islands Yes    

 

 

           

Costa Rica

Yes     Yes Yes Yes     Yes    
Croatia Yes Yes Yes

Yes

Yes

Yes Yes Yes   Yes  
Curacao Yes    

Yes

Yes

           
Cyprus Yes   Yes

Yes

Yes

  Yes Yes   Yes  
Czech Republic Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  
Denmark Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  

Dominica

Yes           Yes        
Dominican Republic Yes    

 

 

Yes     Yes    
Ecuador Yes    

 

 

Yes     Yes    
Egypt      

Yes

Yes

Yes Yes Yes Yes Yes  

El Salvador

Yes         Yes     Yes    
Estonia Yes   Yes

Yes

Yes

  Yes Yes   Yes  

Ethiopia

                  Yes  
Fiji   Yes  

 

 

           
Finland Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  
France Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  

French Guiana

Yes     Yes Yes   Yes Yes      
French Polynesia   Yes  

Yes

Yes

Yes          

Gabon

      Yes Yes         Yes  

Georgia

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

Greenland

Yes     Yes Yes   Yes Yes      

Grenada

Yes     Yes Yes   Yes Yes      
Guadeloupe Yes    

Yes

Yes

  Yes Yes      
Guatemala Yes    

 

 

Yes     Yes    
Guyana Yes    

 

 

  Yes        

Haiti

Yes         Yes          

Honduras

Yes         Yes          
Hong Kong Yes Yes Yes

Yes

Yes

  Yes     Yes  
Hungary Yes Yes Yes

Yes

Yes

  Yes Yes Yes Yes  
Iceland     Yes

Yes

Yes

Yes Yes        
India Yes Yes Yes

Yes

Yes

  Yes Yes   Yes  
Indonesia Yes Yes Yes

Yes

Yes

  Yes     Yes  
Ireland Yes Yes  

Yes

Yes

Yes Yes   Yes Yes  
Israel Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  
Italy Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  

Ivory Coast

      Yes Yes         Yes  

Jamaica

Yes         Yes Yes        
Japan Yes Yes Yes

Yes

Yes

  Yes   Yes Yes  
Jordan Yes Yes  

Yes

Yes

Yes Yes     Yes  

Kazakhstan

Yes     Yes Yes   Yes     Yes  
Kenya Yes Yes  

Yes

Yes

  Yes     Yes  

Kiribati

Yes                    
Kuwait Yes Yes  

Yes

Yes

Yes Yes     Yes  

Kyrgyzstan

Yes                    
Latvia Yes   Yes

Yes

Yes

  Yes Yes   Yes  
Lebanon   Yes  

Yes

Yes

        Yes  
Lesotho Yes Yes  

Yes

Yes

  Yes Yes      

Liechtenstein

Yes           Yes        
Lithuania Yes   Yes

Yes

Yes

  Yes Yes   Yes  
Luxembourg Yes Yes Yes

Yes

Yes

  Yes Yes Yes    
Macao      

 

 

  Yes        
Macedonia     Yes

Yes

Yes

  Yes     Yes  

Malawi

      Yes Yes   Yes Yes   Yes  
Malaysia Yes Yes Yes

Yes

Yes

  Yes     Yes  
Maldives     Yes

 

 

           

Mali

      Yes Yes         Yes  
Malta Yes Yes Yes

Yes

Yes

  Yes Yes      

Marshall Islands

                     
Martinique Yes  

 

Yes Yes   Yes Yes      

Mauritania

      Yes Yes         Yes  

Mauritius

          Yes       Yes  

Mayotte

Yes     Yes Yes   Yes Yes      
Mexico Yes Yes  

 

 

Yes Yes   Yes Yes  

Micronesia

                     
Moldova Yes   Yes

 

 

           
Monaco Yes    

Yes

Yes

  Yes Yes Yes    
Mongolia      

 

 

        Yes  
Montenegro Yes Yes Yes

Yes

Yes

  Yes     Yes  

Montserrat

Yes                    

Morocco

      Yes Yes   Yes   Yes Yes  

Mozambique

                  Yes  
Myanmar (Thailand)     Yes

 

 

           
Namibia Yes Yes  

Yes

Yes

  Yes Yes   Yes  
Nepal Yes   Yes

 

 

        Yes  
Netherlands Yes Yes Yes

Yes

Yes

Yes Yes

Yes

Yes Yes  

New Caledonia

 

Yes

 

Yes

Yes

           
New Zealand Yes Yes Yes

Yes

Yes

  Yes     Yes  

Nicaragua

Yes         Yes          

Niger

      Yes Yes         Yes  

Nigeria

      Yes Yes Yes Yes     Yes  

Northern Mariana Islands

          Yes          
Norway Yes Yes Yes

Yes

Yes

Yes Yes Yes   Yes  
Oman Yes Yes  

Yes

Yes

  Yes     Yes  
Pakistan   Yes Yes

 

 

  Yes     Yes  

Palau

                     

Panama

Yes     Yes Yes Yes     Yes    
Papua New Guinea   Yes  

 

 

           

Paraguay

          Yes          
Peru Yes    

Yes

Yes

Yes     Yes Yes  
Philippines Yes Yes Yes

Yes

Yes

  Yes     Yes  
Poland Yes Yes Yes

Yes

Yes

Yes Yes Yes   Yes  
Portugal Yes Yes  

Yes

Yes

Yes Yes Yes Yes Yes  

Puerto Rico

          Yes     Yes    
Qatar Yes Yes  

 

 

Yes Yes     Yes  
Reunion Island Yes    

Yes

Yes

  Yes Yes      
Romania Yes   Yes

Yes

Yes

  Yes     Yes  
Russia     Yes

Yes

Yes

      Yes Yes  

Rwanda

                  Yes  
Saba Yes    

 

 

           

Saint Barthelemy

Yes     Yes              
Saint Eustatius Yes    

 

 

           

Saint Kitts and Nevis

Yes           Yes        
Saint Lucia Yes    

 

 

  Yes        
Saint Martin/ Sint Maarten Yes    

Yes

Yes

  Yes Yes      

Saint Pierre and Miquelon

Yes                    

Saint Vincent and the Grenadines

Yes           Yes        
Samoa      

 

 

           

San Marino

Yes     Yes Yes   Yes Yes Yes    
Saudi Arabia Yes Yes  

Yes

Yes

Yes Yes Yes   Yes  

Senegal

      Yes Yes       Yes Yes  
Serbia Yes Yes Yes

Yes

Yes

  Yes        
Singapore Yes Yes Yes

Yes

Yes

  Yes     Yes  
Slovakia Yes Yes Yes

Yes

Yes

  Yes Yes   Yes  
Slovenia Yes Yes  

Yes

Yes

  Yes        
South Africa Yes Yes Yes

Yes

Yes

Yes Yes Yes Yes Yes  
South Korea Yes Yes Yes

Yes

Yes

  Yes     Yes  
Spain Yes Yes Yes

Yes

Yes

Yes Yes Yes   Yes  
Sri Lanka (India) 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  
Switzerland Yes Yes Yes

Yes

Yes

Yes Yes   Yes Yes  
Taiwan Yes Yes Yes

Yes

Yes

  Yes     Yes  
Tanzania

Yes

Yes   Yes Yes   Yes     Yes  
Thailand Yes Yes Yes

Yes

Yes

  Yes     Yes  

Togo

      Yes           Yes  
Trinidad & Tobago Yes    

 

 

Yes Yes        

Tunisia

      Yes Yes         Yes  
Turkey Yes Yes Yes

Yes

Yes

Yes Yes     Yes  

Turks and Caicos

Yes           Yes        

Uganda

Yes     Yes Yes   Yes     Yes  
Ukraine     Yes

Yes

Yes

  Yes Yes   Yes  

United Arab Emirates

Yes

Yes

Yes

Yes

Yes

Yes Yes Yes   Yes  
United Kingdom Yes Yes Yes

Yes

Yes

Yes Yes

Yes

  Yes Yes
USA Yes Yes Yes

 

 

Yes Yes   Yes Yes Yes
Uruguay Yes    

 

 

Yes     Yes    

Vatican

                Yes    
Venezuela      

 

 

           
Vietnam Yes Yes Yes

 

 

        Yes  
Zambia   Yes  

 

 

  Yes     Yes  

Zimbabwe

                  Yes  

Filed Fares, Passive Booking Record, and MIR

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

With AirReservation 23.11.34 and later, the following handling is applied 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.)

MIR (Management Information Report)

In addition, AirReservation 23.11.34 added support to generate a MIR (management information report) for ticket issuance, ticket exchanges, and ticket voids for NDC in the same format as currently exists for GDS ticket issuance, exchange, and void. This ensures consistent mid- and back-office reporting and handling for NDC as well as GDS itineraries.

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

Knowledge Base NDC Resources

NDC functionality varies by carrier. Refer to the Knowledge Base article NDC Capabilities by Airline for a list of features available for each NDC airline and links to carrier-specific pages. You must be logged into the customer portal to view articles.

If you are not logged in:

  1. Log into https://my.travelport.com.

  2. In the menu bar at the top of the page, select Knowledge.

  3. Enter the search term NDC Capabilities in the search bar at the top of the page.

NDC and GDS Functionality Comparison Chart

Travelport is an active participant in NDC while still providing a single, consistent workflow for searching, booking, and managing travel. As the NDC technology continues to develop, the JSON APIs handle certain functionality differently between NDC and GDS.

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. Although the general JSON API booking workflow is the same for both GDS and NDC, voids, exchanges, refunds, and certain modifications are handled by separate JSON APIs and use different workflows. This results from differences in how these processes are implemented by the NDC carriers. Seats, ancillaries, and EMD payment processes can also differ for NDC and for individual NDC carriers.

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 with differences noted where applicable. General differences are noted in guides, while object-level differences are noted in the API reference for each API.

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

API and Functionality

NDC Only

GDS Only

Supported for both with differences

General

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

 

Errors and warnings

   

NDC warning and error messages include the carrier code.

Enhanced error handling for NDC is under development; error messages may differ from GDS errors.

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)
  • Search by departure time range (DepartureTimeRange)
  • 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)

 

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

  • OrganizationInformation/OrganizationIdentifier/organizationCodeType with the value OrganizationLoyaltyProgram (used for sending an NDC corporate ID)

NDC 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

   

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)

 

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)
  • PassengerFlight/FlightProduct/fareTypeCode
  • ReferenceList/TermsAndConditions/TourCodes
  • TicketingAgency
  • PricingAgency
 

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

    While AirPrice is generally an optional but recommended step, it is required for some NDC carriers.

    Only the reference payload AirPrice request is supported for NDC.

    GDS supports both the full and reference payload requests.

    Pricing modifiers in the pricing request:

    • SellCity )

    • TicketingPCC and PricingPCC

    • FareSelection/fareType=NetFaresOnly value

    • All FareSelectionDetail indicators: prohibitAdvancePurchaseFaresInd, prohibitMaxStayFaresInd, prohibitMinStayFaresInd, refundableOnlyInd

    • TaxExemption

    • accountCodeFaresOnlyInd

  •  

    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

     

    Seats

    Seats support in the search and booking workflows

       

    Support varies for NDC and GDS, and by NDC carrier.

    See the support section of the Seats Guide.

    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.

    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

     

     

    Only the reference payload Add Offer request is supported for NDC.

    GDS supports both the full and reference payload requests.

    All pricing modifiers in Add Offer request

     

    GDS only

     

    Add offer to reservation with expired booking

     

    GDS only

     

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

    • TravelDocument/docType enum value NationalIdentityDocument (used for Spanish residency and large family discount fares for NDC)

    NDC only; carrier IB only

     

     

    Host Profile Move API

     

     

    GDS only

     

    Add Form of Payment (FOP):

    • Adding FOP during hold and pay (NDC supports FOP only in the instant pay and ticketing flows)

    • Non-standard credit cards FOP

    • Cash FOP

    • Agent invoice FOP

    • 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

     

    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:

    • Minimum secure flight SSR
    • 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 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.