SeatAvailability_Web_Service_User_Guide_June_17




















SeatAvailability V2
Interface Specification
June 2017






Table of Contents
1 Disclaimer
2 Introduction
2.1 Support Details
2.1.1 Commercial Support
2.1.2 Technical Support
3 Generic Message Elements
3.1 Agency and Service Provider data
3.1.1 Example Agency and Service Provider data
3.2 Common Schemas
4 SeatAvailability Webservice
4.1 Interface Design
4.2 Schemas
4.3 Request and Response Definitions
4.3.1 Request
4.3.2 Response
4.4 URLs to access this web service
4.4.1 Live URL
4.4.2 Test URL
4.4.3 Mandatory headers
4.5 Sample SOAP NDC Request to access this web service
4.6 Sample SOAP NDC Response
4.7 Sample SOAP NDC Response with errors
4.8 Sample SOAP Response with errors
5 Frequently Asked Questions
5.1 FAQs
6 Usability Guide
6.1 Usage advice
7 Appendix 1 –Web Services error responses
7.1 SeatAvailability error/ineligibility checks
8 Appendix 2 – Languages supported by BA



Disclaimer


This document is confidential and for the sole use of the company to whom it was issued. Any transmission of this document to third parties remains subject to British Airways' prior approval.
Please note that this document is for information only and does not necessarily imply that British Airways will be allowing the reader to access its APIs. All information on how to get access to the APIs can be found on http://developer.ba.com/ndc_pilot
As British Airways implements new products and features through NDC, this document will be updated. British Airways will keep its users informed of any significant change to the product, and the latest version of this user guide can always be provided upon request from selling.distribution@ba.com.
In no circumstances shall British Airways have any liability for losses (whether direct or indirect) arising from the participation in this trial, or for any inaccuracies, errors in, or omissions from this document.

Introduction


The SeatAvailability Webservice provides IATA Accredited Travel Agents, new retailers and Service Providers the ability to retrieve seat map for one or more flight segments as per IATA NDC schema standards.
SeatAvailability – this service returns priced seat map for the requested flight segments in a requested cabin

Support Details


Commercial Support


For any assistance that you require with any commercial queries please contact:
Selling.distribution@ba.com

Technical Support


For any assistance with integration issues or general queries, please refer to the blog section available on http://developer.ba.comhttp://developer.ba.com. This section is monitored daily by our technical team and should be the first point of contact for any integration queries.
For any assistance with suspected technical faults or issues please follow the process detailed below:
System unavailable – please telephone the British Airways IT Service Centre:
+44 (0) 20 8562 4000

System available, non-critical faults - please send an email to:
itsc.itsc@ba.com

Please have the following information available when calling or emailing the service centre:
If emailing, the email subject should be:

  • " Company name – NDC Web Service issue"


The call or email should include the following:

  • Your name and Company
  • Your contact Telephone Number (including full dialling code)
  • Full Location including country, town, building
  • System / Technology / Hardware involved
  • Number of users affected


Short summary of the problem:

  • Error / System Message: Please put in specific error message received.
  • Details of actions leading to problem / question (commands issued, buttons clicked etc)
  • Example SOAP of request being sent (including username and password to connect to service.
  • Example of any response received from the service.


Attachments of screenshots displaying the error would also be useful.

Generic Message Elements


Agency and Service Provider data

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 to 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. 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 to 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"

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


Travel Agent (IATA) accessing BA NDC Services via Service Provider
<Party>
<Sender>
<TravelAgencySender>
<Name>ABC</Name>
<Contacts>
<Contact>
<EmailContact>
<Address>agentemailaddress@abc.com</Address>
</EmailContact>
</Contact>
</Contacts>
<IATA_Number>35209893</IATA_Number>
<AgencyID>ABC</AgencyID>
</TravelAgencySender>
</Sender>
<Participants>
<Participant>
<AggregatorParticipant SequenceNumber="123">
<Name>Travelco</Name>
< AggregatorID > 00123456</AggregatorID >
</AggregatorParticipant>
</Participant>
</Participants>
</Party>
Travel Agent (Non-IATA) accessing BA NDC Services via Service Provider
<Party>
<Sender>
<TravelAgencySender>
<Name>ABC</Name>
<Contacts>
<Contact>
<EmailContact>
<Address>agentemailaddress@abc.com</Address>
</EmailContact>
</Contact>
</Contacts>
<OtherIDs>
<OtherID>0000007</OtherID>
</OtherIDs>
<AgencyID>ABC</AgencyID>
</TravelAgencySender>
</Sender>
<Participants>
<Participant>
<AggregatorParticipant SequenceNumber="123">
<Name>Travelco</Name>
< AggregatorID > Travelco </AggregatorID >
</AggregatorParticipant>
</Participant>
</Participants>
</Party>
Travel Management Company (TMC) accessing BA NDC Services for Corporates
<Party>
<Sender>
<CorporateSender>
<ID>IN3401FR</ID>
</CorporateSender>
</Sender>
<Participants>
<!-Participant 1 - TMC->
<Participant>
<TravelAgencyParticipant SequenceNumber="1">
<Contacts>
<Contact>
<EmailContact>
<Address>ndcagent@abc.com</Address>
</EmailContact>
</Contact>
</Contacts>
<IATA_Number>91266162</IATA_Number>
<AgencyID>ABCD</AgencyID>
</TravelAgencyParticipant>
</Participant>
</Participants>
</Party>




Travel Management Company (TMC) accessing BA NDC Services for Corporates via Service Provider

<Party>
<Sender>
<CorporateSender>
<ID>IN3401FR</ID>
</CorporateSender>
</Sender>
<Participants>
<!-Participant 1 - TMC->
<Participant>
<TravelAgencyParticipant SequenceNumber="1">
<Contacts>
<Contact>
<EmailContact>
<Address>ndcagent@abc.com</Address>
</EmailContact>
</Contact>
</Contacts>
<IATA_Number>91266162</IATA_Number>
<AgencyID>AMEX</AgencyID>
</TravelAgencyParticipant>
</Participant>
<!-Participant 2 - Service Provider->
<Participant>
<AggregatorParticipant SequenceNumber="2">
<AggregatorID>00000780</AggregatorID>
</AggregatorParticipant>
</Participant>
</Participants>
</Party>
Corporate accessing BA NDC Services directly
<Party>
<Sender>
<CorporateSender>
<Contacts>
<Contact>
<EmailContact>
<Address>ndcagent@abc.com</Address>
</EmailContact>
</Contact>
</Contacts>
<ID>IN3401FR</ID>
<! — IATA or non-IATA number should be requested in the same field-->
<IATA_Number>12345678</IATA_Number>
</CorporateSender>
</Sender>
</Party>

Common Schemas

The attached schemas are common for AirShopping, FlightPrice, SeatAvailability and OrderCreate










SeatAvailability Webservice


This service returns priced seat map for one or more flights requested. The service returns one seat map per flight and return only seats that are unoccupied along with seat display details such as the column details, row start and end position, seat and non-seat characteristics. This service can be called during initial booking flow [OR] after the booking is created to return priced seat map.

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), cabin name etc
  • Seat maps for upto 6 Origin Destination pairs can be requested.
  • Fare basis code for each passenger type and for each flight segment
  • Number of anonymous passengers with passenger type
  • Number of known passengers with passenger type, name and FQTV details
  • OrderID (Booking Reference/PNR)



The output data this service returns includes:

  • Priced seat map for the requested flights and cabin
  • One seat map is returned per flight
  • Each seat map returns the following
    • Exit row position
    • Wing position
    • Seat column details
    • Seat row details
    • Seat characteristics
    • Non-seat characteristics
  • Links to BA seating policy and Terms and conditions
  • General seating rules
  • Payment options (returned only when the service is called in post-sale scenario)
    • 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




Limitations:

    • Seat map is returned only for BA operated flights


Schemas


The service adheres to the IATA NDC SeatAvailability schema version 16.1, with some modifications
Schemas
Main schemas used in the web service. Also, please refer Section 2.2 for common schemas






Request and Response Definitions

Note: In the Header that accompanies your soap request please ensure you set the Username Token details as supplied by BA, only if the service is not accessed via Mashery.

Request

Service Input Parameters

 

 

 

 

Input Parameters

Type

Schema Definition
*(

http://www.ba.com*


/schema/)

Optional/Mandatory

Comments

Request object

SeatAvailabilityRQ

SeatAvailabilityRQ.xsd

M

 

SeatAvailabilityRQ Data Fields

 

 

 

 

Field Type

Data Type

Schema Definition
*(

http://www.ba.com/schema/)*

Optional/Mandatory

Comments

Agency and Service Provider data See section 2.1

 

 

 

 

Version (Attribute)

 

SeatAvailabilityRQ/Version (Attribute)

M

Specify NDC schema message version. Always pass 16.1

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

PrimaryLangID (Attribute)

 

SeatAvailabilityRQ/PrimaryLangID (Attribute)

O

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

AltLangID (Attribute)

 

SeatAvailabilityRQ/AltLangID (Attribute)

O

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 SeatAvailability 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

Travelers

 

 

M

BA accepts both anonymous and known traveler in the SeatAvailability request. Known traveller's details (FQTV) may be used in determining the seat price

For Post-Sale scenario, this section may not be required, as the service will work out the passenger details from the booking. However, it is recommended that client should provide the payer's name (may or may not be one of the passengers in the booking) along with ResidenceCode under KnownTraveler, as this would help the service return the correct payment options (list of applicable cards that can be used in the subsequent OrderChangeRQ once the client decides go ahead with the seat purchase)

Traveler

 

 

M

This must be repeated for each passenger. If the client wants to shop for 2 ADT, 2 CHD and 2 INF then Traveler should be repeated 6 times for each passenger and the Traveler can be Anonymous and Known

AnonymousTraveler

 

 

O

This is not required to be specified when the service is called in post-sale scenario

ObjectKey (Attribute)

 

 

O

This attribute must be defined so that this key can be referenced to associate fare basis code for this passenger and to associate infant with an adult
Example: SH2

Note: This is an optional attribute in NDC schema but for calling BA service this must be passed

PTC

 

SeatAvailabilityRQ/Travelers/Traveler/AnonymousTraveler/PTC

O

Passenger Type Code

BA accepts the following passenger type codes

ADT
CHD
INF

If any other passenger type code is passed then ADT price will be returned

Note: This is an optional element in NDC schema but for calling BA service this must be passed

PassengerAssociation

 

SeatAvailabilityRQ/Travelers/Traveler/AnonymousTraveler/PassengerAssociation

O

This element is used to associate an infant (not requiring a seat) to an adult. Specify the infant passenger's ObjectKey

Example: SH2
Where SH2 is infant passenger's ObjectKey

Note: Though this is an optional element in NDC schema it must be passed if the request includes INF passenger, as the service needs to know which infant is associated with which adult

Age

 

 

O

Though this is an optional element, it is recommended to provide passenger's age, as it will be used to identify if the passenger is a young adult.

Note: UK Air Passenger Duty (APD) is not applicable to "young adults" aged 12 to 15 years inclusive for travel after 1 March 2016

Value

 

SeatAvailabilityRQ/Travelers/Traveler/AnonymousTraveler /Age/BirthDate

M [Choice]

Example: 15

BirthDate

 

SeatAvailabilityRQ/Travelers/Traveler/AnonymousTraveler/Age/BirthDate

M [Choice]

Date of birth in "YYYY-MM-DD" format
Example: 2002-01-01

RecognizedTraveler

 

 

O

 

ObjectKey (Attribute)

 

 

O

This attribute must be defined so that this key can be referenced to associate fare basis code for this passenger and to associate infant with an adult
Example: SH2

Note: This is an optional attribute in NDC schema but for calling BA service this must be passed

This is not required to be specified when the service is called in post-sale scenario

PTC

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/PTC

O

Passenger Type Code

BA accepts the following passenger type codes

ADT
CHD
INF

If any other passenger type code is passed then ADT price will be returned

Note: This is an optional element in NDC schema but for calling BA service this must be passed

This is not required to be specified when the service is called in post-sale scenario

ResidenceCode

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/ResidenceCode

O

This will be used to determine the list of applicable cards.

Specify this only in post-sale scenario

PassengerAssociation

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/PassengerAssociation

O

This element is used to associate an infant (not requiring a seat) to an adult. Specify the infant passenger's ObjectKey

Example: SH2
Where SH2 is infant passenger's ObjectKey

Note: Though this is an optional element in NDC schema it must be passed if the request includes INF passenger, as the service needs to know which infant is associated with which adult

This is not required to be specified when the service is called in post-sale scenario

Age

 

 

O

Though this is an optional element, it is recommended to provide passenger's age, as it will be used to identify if the passenger is a young adult.

Note: UK Air Passenger Duty (APD) is not applicable to "young adults" aged 12 to 15 years inclusive for travel after 1 March 2016

Value

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/Age/Value

M [Choice]

Example: 15

BirthDate

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/Age/BirthDate

M [Choice]

Date of birth in "YYYY-MM-DD" format
Example: 2002-01-01

Name

 

 

M

 

Surname

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/Name/Surname

M

Example: SMITH

Given

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/Name/Given

O

Example: WILL

Title

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/Name/Title

O

Example: MR

Middle

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/Name/Middle

O

Example: G

FQTVs

 

 

O

Specify passenger's frequent flyer information

The FQTV details will be used to determine the seat price. Service will validate the FQTV's provided and will consider FQTV details to determine seat price only if it is valid

Note: FQTV details will not be accepted when the service is called in post-sale scenario

AirlineID

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/FQTVs/AirlineID

M

Frequent flyer airline code
Example: BA

Account

 

 

O

 

Number

 

SeatAvailabilityRQ/Travelers/Traveler/RecognizedTraveler/FQTVs/Account/Number

M

Frequent flyer number
Example: 12345678

Query

 

 

M

This section will vary based on when the service is called

Initial booking flow [Purchase Seat along with Flight]

Client must specify OriginDestination details when the service is called during initial booking flow, as booking is not created at this stage

Post-Sale [Purchase Seat after the booking is created]

Client can either query just with OrderID/PNR/Booking Reference [OR] with OrderID/PNR/Booking and specific flights in the booking

OriginDestination

 

 

O

Origin and destination (O&D) details. This must be repeated for each O&D. If the request is for EDI-AMS return then this must be repeated twice once for EDI-AMS and once for AMS-EDI

Note: This is an optional element in NDC schema but this must be specified when the service is called during initial booking flow

FlightSegmentReference

 

SeatAvailabilityRQ/Query/OriginDestination/FlightSegmentReference

O

List of flights within an O&D.

If the request is for EDI-AMS return with each O&D containing 2 flights (EDILHR and LHRAMS; AMSLHR and LHREDI) then for each O&D FlightSegmentReference should be repeated twice once for EDILHR and once for LHRAMS

Note: This is an optional element in NDC schema but this must be specified when the service is called during initial booking flow

ref (Attribute)

 

SeatAvailabilityRQ/Query/OriginDestination/FlightSegmentReference/ref (Attribute)

M

Unique reference to a flight segment
Example: BA1434

The flight details for this reference is returned in FlightSegmentList data list

ClassOfService

 

 

M

 

refs (Attribute)

 

 

O

Reference to a fare basis code for all passengers for this flight
Examples: FBCODEADTBA0423
FBCODECHDBA0428
FBCODEINFBA0428

Where

FBCODEADTBA0423 = Adult fare basis code for flight BA0423

FBCODECHDBA0423 = Child fare basis code for flight BA0423

FBCODEINFBA0423=
Infant fare basis code for flight BA0423

The fare basis code for the reference is returned in FareGroup data list

Code

 

SeatAvailabilityRQ/Query/OriginDestination/FlightSegmentReference/ClassOfService/Code

M

Booking/Selling class
Example: O

MarketingName

 

SeatAvailabilityRQ/Query/OriginDestination/FlightSegmentReference/ClassOfService/MarketingName

O

The cabin this selling class belongs to
Example: Euro Traveller

OrderID

 

 

O

PNR/Booking Reference

Note: This is an optional element in NDC schema but this must be specified when the service is called in post-sale scenario

DataLists

 

 

O

 

FareList

 

 

O

Fare basis code for each passenger for each flight should be specified

Note: Though this is optional in NDC schema, FareList must be passed in order to retrieve the priced seat map

This is not required to be specified when the service is called in post-sale scenario

FareGroup

 

 

M

This is a list and will be repeated to return all fare basis code for the itinerary

refs (Attribute)

 

SeatAvailabilityRQ/DataLists/FareList/FareGroup/refs (Attribute)

O

Reference to passengers and flight to which the fare basis code is applicable
Example: SH3 BA0428

ListKey (Attribute)

 

SeatAvailabilityRQ/DataLists/FareList/FareGroup/ListKey (Attribute)

M

Example: FBCODEINFBA0428

Fare

 

 

M

 

FareCode

 

 

M

 

Code

 

SeatAvailabilityRQ/DataLists/FareList/FareGroup/Fare/ FareCode/Code

M

Always pass as "70J"

FareBasisCode

 

 

M

 

Code

 

SeatAvailabilityRQ/DataLists/FareList/FareGroup/ FareBasisCode/Code

M

Fare basis code
Example: VZ0RIN

FlightSegmentList

 

 

O

Note: This is an optional list in NDC schema but this must be specified when the service is called during initial booking flow

When flight segment details are specified in post-sale scenario, the service will return priced seat map(s) only for the requested flight segments

FlightSegment

 

 

M

Flight segment details

SegmentKey (Attribute)

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/SegmentKey (Attribute)

M

Example: BA0428

Departure

 

 

M

Departure information

AirportCode

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Departure/AirportCode

M

Departure airport IATA code
Example: LHR

Date

 

FlightPriceRS/DataLists/FlightSegmentList/FlightSegment/Departure/Date

M

Local Departure date i.e. local to the departure location
Example: 2015-07-01

Time

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Departure/Time

O

Local Departure time i.e. local to the departure location
Example: 06:50

Arrival

 

 

M

Arrival information

AirportCode

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Arrival/AirportCode

M

Arrival airport IATA code
Example: AMS

Date

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Arrival/Date

O

Local Arrival date i.e. local to the arrival location
Example: 2015-07-01

Time

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Arrival/Time

O

Local Arrival time i.e. local to the arrival location
Example: 09:10

MarketingCarrier

 

 

M

Marketing carrier information

AirlineID

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/MarketingCarrier/AirlineID

M

Marketing carrier code
Example: BA

FlightNumber

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/MarketingCarrier/FlightNumber

M

Marketing flight number
Example: 0428

Equipment

 

 

O

Aircraft information

AircraftCode

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Equipment/AircraftCode

M

Example: 767



Response


Service Response Parameters

 

 

 

 

Input Parameters

Type

Schema Definition
*(

http://www.ba.com*


/schema/)

Optional/Mandatory

Comments

Response object

SeatAvailabilityRS

SeatAvailabilityRS.xsd

M

 

SeatAvailabilityRS Data Fields

 

 

 

 

Field Type

Data Type

Schema Definition
*(

http://www.ba.com/schema/)*

Optional/Mandatory

Comments

Document

 

 

M

 

Name

 

SeatAvailabilityRS/Document/Name

M

Will be returned as "BA"

Success

 

SeatAvailabilityRS/Success

M

The presence of the empty Success element explicitly indicates that the message succeeded

Warnings

 

 

O

Warning will be returned
1) When seat map is not returned for one or more requested flight. Warnings should be repeated for each flight the service did not return seat map for.
2) When FQTV validation failed for all passengers

Warning

 

SeatAvailabilityRS/Warnings/Warning

O

BA warning message

Example:
Unable to return seat map for flight - BA4603

Type (Attribute)

 

OrderViewRS/Warnings/Warning/Type (Attribute)

O

PADIS Code - IATA definition from codeset 9845

Example: 100

ShortText (Attribute)

 

OrderViewRS/Warnings/Warning/ShortText (Attribute)

O

PADIS message - IATA definition from codeset 9845

Example:
Seat map not available, request seat at check-in

ShoppingResponseID

 

 

O

 

ResponseID

 

SeatAvailabilityRS/ShoppingResponseID/ResponseID

M

Unique shopping response id. This is normally the date and time stamp

Example:
2015-05-29T14:20:25.043Z

Flights

 

 

M

This is a list and will be repeated for each flight for which the seat map is returned

FlightSegmentReferences

 

SeatAvailabilityRS/Flights /FlightSegmentReferences

O

 

Cabin

 

 

M

This is a list and will be repeated once for upper deck and once for main deck when the requested cabin is spread across upper and main deck

Code

 

SeatAvailabilityRS/Flights/Cabin/Code

M

BA Cabin code for the cabin for which the seat map is returned

Possible values are

M – Euro/World Traveller/Economy
J – Club World/Business
F – First
W – World Traveller Plus/Premium Economy
C – Domestic [within UK]
C – Club Europe /Business [short haul flights]

CabinLayout

 

 

O

 

WingPosition

 

 

O

Over the wing row information, if applicable. This must be returned regardless of over the wing seats are returned as valid seats

Rows

 

 

M

 

UpperDeckInd (Attribute)

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/WingPosition/Rows/UpperDeckInd (Attribute)

O

"True" means the wing row position is in upper deck
"False" means the wing row position is in main deck

First

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/WingPosition/Rows/First

M

Wing starting row position
Example: 20

Last

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/WingPosition/Rows/Last

M

Wing ending row position
Example: 27

ExitRowPosition

 

 

O

Return the exit row information, if applicable. This must be returned regardless of whether exit row seats are open or are returned as valid seats

Rows

 

 

M

 

UpperDeckInd (Attribute)

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/ExitRowPosition/Rows/UpperDeckInd (Attribute)

O

"True" means the exit row position is in upper deck
"False" means the exit row position is in main deck

First

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/ExitRowPosition/Rows/First

M

Exit seat starting row position
Example: 30

Columns (Attribute)

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/ExitRowPosition/Rows/First/ Columns (Attribute)

O

List of exit seat columns.

Example: ABCHJK

Last

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/ExitRowPosition/Rows/Last

M

Exit seat ending row position
Example: 30

Columns (Attribute)

 

SeatAvailabilityRS/Flights/Cabin/CabinLayout/ExitRowPosition/Rows/Last/ Columns (Attribute)

O

List of exit seat columns.

Example: ABCHJK

SeatDisplay

 

 

O

 

Columns

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Columns

M

Returns the list of columns for the cabin
Example: ABC-DEFG-HJK

Rows

 

 

M

Returns the starting end row position for each column

First

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Rows/First

M

Row starting row position for columns ABCDEFGHJK
Example: 20

Last

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Rows/Last

M

Row ending row position for columns ABCDEFGHJK
Example: 43

Component

 

 

O

This is where the non-seat characteristics are returned
I.e Galley, Wardrobe, Lavatory, Emergency Exit, Exit Door, Wall, Empty and Other seat location. This will be repeated for each non-seat characteristics

Locations

 

 

M

 

Location

 

 

M

 

Row

 

 

M

Non-seat's row position

Position

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Component/Locations/Location/Row/Position

M

Example: 27

Column

 

 

M

Non-seat's column position

Position

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Component/Locations/Location/Column/Position

M

Example: D

Type

 

 

M

 

Code

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Component/Type/Code

M

IATA Code from codeset 9978
Example: LA

Definition

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Component/Type/Definition

O

IATA definition from codeset 9978
Example: Lavatory

TableName

 

SeatAvailabilityRS/Flights/Cabin/SeatDisplay/Component/Type/TableName

O

IATA codeset value
"9978"

Services

 

 

O

This is where seat category price is returned

Service

 

 

M

Service will be repeated for each seat category price for all flights

ObjectKey (Attribute)

 

SeatAvailabilityRS/Services/Service/ObjectKey (Attribute)

O

Example: Service1

ServiceID

 

SeatAvailabilityRS/Services/Service/ServiceID

M

Example: SRVC-SEAT-PRICE-1-BA35

Owner (Attribute)

 

SeatAvailabilityRS/Services/Service/ServiceID/Owner (Attribute)

M

Will always be "BA"

Name

 

SeatAvailabilityRS/Services/Service/Name

M

Seat category
Example: GeneralSideSeat

Encoding

 

 

M

 

RFIC

 

 

M

IATA defined Reason For Issuance Code

Code

 

SeatAvailabilityRS/Services/Service/Encoding/ RFIC/Code

M

Will always be "A"
Where A = Air Transportation

Code

 

SeatAvailabilityRS/Services/Service/Encoding/Code

M

Service code
"SEAT"

Descriptions

 

 

M

 

Description

 

 

M

 

Text

 

SeatAvailabilityRS/Services/Service/Descriptions/ Description/Text

O

Seat category
Example: GeneralSideSeat

Price

 

 

O

 

Total

 

SeatAvailabilityRS/Services/Service/Price/Total

M

Seat category price
Example: 15.00

Code (Attribute)

 

SeatAvailabilityRS/Services/Service/Price/Total/ Code (Attribute)

O

Currency Code
Example: GBP

Associations

 

 

O

 

Traveler

 

 

O

 

AllTravelerInd

 

SeatAvailabilityRS/Services/Service/Associations/ Traveler/AllTravelerInd

M

Will always be "True" when the service is called during initial booking flow

TravelerReferences

 

SeatAvailabilityRS/Services/Service/Associations/ Traveler/TravelerReferences

M

References to passengers to whom the price is applicable

Example:
SH1 SH4 SH2 SH3

Flight

 

 

O

 

SegmentReferences

 

SeatAvailabilityRS/Services/Service/Associations/ Flight/SegmentReferences

M

Reference to a flight for which the seat price is returned
Example: BA0428

DataLists

 

 

O

 

AnonymousTravelerList

 

 

O

List of all passengers to whom the seat map is returned

AnonymousTraveler

 

 

M

This will be repeated for each anonymous passenger

ObjectKey (Attribute)

 

SeatAvailabilityRS/DataLists/AnonymousTravelerList/AnonymousTraveler/ObjectKey (Attribute)

O

Example: SH1

PTC

 

SeatAvailabilityRS/DataLists/AnonymousTravelerList/AnonymousTraveler/PTC

O

Passenger type code of this passenger
Example: ADT

PassengerAssociation

 

SeatAvailabilityRS/DataLists/AnonymousTravelerList/AnonymousTraveler/PassengerAssociation

O

Infant association
Example: SH2

RecognizedTravelerList

 

 

O

List of all passengers to whom the seat map is returned

RecognizedTraveler

 

 

M

This will be repeated for each known passenger

ObjectKey (Attribute)

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/ObjectKey (Attribute)

O

Example: SH2

PTC

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/PTC

O

Passenger type code of this passenger
Example: ADT

PassengerAssociation

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/PassengerAssociation

O

Infant association
Example: SH2

Name

 

 

M

 

Surname

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/Name/Surname

M

Example: SMITH

Given

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/Name/Given

O

Example: WILL

Title

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/Name/Title

O

Example: MR

Middle

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/Name/Middle

O

Example: G

FQTVs

 

 

O

Passenger's frequent flyer information

This will be returned only if the FQTV passed in SeatAvailabilityRQ for this passenger is valid (service internally validates the FQTV)

AirlineID

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/FQTVs/AirlineID

M

Frequent flyer airline code
Example: BA

Account

 

 

O

 

Number

 

SeatAvailabilityRS/DataLists/RecognizedTravelerList/RecognizedTraveler/FQTVs/Account/Number

M

Frequent flyer number
Example: 12345678

DataLists

 

 

O

 

DisclosureList

 

 

O

Seating policy link, Terms and conditions link and general seating rules are returned here

Disclosures

 

 

M

This is a list and will be repeated thrice; once for seating policy, once for terms and conditions and once for seating rules

ListKey (Attribute)

 

SeatAvailabilityRS/DataLists/DisclosureList/Disclosures/ListKey (Attribute)

M

Example: Seating-Rules

Description

 

 

M

This is a list and will be repeated for each seating rule/seating policy link/ terms and conditions link

Text

 

SeatAvailabilityRS/DataLists/DisclosureList/Disclosures/ Description/Text

O

Example:
Do not seat passengers without an accompanying infant in a bassinet seat

Media

 

 

O

 

MediaLink

 

SeatAvailabilityRS/DataLists/DisclosureList/Disclosures/ Description/Media/ MediaLink

M

Seating policy and Terms and conditions link is returned here

FlightSegmentList

 

 

O

 

FlightSegment

 

 

M

Flight segment details

SegmentKey (Attribute)

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/SegmentKey (Attribute)

M

Example: BA0428

Departure

 

 

M

Departure information

AirportCode

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/Departure/AirportCode

M

Departure airport IATA code
Example: LHR

Date

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/Departure/Date

M

Local Departure date i.e. local to the departure location
Example: 2015-07-01

Time

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/Departure/Time

O

Local Departure time i.e. local to the departure location
Example: 06:50

Terminal

 

 

O

Departure terminal information

Name

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Departure/Terminal/Name

O

Example: 2

Arrival

 

 

M

Arrival information

AirportCode

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/Arrival/AirportCode

M

Arrival airport IATA code
Example: AMS

Date

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/Arrival/Date

O

Local Arrival date i.e. local to the arrival location
Example: 2015-07-01

Time

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Arrival/Time

O

Local Arrival time i.e. local to the arrival location
Example: 09:10

Terminal

 

 

O

Arrival terminal information

Name

 

SeatAvailabilityRQ/DataLists/FlightSegmentList/FlightSegment/Arrival/Terminal/Name

O

Example: 3

MarketingCarrier

 

 

M

Marketing carrier information

AirlineID

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/MarketingCarrier/AirlineID

M

Marketing carrier code
Example: BA

FlightNumber

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/MarketingCarrier/FlightNumber

M

Marketing flight number
Example: 0428

OperatingCarrier

 

 

O

Operating carrier information

AirlineID

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/OperatingCarrier/AirlineID

O

Operating carrier code
Example: AA

Name

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/OperatingCarrier/Name

O

Operating carrier name
Example: British Airways

Equipment

 

 

O

Aircraft information

AircraftCode

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/Equipment/AircraftCode

M

Example: 767

ClassOfService

 

 

O

 

Code

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/ClassOfService /Code

M

Selling or Booking class code
Example: W

MarketingName

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/ClassOfService /MarketingName

O

Cabin name
Example: World Traveller

FlightDetail

 

 

O

 

Stops

 

 

O

Flight stop quantity

StopQuantity

 

SeatAvailabilityRS/DataLists/FlightSegmentList/FlightSegment/FlightDetail/ Stops/StopQuantity

O

Stop quantity
Example: 1

SeatList

 

 

O

Seat details are returned in this section

Seats

 

 

M

This is a list and will be repeated for each seat

refs (Attribute)

 

SeatAvailabilityRS/DataLists/SeatList/Seats/refs(Attribute)

O

Reference to a service (price) that is applicable for this seat
Example: Service2

ListKey (Attribute)

 

SeatAvailabilityRS/DataLists/SeatList/Seats/ListKey (Attribute)

M

An unique key (flight and seat number)
Example: BA1395B39

Location

 

 

M

Seat location details

Column

 

SeatAvailabilityRS/DataLists/SeatList/Seats/Location/Column

O

Seat column
Example: B

Row

 

 

O

Seat row

Number

 

SeatAvailabilityRS/DataLists/SeatList/Seats/Location/Row/Number

O

Row number
Example: 39

SeatData

 

 

O

This is where the emergency exit criteria (for emergency exit seat) is returned. This will be returned only for emergency exit seats.

Marketing

 

 

O

 

Remarks

 

 

O

 

Remark

 

SeatAvailabilityRS/DataLists/SeatList/Seats/Location/Row/SeatData/Marketing/Remarks/Remark

M

This is a list and will be repeated for each emergency exit criteria
Example:

  • be over the age of 12 years
  • be able bodied and fit enough to open and operate an emergency exit door

Characteristics

 

 

O

Seat characteristics

Characteristic

 

 

M

This is a list and will be repeated for each seat characteristic

Code

 

SeatAvailabilityRS/DataLists/SeatList/Seats/Location/Characteristics/Characteristic/Code

M

IATA Code from codeset 9825
Example: RS

Definition

 

SeatAvailabilityRS/DataLists/SeatList/Seats/Location/Characteristics/Characteristic/Definition

O

IATA definition from codeset 9825
Example: Right side of aircraft

Details

 

SeatAvailabilityRS/DataLists/SeatList/Seats/Details

O

The seat category this seat belongs to
Example: GeneralSideSeat

Metadata

 

 

O

 

Other

 

 

O

 

OtherMetadata

 

 

M

 

AddressMetadatas

 

 

M

 

AddressMetadata

 

 

M

Billing address information is returned here

MetadataKey (Attribute)

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/AddressMetadatas/AddressMetadata/MetadataKey (Attribute)

M

Unique key
Example: Address

AddressType

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/AddressMetadatas/AddressMetadata/AddressType

O

Will always be "Billing"

AddressFields

 

 

O

Returns mandatory address fields details that should be provided when payment card is used as form of payment in OrderChangeRQ

FieldName

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/AddressMetadatas/AddressMetadata/AddressFields/ FieldName

M

Example:

<AddressFields>
<FieldName Mandatory="true">AddressLine1</FieldName>
<FieldName Mandatory="true">AddressLine2</FieldName>
<FieldName Mandatory="true">PostalCode</FieldName>
<FieldName Mandatory="true">CountryCode</FieldName>
</AddressFields>

Mandatory (Attribute)

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/AddressMetadatas/AddressMetadata/AddressFields/ FieldName/Mandatory (Attribute)

M

Boolean and will always be returned as "True".

This is because the service will only return mandatory address fields that should be provided when payment card is used as form of payment in OrderChangeRQ

CurrencyMetadatas

 

 

M

 

CurrencyMetadata

 

 

M

This is where the number of decimal that is applicable for the currency code is returned

MetadataKey (Attribute)

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/CurrencyMetadatas/CurrencyMetadata/MetadataKey (Attribute)

M

Unique key
Example: GBP

Decimals

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/CurrencyMetadatas/CurrencyMetadata/Decimals

O

Number of decimal applicable for the currency code returned in the response
Example: 2

PaymentCardMetadatas

 

 

M

 

PaymentCardMetadata

 

 

M

Returns the list of applicable payment cards along with the mandatory card information and mandatory billing address information that should be passed when a payment card is selected for payment in OrderChangeQ
Note: If PaymentOptions not returned, it means card payment is not applicable for the agent's location (point of sale) and the customer's billing country

MetadataKey (Attribute)

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ MetadataKey (Attribute)

M

Unique key
Example: Payment1

CardCode

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ CardCode

M

Example: VI

CardName

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ CardName

O

Example: Visa Credit

CardType

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ CardType

O

Example: Credit

CardFields

 

 

O

Returns the list of mandatory payment card details that should be specified when a card is selected for payment in OrderChangeRQ

FieldName

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ CardFields/FieldName

M

This is a list and is repeated to return all the mandatory card details

Example:

<FieldName Mandatory="TRUE">CardType</FieldName>
<FieldName Mandatory="TRUE">CardCode</FieldName>
<FieldName Mandatory="TRUE">CardName</FieldName>
<FieldName Mandatory="TRUE">CardNumber</FieldName>
<FieldName Mandatory="TRUE">CardHolderName</FieldName>
<FieldName Mandatory="TRUE">Expiration</FieldName>
<FieldName Mandatory="TRUE">SeriesCode</FieldName>

Mandatory (Attribute)

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ CardFields/FieldName/ Mandatory (Attribute)

M

Boolean and will always be returned as "True".

This is because the service will only return mandatory card details that should be provided when payment card is used as form of payment to purchase ancillaries through OrderChangeRQ

Surcharge

 

 

O

Surcharge fee applicable for the payment card

Amount

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ Surcharge/Amount

M

Total surcharge amount for all passengers

Example: 20.00

Code (Attribute)

 

SeatAvailabilityRS/Metadata/Other/OtherMetadata/ PaymentCardMetadatas/ PaymentCardMetadata/ Surcharge/Amount/Code (Attribute)

O

Currency Code
Example: GBP

Errors

 

 

M

Error information

Error

 

SeatAvailabilityRS/Errors/Error

M

This is a list so more than one error will be returned by repeating Error

BA error code and message
Example:
Unable to return seat map – Invalid flight details requested for one or more flights

ShortText (Attribute)

 

SeatAvailabilityRS/Errors/Error/ShortText

O

PADIS error code
Example: 467

Code (Attribute)

 

SeatAvailabilityRS/Errors/Error/Code

O

PADIS error message
Example:
Flight segment not found in carrier's PNR




URLs to access this web service


Live URL


https://api.ba.com/selling-distribution/SeatAvailability/V2
Note: If you are operating on the earlier version of our APIs, the endpoint is
[
{_}https://api.ba.com/selling-distribution/SeatAvailability/V1_

]Please note that this version does not support all the latest functionality and it uses IATA Schema 1.1.3

Test URL



https://test.api.ba.com/selling-distribution/SeatAvailability/V2
Note: If you are operating on the earlier version of our APIs, the endpoint is
[
https:/test./api.ba.com/selling-distribution/SeatAvailability/V1

]Please note that this version does not support all the latest functionality and it uses IATA Schema 1.1.3

Mandatory headers


In order to access our API, you will need to pass the following two headers for each call
Client-key: Your 24-bit API connection key
SOAPAction: SeatAvailabilityV01

Sample SOAP NDC Request to access this web service













Sample SOAP NDC Response









Sample SOAP NDC Response with errors





Sample SOAP Response with errors

Any schema validation error will be returned as SOAP Fault









Frequently Asked Questions


FAQs

Q: Can I change the 24-bit connection key provided by British Airways developer website?
A: No, these keys are issued using a secured algorithm and cannot be modified. However if you feel that your key has been compromised, we can block the existing one and issue a new one for you.
Q: Do I need to advise British Airways of any IP changes?
A: No, the API endpoints are not dependent on your IP and therefore you do not need to let us know of any change on your end.
Q: Can I modify the username used for the Developer website?
A: Yes, you would need to register with a new name, and let your usual BA contact know so that your accesses can be transferred from your previous account to the new one.

Usability Guide


Usage advice


SeatAvailability Service

  1. SeatAvailability service should be called to get the seat map and the full seat price details.


  1. The service returns prices in the currency of the agent's country.


  1. The service returns one seat map per flight on the requested cabin and it returns only the unoccupied seats along with seat display details such as the column details, row start and end position for each column, seat (Aisle seat, Rear facing etc) and non-seat characteristics (Galley, Lavatory etc).


  1. If emergency exit seat is selected the service assumes that the client has accepted the terms and conditions to sit in an emergency exit seat. Those terms and conditions can be reviewed through the link provided in the API response.


  1. Once the seat is selected OrderCreate should be called to book the seats along with flights.


  1. The service returns seat prices taking into account customer's FQTV details and agent's corporate discount code (BACCI code).


  1. The service returns a warning message, if seat map is not returned for some of the requested flights. Example: Seat map is requested for BA117 and BA1516, but seat map is returned only for BA117 then response will contain warning message saying seat map is not returned for BA1516.


  1. The service returns BA seating policy and Terms and conditions link in the response


  1. If only OrderID is specified in the request, the service returns priced seat map(s) for all flights in the booking, if applicable. This is a post-sale behaviour only.


  1. Along with OrderID client may also request specific flights in the booking – service will return priced seat map(s) only for the requested flights in this case. The flight details specified in the request must match with the details present in the booking otherwise error will be returned. This is a post-sale behaviour only.


  1. The service checks if the agent requesting the seat map is the one who has created the booking and is accessing the API via the same channel as booking creation. It returns error if the agent details do not match.


  1. The service will not accept FQTV details in the SeatAvailability RQ post-sale scenario. It returns seat price based on FQTV details already present in the booking. Please note that it is possible to add FQTV details post-sale independently, and call SeatAvailability afterwards.


  1. If a customer has already purchased a seat then the seat price returned will be a differential amount for each seat category. Example: If a customer has already paid £20 for a general seat then in the response general seat price will be returned as £0.00 ,but for example, Twin seat price will be returned as £10 (Actual cost of a Twin seat is £30, but since the customer has already paid £20 only the differential amount will be returned). This is a post-sale behaviour only.


  1. The service returns payment options – list of applicable cards that should be used to purchase seats via OrderChange service. Please note that payment options will be returned only when SeatAvailability service is called in post-sale scenario, since the payment options are returned in Flight Price service in booking flow.


  1. In Post-Sale scenario - Once the seat is selected OrderChange should be called to book or change seats.


  1. For a held booking, the service returns Seat Map if only free seats are available. This is because paid seats can't be booked once held booking is created.



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).


  1. 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.


  1. The service checks if the requesting Travel Management Company (TMC) is allowed to service the corporate and returns error if it is not allowed.


  1. 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.




Appendix 1 –Web Services error responses


SeatAvailability error/ineligibility checks

PADIS Error Code

PADIS Error Text

102

Unable to process

304

System Temporarily unavailable

100

Seat map not available, request seat at check-in

200

FQTV number not accepted

129

No PNR Match Found

375

Requestor not authorized for this function for this PNR

467

Flight segment not found in carrier's PNR

208

Advance Seat Selection Not Available, Flight Already Departed

202

Advance Seat Selection Not Available for this Carrier

461

Ineligible for Requested Action -Group PNR not allowed

201

Advance Seat Selection Not Available for this Class/Compartment/Zone



Appendix 2 – Languages supported by BA


BA supports the below 11 languages

Language Code

Language

EN

English

ES

Spanish

JA

Japanese

FR

French

IT

Italian

ZH

Chinese

DE

German

PT

Portuguese

RU

Russian

PL

Polish

SV

Swedish