Getting Started
This part will focus on NDC 21.3.
Table of contents
- Current available web operations
- Endpoints
- Postman Collection
- Shopping flow
- Servicing flows
- Error management
- All samples
WSDL and XSD files can be downloaded directly here.
Current available web operations
- login → get an access token
- airShopping → search flights
- serviceList → get ancillaries
- seatAvailability → get seat map
- offerPrice → quote an offer selection
- orderCreate → make a booking
- orderRetrieve → get a booking
- orderChange → issue tickets
- orderReshop → get cancel fee
Endpoints
Depending on your preferences, the NDC API can be consumed as SOAP WS or REST WS. In both cases, the Content-Type header must be text/xml;charset=UTF-8
Also, in both cases, the Accept-Encoding header with gzip value should be sent to enable GZIP compression to reduce response size and optimize transmission.
SOAP endpoint
Note: NDC messages are contained in SOAP envelope for request and response. Control header must be defined in the SOAP header as XML element.
- https://________/ndc/ws/soap/21.3/OrchestraNDCService
SOAP request sample
POST https://.../ndc/ws/soap/21.3/OrchestraNDCService HTTP/1.1 Content-Type: text/xml;charset=UTF-8 SOAPAction: "http://www.travelsoft.fr/orchestra/ndc/21.3/airShopping" AuthToken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:head="http://www.travelsoft.fr/orchestra/ndc/headers">
<head:Control Provider="SWITCHALLINONE" />
</soapenv:Header>
<soapenv:Body>
<IATA_AirShoppingRQ xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage" xmlns:ns2="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
...
</IATA_AirShoppingRQ>
</soapenv:Body>
</soapenv:Envelope>SOAP response sample
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:IATA_AirShoppingRS xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes" xmlns:ns2="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
...
</ns2:IATA_AirShoppingRS>
</S:Body>
</S:Envelope>REST endpoints
Note: NDC messages can be sent directly (without envelope, not like SOAP endpoint). Control header must be defined in the HTTP headers (Orx-Control-Provider, Orx-Control-ApiVersion, Orx-Control-EnvironmentTarget, etc).
- https://________/ndc/ws/rest/21.3/Login
- https://________/ndc/ws/rest/21.3/AirShopping
- https://________/ndc/ws/rest/21.3/ServiceList
- https://________/ndc/ws/rest/21.3/SeatAvailability
- https://________/ndc/ws/rest/21.3/OfferPrice
- https://________/ndc/ws/rest/21.3/OrderCreate
- https://________/ndc/ws/rest/21.3/OrderRetrieve
- https://________/ndc/ws/rest/21.3/OrderReshop
- https://________/ndc/ws/rest/21.3/OrderChange
REST request sample
POST https://.../ndc/ws/rest/21.3/AirShopping HTTP/1.1 Content-Type: text/xml;charset=UTF-8 Orx-Control-Provider: SWITCHALLINONE AuthToken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<?xml version='1.0' encoding='UTF-8'?>
<IATA_AirShoppingRQ xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage" xmlns:ns2="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
...
</IATA_AirShoppingRQ>REST response sample
<?xml version='1.0' encoding='UTF-8'?>
<ns2:IATA_AirShoppingRS xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes" xmlns:ns2="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
...
</ns2:IATA_AirShoppingRS>Postman Collection
You can dowload the postman collection to test during your integration.
Shopping flow
airShopping (→ offerPrice) → serviceList → seatAvailability → offerPrice → orderCreate
Note: the airShopping transaction initiates a session which is maintained on Travelsoft side by using the ShoppingResponseID as session ID.

Servicing flows
- Get order data for refresh:

- Ticket issue:

- Cancellation:

Error management
Always in NDC responses (see an example below), except if the request is malformed, a SOAP fault will be returned.
AirShoppingRS - Error Example
<ns2:IATA_AirShoppingRS xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes" xmlns:ns2="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
<ns2:Error>
<Code>911</Code>
<DescText>Unable to process - system error</DescText>
<LangCode>en</LangCode>
<OwnerName>ORCHESTRA</OwnerName>
</ns2:Error>
<ns2:PayloadAttributes>
<CorrelationID>a222c960-0d2c-4507-bd2c-59362825cc76</CorrelationID>
<Timestamp>2020-10-01T10:51:29.072</Timestamp>
<VersionNumber>1</VersionNumber>
</ns2:PayloadAttributes>
</ns2:IATA_AirShoppingRS>
All samples
Download all message samples here.