16.1 FlightPrice Overview





 

 16.1 FlightPrice

 Version

VersionDescriptionRelease StatusPre-Live DateLive Date
1.0Decimal point correction for currency  
0.9Implementation of a new IT Fare Product TBC
0.8

Updated fare product names

 
0.7

Updated cabin upsell option changes

  
0.6

Updated  changes related to fare products

  
0.5
Updated MultiCity Itinerary changes
 
0.4
Updated Leisure Fare changes
 
0.3

Updated Price Class changes

 
0.2

Updated FlightPriceRS with journey duration elements

 
0.1

FlightPrice – Interface Specification

 

 Introduction

This service provides IATA Accredited Travel Agents, new retailers and Service Providers the ability to quote (price) for flights for the selected itinerary as per IATA NDC schema standards. It returns price quote for the selected flights, fare rules for each fare component and product attributes. It also returns Ticket Upsell (increase ticket flexibility) and Cabin Upsell (upgrade to the next available cabin) options, if applicable.

 AirShopping Webservice

Interface Design

This web service is called with the following inputs:

  • List of flight segments and for each flight segment the departure airport, arrival airport, flight number, booking class (selling class) and cabin name etc
  • Number of anonymous passengers with passenger type
  • Number of known passengers with passenger type, name and FQTV details
  • Optional customer’s billing country
  • Leisure Fare Type

The output data this service returns include:

  • List of PricedFlightOffers where each PricedFlightOffer contains
    • The total amount for the requested itinerary per passenger type
    • Fare and Tax split per passenger type with tax breakdown
    • Fare rules for each fare component
    • Product attributes per flight segment where applicable
    • Baggage allowance (hand baggage allowance and ticketed checked baggage allowance)
    • Price class details
    • Fare basis code for each passenger type and for each flight segment
    • Payment Time Limit (Ticket Time Limit), if applicable


  • List of AirlineOffers where each AirlineOffer contains
    • Fare rules for each fare component where applicable
    • Cabin Upsell option (upgrade to next cabin) price per passenger type, if applicable
    • Fare and Tax split per passenger type with tax breakdown
    • Product attributes per flight segment where applicable
    • Baggage allowance (hand baggage allowance and ticketed checked baggage allowance)
    • Fare basis code for each passenger type and for each flight segment


  • Payment options

    • List of applicable payment cards with surcharge, if applicable

    • Mandatory and optional payment card details that should be specified when making a payment

    • Mandatory and optional billing address details that should be specified when making a payment

  • Seat lead in price for all flights in the itinerary, if applicable

 Mandatory Headers

In order to access our API, you will need to pass the following two headers for each call

 Web Service URLs

 General Message Elements

Field Type

Data Type

Schema Definition (http://www.ba.com/schema/)

Optional/Mandatory

Comments

Party

 

 

M


Sender

 

 

M

Message sender information

TravelAgencySender



M

Specify the travel agency details

Populate TravelAgencySender section only if the request is originated by the Travel Agent

Name


Party/Sender/TravelAgencySender/Name

O

Travel agency name

Example: ABC

Note: This is an optional element in NDC schema. BA will neither use nor validate this element even if it was  passed

Contacts



O

This is an optional element in NDC schema but for calling BA service this must be passed with requesting agent’s email address only if the requesting agent is an IATA agent

Note: Agent contact will only be used in OrderCreate service. Therefore it is up to the client to pass agent email address in AirShopping, FlightPrice and SeatAvailability services

Contact



M


EmailContact



O

This is an optional element in NDC schema but for calling BA service (OrderCreate) this must be passed, if the requesting agent is an IATA agent. This is important as the eTicket confirmation email will only be sent to this email address for IATA agent’s bookings

For non-IATA agents, this element need not be passed as the eTicket confirmation email will only be sent to the customer’s email address. However, BA will record this email address to the booking if provided for non-IATA agents

Address


Party/Sender/TravelAgencySender/Contacts/Contact/EmailContact/Address

M

Travel agency’s email address

Example: abc@tc.com

This is the requesting agent’s email address

OtherIDs



O

Specify Non-IATA agent details

Note: This is an optional element in NDC schema but for calling BA services this must be passed if the requesting agent is a non- IATA agent

OtherID


Party/Sender/TravelAgencySender/OtherIDs/OtherID

M

Non-IATA agent code

Example: 01010101

IATA_Number


Party/Sender/TravelAgencySender/IATA_Number

O

Travel agent’s IATA number

Example: 12345678

Note: This is an optional element in NDC schema but for calling BA services this must be passed if the requesting agent is an IATA agent

AgencyID


Party/Sender/TravelAgencySender/AgencyID

M

Travel agency name

Example: ABC

Note: This is a mandatory element in NDC schema but BA will neither use nor validate this element. Suggestion is to pass travel agency name

CorporateSender




Specify corporate details

Populate CorporateSender section only if the request is originated by the Corporate

Contacts



O

This is an optional element in NDC schema. Populate this section with the requesting corporate’s email address only if the corporate is directly creating a booking with BA via NDC Services

Do not populate this section if Travel Management Company (TMC) is creating a booking on behalf of the corporate 

Note: Corporate contact will only be used in OrderCreate service. Therefore it is up to the client to pass corporate email address in AirShopping, FlightPrice and SeatAvailability services

Contact



M


EmailContact



O

This is an optional element in NDC schema but for calling BA service (OrderCreate) this must be passed, if the corporate is directly creating a booking with BA via NDC Services and the corporate has an IATA number. This is important as the eTicket confirmation email will only be sent to this email address for IATA agent’s bookings

For corporates that have non-IATA number, this element need not be passed as the eTicket confirmation email will only be sent to the customer’s email address. However, BA will record this email address to the booking if provided for non-IATA corporates

Address


Party/Sender/CorporateSender/Contacts/Contacts/EmailContact/Address

M

Corporate’s email address

Example: abc@tc.com

This is the requesting corporate’s email address

ID


Party/Sender/CorporateSender/ID

M

Corporate’s JBID

Example: IN3642FR

Unique ID provided by BA

IATA_Number


Party/Sender/CorporateSender/IATA_Number

O

Corporate’s IATA or non-IATA number

Example: 12345678

Do not populate this section if Travel Management Company (TMC) is creating a booking on behalf of the corporate

Note: This is an optional element in NDC schema. Populate this element with the requesting corporate’s IATA or non-IATA number only if the corporate is directly creating booking with BA via NDC Services

Participants



O

Specify Service Provider details

Note: This is an optional element in NDC schema but if the calling client is a Service Provider then Participants details must be populated. If the calling client is not a Service Provider then Participants details should not be populated.

Participant



M


TravelAgencyParticipant



O

Populate this section only if the participant is a Travel Management Company (TMC) and is creating a booking for the corporate customer i.e request is originated by the corporate

SequenceNumber (Attribute)


Party/Participants/Participant/TravelAgencyParticipant/SequenceNumber (Attribute)

M

Unique number

Example: 2

Note: It is recommended that each participant increment the sequence number by 1.

Example: If participant 1 gives sequence number as “2” participant 2 is advised to give sequence number as “3”

Contacts



O

This is an optional element in NDC schema. Populate this section with the requesting agent’s (TMC’s) email address only if the requesting agent is an IATA agent

Note: Agent contact will only be used in OrderCreate service. Therefore it is up to the client to pass agent email address in AirShopping, FlightPrice and SeatAvailability services

Contact



M


EmailContact



O

This is an optional element in NDC schema but for calling BA service (OrderCreate) this must be passed, if the requesting agent (TMC) is an IATA agent. This is important as the eTicket confirmation email will only be sent to this email address for IATA agent’s bookings

For non-IATA agents, this element need not be passed as the eTicket confirmation email will only be sent to the customer’s email address. However, BA will record this email address to the booking if provided for non-IATA agents (TMCs)

Address


Party/Participants/Participant/TravelAgencyParticipant/Contacts/Contact/ EmailContact/Address

M

Travel agency’s(TMC’s) email address

Example: abc@tc.com

This is the requesting agent’s email address

OtherIDs



O

Specify Non-IATA agent details

Note: This is an optional element in NDC schema but for calling BA services this must be passed if the requesting agent (TMC) is a non- IATA agent

OtherID


Party/Participants/Participant/TravelAgencyParticipant/OtherIDs/OtherID

M

TMC’s Non-IATA agent code

Example: 01010101

IATA_Number


Party/Participants/Participant/TravelAgencyParticipant/IATA_Number

O

Travel agent’s (TMC’s) IATA number

Example: 12345678

Note: This is an optional element in NDC schema but for calling BA services this must be passed if the requesting agent (TMC) is an IATA agent

AgencyID


Party/Participants/Participant/TravelAgencyParticipant/AgencyID

M

Travel agency name

Example: ABC

Note: This is a mandatory element in NDC schema but BA will neither use nor validate this element. A suggestion is to pass travel agency name

AggregatorParticipant



O

Populate this section only if the calling client is a Service Provider

SequenceNumber (Attribute)


Party/Participants/Participant/AggregatorParticipant/ SequenceNumber (Attribute)

M

Unique number

Example: 2

Note: It is recommended that each participant increments the sequence number by 1.

Example: If participant 1 gives sequence number as “2” participant 2 is advised to give sequence number as “3”

Name


Party/Participants/Participant/AggregatorParticipant/Name

O

Service Provider name

Example: XYZ

Note: This is an optional element in NDC schema. BA will neither use nor validate this element even if it was  passed

AggregatorID


Party/Participants/Participant/AggregatorParticipant/AggregatorID

M

Service Provider ID provided by BA

Example: 00123456

All BA NDC services will validate this ID and allow only if the AggregatorID provided is valid



 Example Agency and Service Provider Data



 General Usage Guidelines

The AirShopping Service:

  1. The service returns the total price, fare, and tax with tax break down and fare rules for the requested itinerary for all passengers in PricedFlightOffer. This is the most enriched offer. Cabin Upsell is returned in AirlineOffer.
  2. Cabin Upsell option –. Cabin upsell option is returned in AirlineOffer. The service returns both one way and return journey cabin upsell offers. Example: If the requested itinerary is LHR-AMS Economy then cabin upsell option will be returned for LHR-AMS in Business, if applicable. Similarly, if the requested journey is LHR-AMS-LHR in Economy then cabin upsell option will be returned for LHR-AMS in Business and AMS-LHR in Business. Cabin upsell option is returned with total price, base fare and total tax with break down along with fare rules for each passenger type. If the client were to choose cabin upsell option then they have all information to construct OrderCreateRQ and create a booking.
  3. Ticket Upsell option - Offer to increase the ticket flexibility.Please note that ticket upsell option will not be returned in FlightPriceRS.
  4. An example FlightPrice response for a long haul return journey in Economy cabin in V selling class, which is a restricted fare. Assume Cabin Upsell option is applicable

    FlightPrice request: LHR-JFK-LHR, both O/B and I/B in V selling class in Economy cabin
    FlightPrice response: In total 1 PricedFlightOffer and 1 AirlineOffer will be returned
    PricedFlightOffer 1 – Total fare, tax with tax breakdown for all passengers for the requested itinerary along with fare rule and product attributes
    AirlineOffer 1 - Total fare and tax with tax breakdown for all passengers along with fare rules and product attributes to upgrade return journey (LHRJFK and JFKLHR) in the next available cabin (Premium Economy cabin in this case), if applicable

  5. Please note that although the list of applicable cards remain the same for both PricedFlightOffer (requested itinerary) and AirlineOffer (cabin upsell offer) some credit cards may not incur a card surcharge if the customer has chosen to book cabin upsell offer. This is clearly indicated in the response by associating each card with an offer id (PricedFlightOffer or AirlineOffer or Both)
  6. The service will return prices in the currency of the agent’s country. Please note that the penalty fee will still be returned in the currency of the country where the journey commences Example, if an agent from Paris making a request for LHR-NYC then both AirShopping and FlightPrice service will return prices in Euro (based on agent’s country) and penalty fee in GBP.
  7. The service returns price quote in the next available selling class of the same cabin if the requesting selling class was sold out. A warning message will be returned in this scenario to inform the customer of the change in the selling class.
  8. The total price returned by the FlightPrice service is the amount to be charged for the flights. The booking will not succeed even if there is a penny difference.
  9. FlightPrice service returns seat lead in price for all flights (if applicable) in the itinerary. If for any of the flights seat lead in price is not returned, it means seats can’t be purchased on that flight
  10. In FlightPriceRS, the secure flight flag is returned for each flight segment – Client should pass the APIS details (DOB and Gender) in OrderCreateRQ, if this Boolean was returned as “true” for at least one of the flight segment.
  11. In FlightPriceRS, applicable payment cards that the client can use in OrderCreateRQ are returned. Applicable payment cards are decided based on agent’s country and customers billing country. If customer’s billing country is not specified in FlightPriceRQ then applicable payment cards will be returned based on agents country only
  12. The service also returns Payment Time Limit (also known as Ticket Time Limit) if applicable. This is the deadline by which a commitment to pay must be made for the confirmed items in an offer as agreed with the airline. This is also called as Ticket Time Limit, as tickets will only be issued once payment is made.
  13. The service will not return Cabin Upsell option for MultiCity/Stopover, open jaw Itineraries, itineraries containing mixed cabins (e.g. LHRJFK in Economy and JFKLHR in Premium Economy)
  14. The service will not return Cabin Upsell option for corporates and agents eligible for private fares.
  15. The service now supports the below Leisure Fare types
  16. Clients can only request one Leisure Fare type per request. If more than one Leisure Fare is requested then the service will apply the first Leisure Fare type it finds from the list
    • Inclusive Tour
    • Humanitarian
    • Marine
    • Contact Bulk
    • Private Fare Adult

      Clients will be able to request any of the above Leisure Fare types via FlightPrice


  17. The service returns error if the requested Leisure fare is not available i.e the service will not default to the published fare if the requested leisure fare is not available
  18. The service rejects request and returns error, if the agent is not eligible to request for leisure fare types
  19. BA offers different fare products within Economy cabin. For short haul routes, Basic, Plus and Plus Flex products are offered. Please note that the fare product name is subject to change and the number of fare products being returned may also vary based on the route and availability
  20. BA offers different fare products within Economy cabin only and the name will wary based on the journey haul type
  21. For short haul journeys the below fare products are offered

    • Basic
    • Plus
    • Plus Flex


  22. For long haul journeys the below fare products are offered

    • Basic
    • Standard
    • Standard Flex


  23. The service expects clients to always pass the fare basis code in OrderCreateRQ when creating a booking in order to quote the correct fare product for the itinerary even if the request is for a non-Economy cabin


General

  1. The service returns prices in exact decimal value based on the currency (e.g. GBP will be returned at 2 decimals, while JPY will be returned at integer level only).
  2. The service checks if the agent calling the service has the right to create BA bookings. If the agent does not have such authority then the service will not proceed and will return an error.
  3. The service checks if the requesting Travel Management Company (TMC) is allowed to service the corporate and returns error if it is not allowed.
  4. The service returns responses in the agent’s preferred language. If the agent’s preferred language is not supported by BA or the agent’s preferred language is not passed in the request then the default language will be used, which is English. Please see section 7 for the languages that are supported by BA.
  5. Air Passenger Duty (APD) no longer applies to passengers aged between 12 and under 16 years old travelling in Economy after 1st March 2016. For travel on or after this date, BA need to know if anyone in this age range is travelling so that APD is not charged for them. Therefore, it is advised for clients to provide passenger’s age in all BA NDC services so that the service will know the passenger is a young adult and won’t charge APD.