These pages are intended primarily for developers focusing on the integration of British Airways NDC Content through our APIs. In the left hand column you will find detailed information on all APIs along with flows and XML examples to help. The feedback button appears on all pages and we would appreciate your comments, which will help us to continually improve these pages.
NDC is a travel industry-supported programme launched by the International Air Transport Association (IATA) to improve communications between airlines and travel agents. NDC facilitates access to a richer and more complete inventory from the airlines, as well as access to the wider range of services they offer, than was possible through legacy systems.
NDC offers an end-to-end flow including Shop, Price, Hold, Book, Service (change/cancel) and disruption management.
British Airways currently develops to and support the NDC 17.2 XSD API Schema. We have been certified to the highest level of @Scale by IATA based upon the 17.2 Schema and our recommendation is for you to develop to 17.2 to allow British Airways to offer you full support. Throughout these pages, revisions will be highlighted and we encourage you to use the latest revision.
Before building you will require a PRE-LIVE client-key. Please register HERE to obtain a key.
Following the IATA NDC standards you will see the implementation of primarily 17.2 NDC IATA Schema , Revisions will be highlighted and we encourage all developers to migrate and use the latest Revision.
You can obtain the XSD schema for the British Airways NDC 17.2 API in the File Assets Library depending on your chosen development environment, we recommend to create a object interface using these specifications. You can find here and example in C#.
Using the XSD.exe tool (IDE Tool) define your NameSpace and list the xsd file with:
c:\xsd dist_wrapper.xsd /c /l:csharp /n[>namespace> name]
so that it generates the c# classes based on the schema that is provided.
Please use UTF-8 encoding in your requests and response code
The http header should include your API Client Key and SoapAction header to allow access to the API, in your HTTP connector pass these headers, for example:
// Set type to POST
request.Method = "POST";
request.ContentType = "application/xml";
request.Headers.Add("Client-Key", clientkey); // add client key header mashery key
request.Headers.Add("SOAPACTION", operation); // add the SOAPAction id to http header
request.Proxy = null;
request.Headers.Add("Accept-Encoding", "gzip,deflate");
request.KeepAlive = false;
byte[] byteData = Encoding.UTF8.GetBytes(data.ToString());