Introduction
The OrderChange-Confirm Held Booking Webservice provides IATA Accredited Travel Agents etc, new retailers and Service Providers the ability to pay for the held booking as per IATA NDC schema standards.
The service accepts payment (card or cash aka BSP settlement or e-voucher) and issues eTickets and EMD.
OrderChange - Confirm Held Booking Webservice
This service is used to pay and confirm the booking that has already been held. The service accepts the payment and issues eTickets and EMD for all passengers in the held booking. Once the eTickets and EMDs are successfully issued the service returns both eTicket and EMD details in the response.
Interface Design
Limitations
- The service supports the creation of public or private fare bookings, for parties of up to 9 passengers
- Multiple forms of payment are not supported except
- The following are examples of types of bookings that are not supported by the service (but this list is not exhaustive)
- All types of redemption bookings
- All group bookings
- Unaccompanied minors
- Booking with only young adult passengers
- Only one e-voucher number can be accepted to confirm the booking
- E-voucher cannot be used to pay for ancillary
This web service is called with the following inputs:
- OrderID (Booking reference or PNR reference)
- ResponseID returned in the preceding OrderReshopRS
- Payment details. Acceptable form of payments are as follows:
- Cash (BSP Settlement)
- Card
- E-Voucher
- E-Voucher + Card
- E-Voucher + Cash
- Payer details
The output data this service returns include:
- Booking reference (PNR)
- Passenger details
- Passenger Type Code (PTC).
- First name.
- Last name.
- Middle name.
- Title.
- Date of birth, if it is present in the booking.
- FQTV details, if it is present in the booking.
- On Business details.
- Gender, if it is present in the booking.
- Immigration details.
- Contact detail
- Phone contact along with country code/ area code.
- Address contact including country code.
- Total Order Price – This is the sum of fare and tax for all passengers in the booking along with seat price for all passengers in the booking.
- Return tax breakdown along with nature code and description.
- For hold booking price for the itinerary (base fare, tax, and total price) per passenger.
- Seat price (for a free seat it should be 0) along with seat details per passenger per flight segment.
- Stop locations along with stop quantity.
- Flight segment details.
- Flight list along with associated flight segment references.
- Origin and destination list.
- eTicket details per passenger.
- EMD details per passenger.
- Manage my booking link.
- Seating policy link, if passengers have purchased seats.
- Seating terms and conditions link if passengers have purchased seats.
- Warning message if seat purchase failed i.e create a booking without seats.
- Payment information with masked payment card details.
- Payer’s contact details, if payer is not a passenger.
- Error message along with the list of applicable payment cards:
- If the requested card is not applicable to the customer’s billing country and agent location.
- If the requested card surcharge does match.
- In case e-voucher has balance after paying for the flights for all passengers, new voucher is issued with the balance amount and the EMD details are returned back in the response.
Http Headers
Client-key: Your 24-bit API connection key
SOAPAction: OrderChange17_2_V3
Endpoints
LIVE |
PRE-LIVE |
BETA |
https://api.ba.com/selling-distribution/OrderChange/17.2/V3 |
https://test.api.ba.com/selling-distribution/OrderChange/17.2/V3 |
https://test.api.ba.com/selling-distribution/sandbox/OrderChange/17.2/V3 |
General Usage
The service checks if the total amount payable passed in OrderChangeRQ matches with the total price for the itinerary for all passengers and total price for paid seats (if the booking held also had paid seats) for all passengers. It returns an error if the amount does not match.
The service works out the commission that is applicable to the agent irrespective of whether the commission value is passed in the request or not.
The service issues ETickets (for flights) and EMDs (for ancillaries) once payment is authorised and the total amount payable matches with the flight and seat price for all passengers
This service accepts the following forms of payment
a. Cash (BSP Settlement)
b. Card
c. E-Voucher
d. E-Voucher + Card
e. E-Voucher + Cash
The service returns both ETicket and EMD details once the documents are successfully issued.
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.
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).
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.
The service returns both ETicket and EMD details once the documents are successfully issued.
Only one E-Voucher can be redeemed per booking for all passengers in the booking
The service will throw an error message if multiple e-vouchers are passed in the request
E-Voucher Validation
The service expects the client to pass the E-Voucher number along with the surname of the passenger on the voucher and email address the voucher was issued to. If any of thee details are missing or not correct, the service will throw an error message.
E-Voucher can be used only for flights for all the passengers in booking
The service allows E-Voucher redemption only against flights. If you have any paid ancillaries, you will need to pass card of cash to confirm those ancillaries.
E-voucher should be fully consumed to pay for a flight. If the E-Voucher value is not enough to pay for the flights, then the additional amount can be paid using card or cash. Additional forms of payment (cash/card) used to pay for flight will only be accepted if the E-Voucher value doesn't cover the cost of the flights. The service will throw an error message if the E-Voucher is partly used to pay for the flights along with cash/card.
For example:
- If an E-Voucher is worth 1000GBP and booking for 2 passengers, where the price is 400GBP per passenger, it can be entirely paid using the E-Voucher. An agent cannot pay part by E-Voucher and part by cash/card so long as the E-Voucher has money left on it.
- If an E-Voucher is worth 500GBP and booking for 2 passengers, where the price is 400GBP per passenger, the remaining 300GBP can be paid using cash/card,
- If an E-Voucher is worth 1000GBP and booking for 2 passengers, where the price is 400GBP per passenger with an additional 25GBP per passenger for seats. The E-Voucher can be used for 800GBP towards the flights, but the remaining 50GBP must be paid with cash/card as E-Voucher is not an accepted form of payment for ancillaries.
New E-voucher issued with balance value
If there is a balance left on the E-Voucher after issuing the tickets for all passengers in a booking, a new E-Voucher with the new balance value will be issued and the details will be returned in the API response.
Authentication
- The service checks if the agent requesting OrderChange is the one who has created the booking and is accessing the API via the same channel as booking creation. It returns an error if the agent details do not match.
- The service checks if the requesting corporate’s detail matches with the booking and returns an error if the corporate details do not match.
- The service checks if the requesting Travel Management Company (TMC) is allowed to service the corporate and returns error if it is not allowed.
For cash payment, the client must choose the form of payment method as Cash in the OrderChangeRQ
Card payments are accepted to create a booking. The steps involved are detailed in expanded list
- Card payments are accepted to create a booking. The steps involved are detailed below:
- Not all payment cards are applicable to all countries. The service determines the applicable payment cards based on agent’s location (point of sale) and the customer’s billing country (this is basically where the customer’s card is registered or the country of residence of the customer)
- In the OrderReshopRQ, the agent may specify customer’s billing country (this is basically where the customer’s card is registered or the country of residence of the customer). This is an optional element, as, during the requote stage, the agent may or may not ask customer’s card details, as the customer may not have decided to make the booking at this stage
- In the OrderReshopRS, the list of applicable payment cards along with the mandatory card information and mandatory card billing address information based on the agent’s location and customer’s billing country is returned. Each card will be returned with surcharge amount, if applicable. The surcharge returned is the total amount for all passengers.
- If customer’s billing country was not provided in the OrderReshopRQ, then the list of applicable payment cards with the mandatory card information and mandatory card billing address information based on the agent’s location will be returned. Agent’s location will be assumed as the customer’s billing country in this case.
- In OrderReshopRS, if no payment card details returned, it means card payment is not applicable to the agent’s location and the customer’s billing country. This is an exceptional case though.
- In OrderChangeRQ, pass payment card details with all the mandatory information for the card such as expiry date, surcharge, card number etc and the mandatory card billing address information such as address, postcode etc as returned in the OrderReshopRS (returned as part of error when payment card passed in OrderChangeRQ is not applicable).
- Although CardName will always be returned as a mandatory element in OrderReshopRS, it is not required to be passed in OrderChangeRQ. The service will internally work out the CardName from CardCode
- If any of the mandatory fields are not passed or invalid details passed, then the service will return the error in OrderViewRS with the element that was missing or invalid. The client should then correct the details and call OrderChangeRQ again. Booking will not be created in this scenario.
- If the payment card passed is not applicable then the service will return an error in OrderViewRS with the list of applicable payment cards along with the mandatory card information and mandatory card billing address information based on the customer’s billing country and agent’s location. This is possible where the customer’s billing country was not passed in OrderReshopRQ as it was not known during OrderReshop (Requote) stage. So the service will return payment cards based on agent’s location but when OrderChangeRQ is called with that payment card, it may not be applicable for the customer’s billing country and agent’s location. Note: OrderChange service knows the customer’s billing country based on the billing address information passed in the OrderChangeRQ.
Example: Agent location = UK, Customers billing country = US When calling OrderReshopRQ, if customers billing country was not passed in the request, the list of applicable payment cards returned will be based on the UK. Let’s say it returned Visa Credit, Visa Debit, and Maestro. In OrderChangeRQ, if the customer has selected Maestro the service will now validate whether Maestro is applicable for UK and US and if it is not valid then an error will be returned along with the list of applicable payment cards for UK and US
- If the payment card is valid and if the payment card authorisation is successful then payment will be accepted and booking will be created.
- An ETicket will not be issued and the customer will not be charged if the payment card authorisation fails
The eTicket confirmation email will be sent to the agent’s email address for bookings created by IATA agents
OrderViewRS returns total price charged from each form of payment (Card, Cash or E-Voucher).
In OrderChangeRQ, the client can specify the language in which the eTicket receipt email and any other communication emails from BA should be sent. If the preferred language is not supported by BA or is not passed in the request then the default language will be used, which is English. Please see 'Language Support' page for the languages that are supported by BA.
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 needs 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.
IATA Agent can redeem the E-Voucher issued to booking created by them or E-Voucher issued to non-IATA bookings. They cannot redeem the E-Voucher issued to different IATA Agent bookings.
The E-Voucher consumption(used) email will be sent to the email address the voucher was issued to.
The email with new E-Voucher details with balance value will be sent to:
- If E-Voucher used was issued to an IATA agent, then the new E-Voucher details will be sent to the same email address
- If the E-Voucher used was issued to a non-IATA agent, then new E-Voucher details will be sent to E-Voucher owner if the E-Voucher owner is travelling, else to the lead passenger email address in the booking.
Non-IATA Agents
The commission is not applicable for non-IATA agents. Even if the commission element is passed in OrderChangeRQ, the service will ignore the commission
Special cash payment is not allowed for non-IATA agents
The eTicket confirmation email will be sent to the customer’s email address
The E-Voucher consumption(used) email will be sent to the email address the E-Voucher was issued against
Non-IATA Agencies cannot redeem E-Vouchers issued to IATA agency bookings. They can only redeem E-Vouchers against non-IATA bookings.
Non-IATA agencies redeeming E-Vouchers issued to bookings created by Non-IATA agencies
If the E-Voucher owner is not travelling, the E-Voucher can only be redeemed for the booking where the first departure is after 4 days.
If the E-Voucher owner is travelling, then the E-Voucher can be redeemed even when the first departing flight is within 4 days.