Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


<AirShoppingRQ>


Expand
titleXML Example for the following elements


Code Block
languagexml
themeEclipse
<AirShoppingRQ Version="17.2"
PrimaryLangID="EN" xmlns=
"http://www.iata.org/IATA/EDIST">



ElementsDetails

Optional/Mandatory

Version (Attribute)

Specify NDC schema message version. Always pass 17.2

Note: This is a mandatory attribute in NDC schema. The service will not validate what is being passed in this attribute

M
PrimaryLangID (Attribute)

Specifies the agent’s preferred language. Service response will be returned in this language

Note: If the requested language is not supported by BA or if this is not passed in the request then the default language will be used, which is English

Example: EN

O
AltLangID (Attribute)

Specifies the preferred language in which the mail to be sent. eTicket receipt email and any other communication emails from BA will be sent in this language

Note: AltLangID will not be used even if it was passed in the AirShopping request, as there is no email sent at the shopping stage. If the requested language is not supported by BA or if this is not passed in the request then the default language will be used, which is English

O


<Document>


Expand
titleXML Example for the following elements


Code Block
languagexml
themeEclipse
<Document>
        <Name>BA</Name>
</Document>



ElementsDetails

Optional/Mandatory

<Document>
NDC Message Document informationM
<Name>
Document name will be always "BA"O


<Party>

ElementsDetailsOptional/Mandatory
<Party>Party & Sender DefinitionM


<CoreQuery>


Expand
titleXML Example for the following elements


Code Block
languagexml
themeEclipse
<CoreQuery>
	<OriginDestinations>
		<OriginDestination OriginDestinationKey="OD2">
			<Departure>
				<AirportCode>LHR</AirportCode>
				<Date>2018-05-15</Date>
				<Time>13:00</Time>
			</Departure>
			<Arrival>
				<AirportCode>HKG</AirportCode>
				<Time>16:00</Time>
			</Arrival>
			<CalendarDates DaysAfter="3"
                        DaysBefore="3"/>
		</OriginDestination>
	</OriginDestinations>
</CoreQuery>



ElementsDetails

Optional/Mandatory

<CoreQuery>
Start of AirShopping QueryM
<OriginDestinations>
Origin and destination (O&D) detailsM
<OriginDestination>
This must be repeated for each O&D. If the request is for EDI-AMS return then this must be repeated twice one for EDI-AMS and one for AMS-EDIM
OriginDestinationKey (attribute) 
This is the unique key to be used when requesting any preference at Origin-Destination level O
<Departure>
Departure airport/city detailsM
<AirportCode>
Accepts both airport code (LHR) and city code (LON)M
<Date>

Departure date

Example: 2015-08-14
M
<Time>


Info

Status
colourBlue
title16.1 to 17.2 Improvement
 Read more
This must be passed if you want offers with flights departure ranges from +2 and -2 hours of the specific time.
Example: 13:00
The system will return all the offers with flights which are departing from 11:00 to 15:00. If there is no offer within +2 or -2 hour, then the system will not return any offer

  1. If Arrival time is greater than 01:59 and less than 22:00, the system will return offers with Arrival within +2 and -2 hours of the requested time.
  2. If Arrival time is greater than 21:59, the system will return offers only with Arrival within -2 hours of the requested time.

  3. If Arrival time is less than 02:00, the system will return offers only with Arrival within +2 hours of the requested time

    If both Departure time and Arrival time are specified for the OD, then the system should consider only the Departure time and should return offer in +2 to -2 hours of the departure time


O
<Arrival>
Arrival airport/city detailsM
<AirportCode>
Accepts both airport code (LHR) and city code (LON)M
<CalendarDates>

Indicates Calendar search date.

Calendar recommendation will only be returned if the client specifies calendar search dates in the request

O
DaysAfter (Attribute)

The number of days after the requested date

Example: 3

Calendar recommendation will be returned for the number of days specified after the requested date

O
DaysBefore (Attribute)

The number of days before the requested date

Example: 3

Calendar recommendation will be returned for the number of days specified before the requested date

O


<Preference>


Expand
titleXML Example for the following elements


Code Block
languagexml
themeEclipse
<Preference>
	<FarePreferences>
		<Types>
			<Type>759</Type>
			<Type PreferencesContext="Contract Bulk">758</Type>
		</Types>
	</FarePreferences>
	<FlightPreferences>
               <Aircraft>
	          <Equipment>
		      <AircraftCode refs="OD1">388</AircraftCode>
		      <AircraftCode refs="OD2">318</AircraftCode>
	          </Equipment>
               </Aircraft>
		<Characteristic>
			<DirectPreferences/>
		</Characteristic>
	</FlightPreferences>
       <TransferPreferences>
	        <Connection>
		   <Codes>
		      <Code PreferencesLevel="OD1">LHR</Code>
		      <Code PreferencesLevel="OD1">JNB</Code>
		      <Code PreferencesLevel="OD2">LHR</Code>
	           </Codes>
		</Connection>
	</TransferPreferences>
	<CabinPreferences>
		<CabinType>
			<Code>5</Code>
		
<OriginDestinationReferences>OD1 </OriginDestinationReferences>
</CabinType>
	</CabinPreferences>
</Preference>



ElementsDetails

Optional/Mandatory

<Preference>

Fare and cabin preference can be specified here

M
<FarePreferences>

Specify fare preference. BA accepts the below 2 fare preferences in the shopping request

1) Flexible fare
2) Lowest fare

 If no fare preference is specified then by default lowest fare will be returned. Also, leisure fare can be requested under FarePreferences.

O
<Types>
Fare type with a preference levelO
<Type>



PreferencesContext (Attribute)

IATA PADIS Codeset 9910 - Fare qualifier

Info

Status
colourBlue
title17.2 Improvement - V0.3 Fare Families feature: Shop By Fare Type” changes
 

BA accepts the following codes from codeset 9910 (754, 759, 758 and 70J) where 754 means Flexible fare, 759 means Lowest fare,758 means Negotiated (Private) fare and70J means Non-Negotiated (Public) fare. 758 with preference type is considered as Leisure fare.

The Leisure fare should be specified as an attribute for the <Type> element.

The list of Leisure Fares are 

  1. Tour Operator Deferred
  2. Tour Operator Semi-Deferred 
  3. Contract Bulk
  4. Private Fare Adult
  5. Marine
  6. Humanitarian

This is an XML example for the use of this attribute:

Code Block
<Type PreferencesContext="Inclusive Tour">758</Type>


Info

Status
colourBlue
title17.2 Improvement - New IT Fare Product
 

As part of the ongoing commitment to improving British Airways New Distribution Capability, we are pleased to announce an enhancement to our Tour Operator fares. From April 2019,  British Airways will offer two separate Tour Operator products:

  1. Tour Operator Deferred – Longer Ticketing Time Limit
  2. Tour Operator Semi Deferred – Shorter Ticketing Time Limit

The earlier-ticketing, Semi-Deferred fares will be differentiated only by their name from the Deferred Fares in NDC. In line with the existing process, agents who wish to book a British Airways Leisure fare product must specify the name as part of the AirShopping request. To book one of the new products agents must use either “Tour Operator Deferred” or “Tour Operator Semi Deferred” in the Fare Preference section of the API.

This change only impacts the AirShopping and OfferPrice APIs. No further changes are required in order to book the products.  

Here is an XML sample for the two products:

Code Block
<Type PreferencesContext="Tour Operator Deferred">758</Type>
<Type PreferencesContext="Tour Operator Semi Deferred">758</Type>

The Leisure Fare is assigned to the 'PreferencesContext' attribute within the 'Type' element.

Warning
titleImportant

For the purposes of testing, this enhancement will be switched on as follows:

  • Pre-Live  
  • Live:  



Info

Status
colourBlue
title17.2 Improvement - V0.3 Fare Families feature: Shop By Fare Type” changes
 

As part of ‘Shop by Fare Type’ feature enhancement, agents will be able to search the flight offers by fare type (Negotiated, Non-Negotiated or Cheapest fare products).

The agent can pass the desired fare type (70J or 758) along with the fare flexibility type (754, 759).

The agent can:

  1. request for Non-Negotiated fares and receives Non-Negotiated fare offers
  2. request for Negotiated fares and receives Negotiated fare offers
  3. request for Non-Negotiated and Negotiated fares and receives the list of offers and every offer should be either Negotiated fare offer or Non-Negotiated fare offer
  4. receive Cheapest fare offers if no fare type (Negotiated or Non-Negotiated) is provided

NOTE: Only agents with Amadeus account code are eligible to receive Negotiated fare offers.

Here are the examples,

Request Non-Negotiated (Restricted) fare

Code Block
languagexml
themeEclipse
titleRequest XML snippet:
collapsetrue
<FarePreferences>
	 <Types>
		<Type>70J</Type>
		<Type>759</Type>                  
	 </Types>
</FarePreferences>


Code Block
languagexml
themeEclipse
titleResponse XML snippet: Only Non-Negotiated (70J) fare offers will be returned
collapsetrue
<FareList>
  <FareGroup ListKey="FBCODE1ADT">
		<Fare>
			<FareCode>70J</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>YV3RO/Y</Code>
		</FareBasisCode>
	     </FareGroup>
           <FareGroup ListKey="FBCODE2ADT">
		<Fare>
			<FareCode>70J</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>DV3RO/Y</Code>
		</FareBasisCode>
  </FareGroup>
</FareList> 


Request Non-Negotiated (Flexible) fare

Code Block
languagexml
themeEclipse
titleRequest XML snippet:
collapsetrue
	<FarePreferences>
	     <Types>
		<Type>70J</Type>
		<Type>754</Type>                  
	     </Types>
        </FarePreferences>


Code Block
languagexml
themeEclipse
titleResponse XML snippet: Only Non-Negotiated (70J) fare offers will be returned
collapsetrue
<FareList>
  <FareGroup ListKey="FBCODE1ADT">
		<Fare>
			<FareCode>70J</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>YV3RO/Y</Code>
		</FareBasisCode>
	     </FareGroup>
           <FareGroup ListKey="FBCODE2ADT">
		<Fare>
			<FareCode>70J</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>DV3RO/Y</Code>
		</FareBasisCode>
  </FareGroup>
</FareList> 


Request Negotiated (Restricted) fare

Code Block
languagexml
themeEclipse
titleRequest XML snippet:
collapsetrue
<FarePreferences>
    <Types>
		<Type>758</Type>
		<Type>759</Type>                  
    </Types>
</FarePreferences>


Code Block
languagexml
themeEclipse
titleResponse XML snippet: Only Negotiated (758) fare offers will be returned
collapsetrue
<FareList>
  <FareGroup ListKey="FBCODE1ADT">
		<Fare>
			<FareCode>758</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>IV2RO/Y</Code>
		</FareBasisCode>
	     </FareGroup>
  	     <FareGroup ListKey="FBCODE2ADT">
		<Fare>
			<FareCode>758</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>BOWVY/Y</Code>
		</FareBasisCode>
  </FareGroup>
</FareList>


Request Negotiated (Flexible) fare

Code Block
languagexml
themeEclipse
titleRequest XML snippet:
collapsetrue
<FarePreferences>
	 <Types>
		<Type>758</Type>
		<Type>754</Type>                  
	 </Types>
</FarePreferences>


Code Block
languagexml
themeEclipse
titleResponse XML snippet: Only Negotiated (758) fare offers will be returned
collapsetrue
<FareList>
	     <FareGroup ListKey="FBCODE1ADT">
		<Fare>
			<FareCode>758</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>BOWVY/Y</Code>
		</FareBasisCode>
	     </FareGroup>
	     <FareGroup ListKey="FBCODE2ADT">
		<Fare>
			<FareCode>758</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>DV3RO/Y</Code>
		</FareBasisCode>
	     </FareGroup>
        </FareList>


Request Negotiated and Non-Negotiated (Restricted) fares

Code Block
languagexml
themeEclipse
titleRequest XML snippet:
collapsetrue
<FarePreferences>
	 <Types>
		<Type>70J</Type>
		<Type>758</Type>                  
		<Type>759</Type>                  
	 </Types>
</FarePreferences>


Code Block
languagexml
themeEclipse
titleResponse XML snippet: The offers with either Negotiated (758) or Non-Negotiated (70J) fare offers will be returned
collapsetrue
<FareList>
	   <FareGroup ListKey="FBCODE17ADT">
		<Fare>
			<FareCode>70J</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>HPV2R/Y</Code>
		</FareBasisCode>
	    </FareGroup>
	   <FareGroup ListKey="FBCODE18ADT">
		<Fare>
			<FareCode>758</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>BRTVY/Y</Code>
		</FareBasisCode>
	    </FareGroup>
	   <FareGroup ListKey="FBCODE19ADT">
		<Fare>
			<FareCode>758</FareCode>
		</Fare>
		<FareBasisCode>
			<Code>BV2R/Y</Code>
		</FareBasisCode>
	    </FareGroup>
         </FareList>

NOTE:

  1. If agent requests both Negotiated/Non-Negotiated fare type along with Leisure fare type, Leisure fare takes the precedence and returns leisure fare offers.
  2. If the agent did not specify the fare flexibility (restricted-759 or flexible-754), the system considers restricted fare type (759) by default


M



O

<FlightPreferences>

XML Sample to be added.

Info

Status
colourBlue
title16.1 to 17.2 Improvement
 Read more
This is passed to request a direct flight or an Aircraft type preference.


O
<Aircraft>

This is required to be passed if the agent wants to shop based on a particular Aircraft type.

O

<Equipment>


O

<AircraftCode>

The IATA Aircraft type 3 character code

Example - 318

M

Refs (attribute)

Reference to OriginDestinationKey for which preference is requested

Example – ‘OD1’

O

<Characteristic>
This is required to be passed if the agent wants to shop based on a Direct flight onlyO
<DirectPreferences>

This will return offers with direct flight only, for all the Origin destinations in the itinerary

(pass this as an empty xml tag in the Request)

O
<TransferPreferences>

This should be passed if customer want to shop based on Transfer Airport preference

O

<Connection>


M

<Codes>


O

<Code>

This should be repeated for each Transfer point per OD

Example - LHR

M

PreferencesLevel

Reference to OriginDestinationKey for which preference is requested

Example – ‘OD1’

O

<CabinPreferences>

The cabin can only be specified for the whole itinerary

Example:

LHR-JFK-LHR journey can be requested in “Economy” cabin for the whole itinerary

O
<CabinType>
This can be specified only onceM
<Code>

IATA PADIS Codeset 9873 - Cabin class of service, coded

BA accepts the following codes from codeset 9873

1, 2, 4  and 5

 Where 1 = First, 2 = Business, 4 = Premium Economy and 5 = Economy

M


<DataLists>

XML

Elements

Details

Optional/Mandatory

<PassengerList>
<PassengerList>

List of all passengers with Passenger type code (PTC)

  • Young adult DOB is required as UK Air Passenger Duty (APD) is not applicable to “young adults” aged 12 to 15 years inclusive for travel after 1 March 2016
O