Getting Started on NDC 19.2

This part will focus on NDC 19.2.

Table of contents

  1. Current available web operations
  2. Endpoints
    1. SOAP endpoint
    2. REST endpoints
  3. Postman Collection
  4. Shopping flow
  5. Servicing flows
  6. Error management
  7. 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
  • orderCancel → cancel a booking

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/19.2/OrchestraNDCService
SOAP request sample
POST https://.../ndc/ws/soap/19.2/OrchestraNDCService HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://www.travelsoft.fr/orchestra/ndc/19.2/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/00/2019.2/IATA_AirShoppingRQ">
            ...
        </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>
        <ns5:IATA_AirShoppingRS xmlns:ns5="http://www.iata.org/IATA/2015/00/2019.2/IATA_AirShoppingRS">
            ...
        </ns5: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/19.2/Login
  • https://________/ndc/ws/rest/19.2/AirShopping
  • https://________/ndc/ws/rest/19.2/ServiceList
  • https://________/ndc/ws/rest/19.2/SeatAvailability
  • https://________/ndc/ws/rest/19.2/OfferPrice
  • https://________/ndc/ws/rest/19.2/OrderCreate
  • https://________/ndc/ws/rest/19.2/OrderRetrieve
  • https://________/ndc/ws/rest/19.2/OrderReshop
  • https://________/ndc/ws/rest/19.2/OrderChange
  • https://________/ndc/ws/rest/19.2/OrderCancel
REST request sample
POST https://.../ndc/ws/rest/19.2/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/00/2019.2/IATA_AirShoppingRQ">
  ...
</IATA_AirShoppingRQ>
REST response sample
<?xml version='1.0' encoding='UTF-8'?>
<ns5:IATA_AirShoppingRS xmlns:ns5="http://www.iata.org/IATA/2015/00/2019.2/IATA_AirShoppingRS">
  ...
</ns5: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.

Booking flow

Servicing flows

  • Get order data for refresh:

Retrieve flow

  • Ticket issue:

Ticket issue flow

  • Cancellation:

Cancel flow

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
  <IATA_AirShoppingRS xmlns="http://www.iata.org/IATA/2015/00/2019.2/IATA_AirShoppingRS">
    <Error>
      <Code>911</Code>
      <DescText>Unable to process - system error</DescText>
      <LangCode>en</LangCode>
      <OwnerName>ORCHESTRA</OwnerName>
    </Error>
    <PayloadAttributes>
      <CorrelationID>a222c960-0d2c-4507-bd2c-59362825cc76</CorrelationID>
      <Timestamp>2020-10-01T10:51:29.072</Timestamp>
      <VersionNumber>19.2</VersionNumber>
    </PayloadAttributes>
  </IATA_AirShoppingRS>
  

All samples

Download all message samples here.