Booking Details
This API retrieves booking details for a specified booking code
API Request Response Structure
Path Parameters
Parameter | Type | Description |
---|---|---|
bmsBookingCode | String | Unique identifier for the booking. |
Response Body Structure
Root Level
Key | Type | Description |
---|---|---|
booking_details | Object | Contains booking information. |
booking_details
Object
booking_details
ObjectKey | Type | Description |
---|---|---|
flight_itinerary | Object | Flight itinerary details. |
itineraryId | Integer | Unique ID associated with the itinerary. |
error | Object | Error details (if any). |
addtional_booking_details | Object | Additional details related to the booking. |
itemCode | String | Unique item code of the booking. |
bmsBookingCode | String | Unique booking code in the system. |
bookingStatus | String | Status of the booking ("CONFIRMED" , "PENDING" , "FAILED" ). |
flight_itinerary
Object
flight_itinerary
ObjectKey | Type | Description |
---|---|---|
statusCode | Integer | HTTP status code of the response. |
responseData | Object | Contains the booking details. |
responseData.results
Object
responseData.results
ObjectKey | Type | Description |
---|---|---|
paxCount | Integer | Total number of passengers. |
adultCount | Integer | Number of adults in the booking. |
childCount | Integer | Number of children in the booking. |
infantCount | Integer | Number of infants in the booking. |
itineraryCode | String | Unique identifier for the booked itinerary. |
traceId | String | Unique tracking identifier. |
addONs | Object | Additional services (if applicable). |
isDomestic | Boolean | true if the flight is domestic, false otherwise. |
previousTotalAmount | Integer | Previous total fare before final booking. |
totalAmount | Integer | Final fare after booking confirmation. |
isPriceChanged | Boolean | true if fare changed before booking. |
insuranceAmount | Integer | Cost of travel insurance. |
baseFare | Integer | Base fare amount. |
taxAndSurcharge | Integer | Total taxes and surcharges. |
tcDiscount | Integer | Discount applied to the booking. |
isHoldAllowed | Boolean | true if ticket hold is allowed. |
totalHoldCharges | Integer | Charges for holding the ticket. |
itineraryItems
(Flight Itinerary Details)
itineraryItems
(Flight Itinerary Details)Key | Type | Description |
---|---|---|
itemCode | String | Unique identifier for the itinerary item. |
type | String | Type of service (e.g., "FLIGHT" ). |
itemFlight | Object | Flight-specific details. |
itemFlight
Object (Flight Details)
itemFlight
Object (Flight Details)Key | Type | Description |
---|---|---|
resultIndex | String | Unique identifier for the flight result. |
origin | String | IATA code of the departure airport. |
destination | String | IATA code of the arrival airport. |
airlineName | String | Name of the airline. |
flightNumber | String | Flight number. |
journeyType | Integer | Type of journey (1 : One-way, 2 : Round-trip). |
distributor | String | Distributor code. |
departureAt | String | Departure date and time (ISO format). |
arrivalAt | String | Arrival date and time (ISO format). |
fareIdentifier | Object | Contains fare details (name, code, color code). |
stopCount | Object | Information about stopovers. |
webCheckInUrl | String | URL for online check-in (if available). |
pnrDetails
(PNR Information)
pnrDetails
(PNR Information)Key | Type | Description |
---|---|---|
origin | String | IATA code of the departure airport. |
destination | String | IATA code of the arrival airport. |
pnr | String | Passenger Name Record for the booking. |
passengers
(Passenger Details)
passengers
(Passenger Details)Each passenger contains:
Key | Type | Description |
---|---|---|
id | Integer | Passenger ID. |
title | String | Title (e.g., "Mr" , "Ms" ). |
firstName | String | Passenger's first name. |
lastName | String | Passenger's last name. |
gender | Integer | Passenger gender (1 : Male, 2 : Female). |
dateOfBirth | String | Passenger's date of birth (YYYY-MM-DD ). |
email | String | Passenger's email address. |
contactNumber | String | Passenger's phone number. |
passportNumber | String | Passport number (if applicable). |
passportExpiry | String | Passport expiry date (YYYY-MM-DD ). |
paxType | Integer | Passenger type (1 : Adult, 2 : Child, 3 : Infant). |
paxTypeName | String | Passenger type name ("ADULT" , "CHILD" , "INFANT" ). |
paxFare | Object | Fare breakdown for the passenger. |
airportMetaData
(Airport Information)
airportMetaData
(Airport Information)Key | Type | Description |
---|---|---|
airportCode | String | IATA code of the airport. |
cityCode | String | IATA code of the city. |
cityName | String | City name. |
countryCode | String | ISO country code. |
countryName | String | Country name. |
latitude | String | Latitude coordinate of the airport. |
longitude | String | Longitude coordinate of the airport. |
traceIdDetails
(Trace ID Metadata)
traceIdDetails
(Trace ID Metadata)Key | Type | Description |
---|---|---|
traceId | String | Unique identifier for tracking the request. |
remainingTime | Integer | Remaining validity time in seconds (if applicable). |
createdAt | String | Timestamp when the trace ID was created (YYYY-MM-DDTHH:mm:ss ). |
Sample Response
{
"booking_details": {
"flight_itinerary": {
"statusCode": 200,
"responseData": {
"results": {
"paxCount": 2,
"adultCount": 2,
"childCount": 0,
"infantCount": 0,
"itineraryCode": "itrfnl7",
"traceId": "38372a10-888c-45e6-8734-38763034fc68",
"addONs": null,
"isDomestic": false,
"previousTotalAmount": 47070,
"totalAmount": 47070,
"isPriceChanged": false,
"insuranceAmount": 0,
"baseFare": 33640,
"taxAndSurcharge": 13430,
"tcDiscount": 0,
"isHoldAllowed": false,
"totalHoldCharges": 0,
"FFAirlineCodes": [
"BG"
],
"itineraryItems": [
{
"itemCode": "itmq9qo",
"type": "FLIGHT",
"itemFlight": {
"resultIndex": "a1e518aa-7b3f-44f2-96ab-c1efe821c6f4",
"origin": "DAC",
"isLCC": false,
"isRefundable": true,
"destination": "DXB",
"airlineName": "Biman Bangladesh",
"flightNumber": "147",
"journeyType": 1,
"provider": "P3",
"distributor": "D1",
"isDomestic": false,
"departureAt": "2025-03-25T18:30:00.000Z",
"arrivalAt": "2025-03-26T00:30:00.000Z",
"fareIdentifier": {
"name": "Published",
"code": "farjkk7",
"colorCode": "#0077CE"
},
"stopCount": {
"stops": 0
},
"airlineRemark": null,
"isHoldAllowed": false,
"mandatoryFieldValidators": {},
"fareQuote": {
"resultIndex": "a1e518aa-7b3f-44f2-96ab-c1efe821c6f4",
"isLCC": false,
"currency": "INR",
"baseFare": 33640,
"finalFare": 47070,
"paxFareBreakUp": [
{
"currency": "INR",
"paxType": 1,
"tax": 6715,
"baseFare": 16820,
"yqTax": 0,
"yrTax": 0,
"gst": 0
}
],
"serviceFee": 0,
"taxAndSurcharge": 13430,
"isDiscountApplied": false,
"originalFinalFare": null,
"tcDiscount": 0,
"ssrAmount": 0
},
"fareRule": [
{
"airline": "Biman Bangladesh",
"destination": "DXB",
"origin": "DAC",
"fareRuleDetail": "<li><span>CANCELLATION CHARGES : </span></li><br><span>Cancellation allowed between 8760 hours and 4 hours before departure at a charge of INR NA</span><br></><br><li><span>CHANGE CHARGES : </span></li><br><span>Change allowed between 8760 hours and 4 hours before departure at a charge of INR NA</span></>"
}
],
"segments": [
[
{
"bg": "30Kgs",
"cBg": "7Kgs",
"cC": 2,
"al": {
"alC": "BG",
"alN": "Biman Bangladesh",
"fN": "147",
"fC": "T",
"oC": "Biman Bangladesh Airlines",
"fCFC": "T_Regular"
},
"nOSA": null,
"or": {
"aC": "DAC",
"aN": "Hazrat Shahjalal International Airport",
"tr": "",
"cC": "DAC",
"cN": "Dhaka",
"dT": "2025-03-25T18:30:00",
"cnN": "Bangladesh"
},
"ds": {
"aC": "DXB",
"aN": "Dubai International Airport",
"tr": "",
"cC": "DXB",
"cN": "Dubai",
"aT": "2025-03-26T00:30:00",
"cnN": "United Arab Emirates"
},
"aD": 480,
"dr": 480,
"sO": true,
"sP": "CGP",
"sPAT": "Tue-25Mar2025T19:30:00",
"sPDT": "Tue-25Mar2025T20:30:00",
"sD": 60
}
]
],
"pnrDetails": [
{
"origin": "DAC",
"destination": "DXB",
"pnr": "MBKXEA"
}
],
"webCheckInUrl": "https://www.biman-airlines.com/#check-in",
"pnr": "MBKXEA"
}
}
],
"passengers": [
{
"id": 49851,
"title": "Mr",
"firstName": "Mehedi Hasan",
"lastName": "Mahin",
"gender": 1,
"addressLineOne": "Building No 9B, Pusa Road, Uttkarsh Bank Near Rajendra Place Metro Station",
"addressLineTwo": "Delhi 110060, New Delhi, Delhi 110005",
"dateOfBirth": "2000-09-30T00:00:00.000Z",
"email": "[email protected]",
"city": "Delhi",
"cellCountryCode": "880",
"contactNumber": "01278946",
"nationality": null,
"countryCode": "IN",
"countryName": "India",
"isLeadPax": true,
"panCardNumber": null,
"passportNumber": "123456",
"passportIssueDate": "2016-10-02T00:00:00.000Z",
"passportExpiry": "2026-10-01T00:00:00.000Z",
"frequentFlyerAirlineCode": null,
"frequentFlyerNumber": null,
"gstCompanyAddress": null,
"gstCompanyContactNumber": null,
"gstCompanyEmail": null,
"gstCompanyName": null,
"gstNumber": null,
"paxType": 1,
"memberCode": "mjmyu",
"organizationCode": "orjv79",
"outboundStatus": 1,
"inboundStatus": 0,
"createdAt": "2025-01-28T10:58:09.000Z",
"ssr": {},
"paxTypeName": "ADULT",
"paxFare": {
"currency": "INR",
"ticketNumber": "1900456776",
"baseFare": 16820,
"tax": 6715,
"publishedFare": 23535,
"yqTax": 0,
"yrTax": 0,
"gst": 0,
"otherTax": 6715,
"bagCharges": 0,
"mealCharges": 0,
"seatCharges": 0,
"createdAt": "2025-01-28T10:58:14.000Z"
}
},
{
"id": 49852,
"title": "Mrs",
"firstName": "Mayami Akhtar",
"lastName": "Mahin",
"gender": 2,
"addressLineOne": "Building No 9B, Pusa Road, Uttkarsh Bank Near Rajendra Place Metro Station",
"addressLineTwo": "Delhi 110060, New Delhi, Delhi 110005",
"dateOfBirth": "2000-03-30T00:00:00.000Z",
"email": "[email protected]",
"city": "Delhi",
"cellCountryCode": "880",
"contactNumber": "01278946",
"nationality": null,
"countryCode": "IN",
"countryName": "India",
"isLeadPax": false,
"panCardNumber": null,
"passportNumber": "765432",
"passportIssueDate": "2017-10-02T00:00:00.000Z",
"passportExpiry": "2027-10-01T00:00:00.000Z",
"frequentFlyerAirlineCode": null,
"frequentFlyerNumber": null,
"gstCompanyAddress": null,
"gstCompanyContactNumber": null,
"gstCompanyEmail": null,
"gstCompanyName": null,
"gstNumber": null,
"paxType": 1,
"memberCode": "mjmyu",
"organizationCode": "orjv79",
"outboundStatus": 1,
"inboundStatus": 0,
"createdAt": "2025-01-28T10:58:09.000Z",
"ssr": {},
"paxTypeName": "ADULT",
"paxFare": {
"currency": "INR",
"ticketNumber": "1900456777",
"baseFare": 16820,
"tax": 6715,
"publishedFare": 23535,
"yqTax": 0,
"yrTax": 0,
"gst": 0,
"otherTax": 6715,
"bagCharges": 0,
"mealCharges": 0,
"seatCharges": 0,
"createdAt": "2025-01-28T10:58:14.000Z"
}
}
],
"airportMetaData": [
{
"airportCode": "DXB",
"cityCode": "DXB",
"cityName": "Dubai",
"countryCode": "AE",
"countryName": "United Arab Emirates",
"latitude": "25.252800",
"longitude": "55.364399"
}
],
"agentInfo": null,
"traceIdDetails": {
"traceId": "38372a10-888c-45e6-8734-38763034fc68",
"remainingTime": null,
"createdAt": null
}
}
},
"itineraryId": 67900,
"error": {}
},
"addtional_booking_details": {
"holdTimeLimit": null,
"providerHoldTimeLimit": null,
"createdAt": "2025-01-28T10:58:15.000Z"
},
"itemCode": "itmq9qo",
"bmsBookingCode": "trnom",
"bookingStatus": "CONFIRMED"
}
}
Usage Guidelines
This API is used to:
✅ Retrieve detailed information about a booking.
✅ Check the real-time status of a booking.
Polling for Booking Status if status is PENDING
- Call
getBookingDetailsAPI
every 2 minutes for a maximum of 1 hour. - If the status remains
PENDING
after 1 hour, contact the OPS Team via the TravClan Portal.
Best Practices
- This API does not depend on the TraceID session, so it can be called at any time after booking.
- Always store the booking reference ID to fetch booking details when needed.
- If a booking remains in
PENDING
status for an extended time, reach out to support for manual intervention.
API Reference
Updated 20 days ago