menu

Book

* Book method is to hold the Booking of Non LCC airline. Every Non LCC airline must be Hold first before ticketing. It will not work for LCC airline because LCC airline is ticketed directly.

* Price verification is done before creating a booking and PNR No. is returned in case of a successful booking.

* In case of Price change or Time change, you will get new fare and/or new time in Book response with IsPriceChanged node and/or IsTimeChanged node set as ‘true’.

* The price comparison is to be made at the client’s end, and Book request needs to be sent again with the updated fare and/ or updated time.

* Passport details are optional in some of the airlines. However, if not provided inbook request, then the same needs to be provided in Ticket request.

* If in case there is any price or time chnage then you need to hit the ticket method only and the ticket would be generated with the updated price only.

Note:
For the base fare and tax in the booking request, you need to send the full amount for each passenger. For example, if you have 3 passengers and the total fare is 3000 USD, with a base fare of 2000 USD and tax of 1000 USD, you must send the full 2000 USD as the base fare and 1000 USD as the tax for each passenger.

  • Passenger 1: Base fare = 2000 USD, Tax = 1000 USD
  • Passenger 2: Base fare = 2000 USD, Tax = 1000 USD
  • Passenger 3: Base fare = 2000 USD, Tax = 1000 USD

The fare division will be handled by TBO and will be provided in the booking and ticket response.

Service URL (REST) to be used:
https://xmloutbookingapi.tboair.com/api/v1/Booking/Book

Book API – Parameter Definition
Level1 Element Format Comments Mandatory/ Optional
1 ResultId String ResultId Mandatory
2 TokenId String Token Id Mandatory
3 IPAddress String IP Address of the end user Mandatory
4 IsHoldEligibleForLcc Boolean Is hold applicable for lcc Mandatory(Value –true or false)
5 NoOfSeatAvailable Integer Number of Seats Mandatory(from search response)
6 OperatingCarrier String Airline name Mandatory(from search response)
7 SegmentIndicator Integer Segment Indicator 1 - outbound2 -Inbound flights
8 Airline String Airline code Mandatory
9 AirportCode String Pax type Mandatory
10 AirportName String Airport name Optional
11 CityCode String City code Mandatory
12 CityName String City name Mandatory
13 CountryCode String Country code Mandatory
14 CountryName String Country name Mandatory
15 Terminal String Terminal number Optional
16 FlightNumber String Flight Number Mandatory
17 DepartureTime Date Time Departure time Mandatory4
18 ArrivalTime Date time Arrival time Mandatory
19 BookingClass String BookingClass Mandatory(from farequote response)
20 FlightStatus String Flight status Mandatory
21 MealType String Mealtype Null as value
22 ETicketEligible Boolean Is E-Ticket eligible Mandatory(Value –true or false)
23 AirlinePNR String AirlinePNR Null as value
24 Craft String Craft Optional
25 StopOver Boolean Direct or Stop flight Mandatory
26 Stops String Number of Stops Mandatory
27 Mile String Miles Optional
28 Duration Time Duration Optional(if in caseduration is 0 refer the node of Accumulated Duration)
29 GroundTime Time Ground time Optional
30 AccumulatedDuration Time Accumulated duration Optional
31 StopPoint String Stopover point Optional
32 StopPointArrivalTime Date Time Stopover arrival time Optional
33 StopPointDepartureTime Date Time Stopover departure time Optional
34 IncludedBaggage String Checkin Baggage Mandatory
35 CabinBaggage String CabinBaggage Mandatory Included or KG or PC(from search response)
36 CabinClass String Economy/Premium/Economy/Business/First etc Non Mandatory
37 AdditionalBaggage String Any Additional Baggage Non Mandatory
38 AirlineCode String Airline code Mandatory
39 FlightNumber String Flight Number Mandatory
40 Craft String Craft Optional
41 AirlineName String Airline name Mandatory
42 OperatingCarrier String Airline name Mandatory
43 AirlineName String Airline name Mandatory
44 DepartureDate String Departure time Mandatory
45 ArrivalDateTime String Arrival time Mandatory
46 LayoverText String Layover text Non Mandatory
47 InFlightServices String In service Non Mandatory
Passenger Details
1 Title Enumeration Mr = 0, Miss = 1, Mrs = 2 Mandatory
1.1 FirstName String FirstName Mandatory
1.2 LastName String LastName Mandatory
1.3 Type Enumeration Adult NotSet = 0, Adult = 1, Child = 2, Infant = 3, Senior = 4, Youth = 5 Mandatory
1.4 DateOfBirth String DOB Mandatory
1.5 Gender Enumeration NotSet = 0, Male = 1, Female = 2 Mandatory
1.6 PassportNo String PassportNo Mandatory
1.7 PassportExpiry String PassportExpiry Mandatory
1.8 AddressLine1 String AddressLine1 Mandatory
1.9 AddressLine2 String AddressLine2 Mandatory
1 Nationality
6.8 CountryCode String CountryName Mandatory
6.9 AirlineRemarks String Airline Remarks Optional
6.10 CountryName String CountryCode Mandatory
6.11 City
6.12 CityCode String CityCode Mandatory
6.13 CityName String City name Mandatory
6.13.1 Currency String Currency Mandatory
6.13.2 Meal
6.13.3 Code String Baggage code Mandatory
6.13.4 Description Integer Description 0
6.13.5 Seat NA NA can send as NULL
6.13.6 Mobile1 Numeric Mobile1 Mandatory
6.13.7 Email String Email Mandatory
6.13.8 IsLeadPax Boolean true or false Mandatory
6.13.8.1 FFAirline String Frequent flyer Mandatory(SEND value as NULL)
6.13.8.2 FFNumber String Frequent flyer number Mandatory(SEND value as NULL)
6.13.8.3 Fare(response from fare quote)
6.13.9 TotalFare Decimal TotalFare Mandatory (The value of total fare
should be sent exactly as received in the fare quote,
without any modifications.)
For example, if the total fare is 1500 USD for 3 passengers,
send the full 1500 USD for each pax under fare.
The backend will handle the division among passengers.
6.13.10 OtherCharges Decimal Other Charge Mandatory
6.13.11 AgentMarkup Decimal Agency markup as per Non Mandatory
6.13.12 ServiceFee Decimal Service Fee Mandatory
6.13.13 BaseFare Decimal The total Base fare of the booking Mandatory
6.13.14 Tax Decimal The total tax of the booking Mandatory
6.13.15 Origin String Origin Mandatory (e.g.DEL)
6.13.16 Destination String Destination Mandatory
6.13.17 Airline String Airline Mandatory
6.13.18 FareRestriction String Fare basis code Mandatory
6.14 FareBasisCode String List Fare rule details Mandatory
6.14.1 FareRuleDetail String List Fare rule details7 Mandatory
6.14.2 DepartureDate String Departure date Mandatory
6.14.3 ValidatingAirlineCode String ValidatingAirlineCode Mandatory
6.14.4 ResponseTime String Response time 0
6.14.5 JourneyType Enumeration Specify journey type Mandatory
6.14.6 Destination String Destination city code Mandatory
6.14.7 Origin String Origin city code Mandatory
6.14.8 LastTicketDate Date Time LTD Mandatory(null)
6.14.9 TravelDate Date time Travel Date Travel Date
6.14.10 SearchType Enumeration NotSet = 0, OneWay = 1, Return = 2, MultiWay = 3, AdvanceSearch = 4 Mandatory
6.14.11 NonRefundable Boolean Fare refundable ornot Mandatory
6.14.12 IsDomestic Boolean LCC/Non LCC Mandatory
6.14.13 IsLcc Boolean Is the result for LCCor Non LCC Mandatory
6.14.14 AirlineRemark String Airline remarks Optional
6.14.15 PointOfSale String Departure Country code Mandatory
6.14.16 RequestOrigin String Departure Country name Mandatory
6.14.17 EndUserBrowserAgent String Browser Information like Mozilla/5.0(Windows NT6.1) Mandatory
6.14.18 UserData String Pax name Mandatory
6.14.19 Passenger Details Title Enumeration Mr = 0, Miss = 1, Mrs = 2
6.14.20 FirstName String FirstName Mandatory
6.14.20.1 LastName String LastName Mandatory
6.14.20.2 Type Enumeration Adul NotSet = 0, Adult = 1, Child = 2, Infant = 3, Senior = 4, Youth = 5 Mandatory
6.14.20.3 DateOfBirth String DOB Mandatory
6.14.20.4 Gender Enumeration NotSet = 0, Male = 1, Female = 2 Mandatory
6.14.20.5 PassportNo String PassportNo Mandatory
6.14.20.6 PassportExpiry String PassportExpiry Mandatory
6.14.20.7 AddressLine1 String AddressLine1 Mandatory
6.14.20.8 AddressLine2 String AddressLine2 Mandatory
6.14.20.8.1 Nationality -
6.14.20.8.2 CountryCode String CountryName Mandatory
6.14.20.8.3 CountryName String CountryCode Mandatory
6.14.20.9 City
6.14.20.10 CityCode String CityCode Mandatory
6.14.20.11 CityName String City name Mandatory
6.14.20.12 Meal
6.14.20.13 Code String Baggage code Mandatory
6.14.20.14 Description Integer Description 0
6.14.20.15 Seat NA NA can send as NULL
6.14.20.16 Mobile1 Numeric Mobile1 Mandatory
6.14.20.17 Mobile1CountryCode String Mobile1CountryCode Mandatory
6.14.20.18 Email String Email Mandatory
6.14.21 IsLeadPax Boolean true or false mandatory
6.14.21.1 FFAirline String Frequent flyer Mandatory(SEND value as NULL)
6.14.21.2 FFNumber String Frequent flyer number Mandatory(SEND value as NULL)
6.14.22 Fare(response from fare quote) TotalFare Decimal Mandatory (The value of total fare
should be sent exactly as received in the fare quote,
without any modifications.)
For example, if the total fare is 1500 USD for 3 passengers,
send the full 1500 USD for each pax under fare.
The backend will handle the division among passengers.
6.14.22.1 OtherCharges Decimal Other Charge Mandatory
6.14.22.2 AgentMarkup Decimal Agency markup as per Non Mandatory
6.14.22.3 Response Status Integer Booking response status enums { NotSet = 0, Successful = 1,
Failed = 2, OtherFare = 3,
OtherClass = 4, BookedOther = 5,
NotConfirmed = 6, Pending = 7,
InProgress = 8, Cancelled = 9, }