Flight Booking Details API Documentation
Overview
This API retrieves all details of a specific flight booking, including passenger info, flight itinerary, journey-level pricing, and operational rules.
API Endpoint
- URL:
{{host}}/hub/flight/booking/{orderId}
- Method:
GET
No headers required for this request
Request Body
No parameters required for GET request
Path Parameters
| Field |
Type |
Description |
Example |
orderId |
String |
Unique booking UUID |
bf20f9e9-f5f2-4587-9aa4-9bb746fd2e62 |
Sample Response
{
"id": "e43374f0-cbd7-4378-8891-9d64807d347d",
"readableId": "JKL012",
"isInternational": false,
"orderBaseInfo": {
"providerCode": "flight.provider1",
"providerReferenceId": "917330365047335505",
"status": "CONFIRMED",
"statusIsFinal": true,
"bookingType": "flight",
"totalAmount": 0.0,
"totalSalesAmount": 0.0,
"totalOriginalAmount": 0.0,
"totalPriceModifier": 0.0,
"totalServiceFee": 0,
"refundAmount": 0.0,
"refundFee": 0.0,
"currency": "USD",
"convertionRate": 25519.0,
"type": "ONE_WAY",
"pnr": "JKL012",
"airlinePNR": "XY3456",
"orderType": "O",
"bookingCode": "K",
"isNeedRebookPNR": false,
"passengerCount": 0,
"totalAmountAtHotel": 0.0,
"refunded": false
},
"orderFlightInfo": {
"id": "569716e3-71e2-454f-8184-690513d8e367",
"orderId": "e43374f0-cbd7-4378-8891-9d64807d347d",
"flightJourneys": []
},
"orderESimInfos": [],
"passengers": [],
"contactInfo": {
"id": "00000000-0000-0000-0000-000000000000",
"flightBookingId": "00000000-0000-0000-0000-000000000000",
"deleted": false
},
"priceInfo": {
"id": "b7ce6d24-9077-4696-9553-6c9ad372b29e",
"orderId": "e43374f0-cbd7-4378-8891-9d64807d347d",
"pricingType": 1,
"couponId": "00000000-0000-0000-0000-000000000000",
"itemType": 0,
"passengerTotalAmount": 0.0,
"ancillaryTotalAmount": 0.0,
"seatTotalAmount": 0.0,
"ticketFeeAmount": 0.0,
"totalAmount": 0.0,
"totalOriginalAmount": 0.0,
"priceModifier": 0.0,
"couponAmount": 0.0,
"handlingFee": 0.0,
"totalFare": 85.0,
"convertionRate": 25519.0,
"totalServiceFee": 0,
"currency": "USD",
"totalTax": 0.0,
"surcharges": 0.0,
"amount": 0.0,
"numberOfRooms": 0,
"averagePerNightAmount": 0.0,
"numberOfNights": 0,
"priceDetails": [],
"createdBy": "the.vo@tripdata.vn",
"createdUtc": "2025-11-07T09:41:18:1433",
"updatedUtc": "2025-11-07T09:41:18:1433",
"refundable": false,
"hasBreakfast": false,
"extraBed": false,
"nonSmoking": false
},
"createdBy": "the.vo@tripdata.vn",
"createdUtc": "2025-11-07T09:41:18:1400",
"updatedUtc": "2025-11-07T09:41:18:1400",
"agentPath": ""
}
Response Field Description
| Field |
Type |
Description |
id |
String |
Unique identifier for the booking (UUID). Example: "fe05e6cd-c3d9-4cb9-9546-3ae648f0b723" |
readableId |
String |
The readable id. |
isInternational |
Bool |
Indicates whether the flight is international. |
orderBaseInfo |
Object |
Basic information about the order. See orderBaseInfo Object Structure. |
orderFlightInfo |
Object |
Information about the flights in the order. See orderFlightInfo Object Structure. |
passengers |
Array |
Array containing passenger information. See passengers Array Structure. |
contactInfo |
Object |
Contact information for the booking. See contactInfo Object Structure. |
priceInfo |
Object |
Detailed pricing information. See priceInfo Object Structure. |
createdBy |
String |
Email address of the user who created the booking. Example: "thanh.nguyen1@tripdata.vn" |
createdUtc |
String |
Date and time the booking was created (UTC, ISO 8601 format). Example: "2025-06-05T08:38:19:4900" |
updatedBy |
String |
Email address of the user who last updated the booking. Example: "thanh.nguyen1@tripdata.vn" |
updatedUtc |
String |
Date and time the booking was last updated (UTC, ISO 8601 format). Example: "2025-06-05T08:38:21:7477" |
agentPath |
String |
Path or identifier of the agent. |
orderBaseInfo Object Structure
| Field |
Type |
Description |
providerCode |
String |
ID of the flight provider. Example: "flight.provider1" |
providerReferenceId |
String |
Provider's unique identifier for the booking. Example: "917491127052815601" |
status |
String |
Current status of the booking. Example: "TO_BE_PAID". Possible values depend on the system's workflow. |
statusIsFinal |
Boolean |
Indicates if the current status is a final state (e.g., true if booked successfully). |
bookingType |
String |
Type of booking. Example: "flight" |
totalAmount |
Number |
Total amount for the booking. Example: 148.74 |
totalSaleAmount |
Number |
Total sale amount for booking. |
totalOriginalAmount |
Number |
The originally requested total amount for the booking. This can differ from totalAmount after a price change. Example: 148.74 |
totalPriceModifier |
Number |
Amount the total price was modified (e.g., with a coupon). Example: 0 |
totalServiceFee |
Number |
Total service fee for booking. |
refundAmount |
Number |
Refund amount for booking. |
refundFee |
Number |
Refund fee for booking. |
currency |
String |
Currency code used for the booking. Example: "USD" |
convertionRate |
Number |
Conversion rate from USD to VND. Example: 26244 |
type |
String |
Trip type. Example: "ROUND_TRIP" |
pnr |
String |
Passenger Name Record (PNR) code for the booking. Example: "WC2A6H" |
airlinePNR |
String |
Airline PNR code (if different from pnr). Example: "" (empty string if same as pnr) |
orderType |
String |
Order type. Example: "O" (May represent a standard order). |
bookingCode |
String |
Fare class code (e.g., "T"). Contact the airline for decode the real meaning of bookingCode. Example: "T" |
isNeedRebookPNR |
Boolean |
Indicates if it's need to rebook PNR. Example: false |
passengerCount |
Integer |
Total number of passengers in the booking. Example: 1 |
totalAmountAtHotel |
Number |
Total amount for hotel or any other. Example: 0 |
refunded |
Boolean |
Is refunded or not. Example:false |
orderFlightInfo Object Structure
| Field |
Type |
Description |
id |
String |
Unique identifier for the flight information (UUID). Example: "cae6e870-6204-48c7-a008-e6459804e47f" |
orderId |
String |
ID of the associated order (matches the top-level id field). Example: "fe05e6cd-c3d9-4cb9-9546-3ae648f0b723" |
flightJourneys |
Array |
Array of flight journey objects, detailing each flight leg. See flightJourneys Array Structure. |
flightJourneys Array Structure
Each object represents a leg of the flight itinerary:
| Field |
Type |
Description |
id |
String |
Unique identifier for this flight journey (UUID). Example: "2b2c6be2-7068-4fac-9098-4e6574ed6a66" |
flightBookingInfoId |
String |
ID of the flight booking information (matches orderFlightInfo.id). Example: "cae6e870-6204-48c7-a008-e6459804e47f" |
sequence |
Integer |
Sequence number of the flight journey (1, 2, ...). Starts from 1. Example: 1 |
arrivalDate |
String |
Arrival date (YYYY-MM-DDTHH:mm:ss.SSSS format). Example: "2025-07-08T00:00:00:0000" |
arrivalTime |
String |
Arrival time (HH:mm). Example: "07:55" |
arrivalCode |
String |
IATA code of the arrival airport. Example: "HAN" |
arrivalName |
String |
Name of the arrival airport. Example: "Hanoi" |
departureDate |
String |
Departure date (YYYY-MM-DDTHH:mm:ss.SSSS format). Example: "2025-07-08T00:00:00:0000" |
departureTime |
String |
Departure time (HH:mm). Example: "05:45" |
departureCode |
String |
IATA code of the departure airport. Example: "SGN" |
departureName |
String |
Name of the departure airport. Example: "Ho Chi Minh City" |
travelTime |
Integer |
Total travel time in minutes. Example: 130 |
isNDC |
Bool |
Indicates whether the flight is distributed through an NDC (New Distribution Capability) channel. |
isChange |
Boolean |
Check if flight have change or not. Example: false |
pnrNumber |
String |
The pnr number. |
status |
String |
The status of journey. |
fareHoldTime |
String |
The time can hold fare. |
flightSegments |
Array |
Array of flight segment objects. See flightSegments Array Structure. |
fare |
Object |
The detailed pricing and cost information for this journey. See Journey Fare Object Structure. |
Journey Fare Object Structure
This object provides detailed pricing and cost information for a specific journey. The structure matches the sample fare model from booking/order response.
| Field |
Type |
Description |
id |
String |
Unique identifier for the fare info (UUID). |
orderId |
String |
ID of the order this fare info belongs to. |
couponId |
String |
ID of the coupon applied to the booking. |
itemType |
Integer |
Type of item being priced (e.g., flight, ancillary, etc.). |
passengerTotalAmount |
Number |
Total amount for all passengers in this journey. |
ancillaryTotalAmount |
Number |
Total amount for ancillary services in this journey. |
seatTotalAmount |
Number |
Total amount for seat reservations in this journey. |
ticketFeeAmount |
Number |
Total amount for ticket issuance fees. |
totalAmount |
Number |
The final total amount for the journey. |
couponAmount |
Number |
Amount reduced due to coupons. |
handlingFee |
Number |
Handling fee. |
totalFare |
Number |
Total fare excluding tax and fee. |
totalTax |
Number |
Total tax. |
amount |
Number |
Total amount. |
priceDetails |
Array |
Array of ticket price details. Each item includes a type field: 1 = Adult, 2 = Children, 3 = Infant. |
createdBy |
String |
Creator of this fare info. |
createdUtc |
String |
Created datetime. |
updatedUtc |
String |
Updated datetime. |
refundable |
Boolean |
Indicates if the journey is refundable. |
Notes
- The
fare field is only present in each journey if the booking/order returns journey-level pricing.
- The structure and fields are similar to the top-level
priceInfo object, but scoped to the specific journey.
- If journey-level pricing is not available, the
fare field will be omitted or null.
Example
"flightJourneys": [
{
"id": "2b2c6be2-7068-4fac-9098-4e6574ed6a66",
"sequence": 1,
// ...existing fields...,
"fare": {
"id": "088b8ab3-f09c-4860-b9ee-39ef662d610a",
"orderId": "bf20f9e9-f5f2-4587-9aa4-9bb746fd2e62",
"flightJourneyId": "643d8c99-1656-452d-8442-03d29d186c31",
"pricingType": 2,
"couponId": "00000000-0000-0000-0000-000000000000",
"itemType": 0,
"passengerTotalAmount": 2128000.0,
"ancillaryTotalAmount": 0.0,
"seatTotalAmount": 0.0,
"ticketFeeAmount": 0.0,
"totalAmount": 2128000.0,
"totalOriginalAmount": 2128000.0,
"priceModifier": 0.0,
"couponAmount": 0.0,
"handlingFee": 0.0,
"totalFare": 1419000.0,
"convertionRate": 1.0,
"totalTax": 0.0,
"amount": 1419000.0,
"priceDetails": [
{
"id": "74e9eb8d-7ec1-48a8-9705-62632225cf6d",
"priceInfoId": "088b8ab3-f09c-4860-b9ee-39ef662d610a",
"count": 1,
"type": 1,
"amount": 1419000.0,
"originalAmount": 1419000.0,
"priceModifier": 0.0,
"tax": 709000.0,
"fee": 0.0,
"totalAmount": 2128000.0,
"taxAmount": 0.0,
}
],
"createdBy": "694E6C9E-ED3C-43EB-A50F-389ADE398E85",
"createdUtc": "0001-01-01T00:00:00:0000",
"updatedUtc": "2025-07-15T19:43:08:7959",
},
}
]
flightSegments Array Structure
Each object represents a segment within a flight journey:
| Field |
Type |
Description |
id |
String |
Unique identifier for the flight segment (UUID). Example: "f95a2ce8-baa2-41c2-a9c6-543ecca78e4a" |
flightJourneyId |
String |
ID of the flight journey this segment belongs to (matches flightJourneys.id). Example: "2b2c6be2-7068-4fac-9098-4e6574ed6a66" |
sequence |
Integer |
Segment order within the leg (starting from 1). Example: 1 |
airlinesCode |
String |
2-letter airline code. Example: "VU" |
airlinesName |
String |
Airline name. Example: "VIETRAVEL AIRLINES" |
arrivalCode |
String |
IATA arrival airport code. Example: "HAN" |
arrivalName |
String |
Arrival airport name. Example: "Hanoi" |
arrivalDate |
String |
Arrival date (YYYY-MM-DDTHH:mm:ss.SSSS format). Example: "2025-07-08T00:00:00:0000" |
arrivalTime |
String |
Arrival time (HH:mm). Example: "07:55" |
departureCode |
String |
IATA departure airport code. Example: "SGN" |
departureName |
String |
Departure airport name. Example: "Ho Chi Minh City" |
departureDate |
String |
Departure date (YYYY-MM-DDTHH:mm:ss.SSSS format). Example: "2025-07-08T00:00:00:0000" |
departureTime |
String |
Departure time (HH:mm). Example: "05:45" |
bookingCode |
String |
Fare class code. Example: "T". Contact the airline to decode the real meaning of bookingCode. |
cabinClass |
String |
Cabin class. Example: "ECONOMY" |
equipment |
String |
Aircraft type. Example: "32S" |
flightNumber |
String |
Flight number. Example: "750" |
flightTime |
Integer |
Flight time in minutes. Example: 130 |
departureTerminal |
String |
Departure Terminal. Example: 1 |
arrivalTerminal |
String |
Arrival Terminal. Example: 1 |
codeShare |
Boolean |
Check if the the flights segments have code share,Example: false |
stopTime |
Integer |
Layover time in minutes (0 for direct flights). Example: 0 |
hasStop |
Boolean |
hasStop check the the flights segments have stop,Example: false |
operatingFlightAirlinesName |
String |
Name of the operating airline. |
operatingFlightNumber |
String |
Flight number operated by the airline. |
operatingFlightAirlinesCode |
String |
Airline code. |
baggageRules |
Object |
Baggage allowance rules for the segment. See baggageRules Structure. |
miniRules |
Object |
Rules regarding penalties, refunds, and reissues for the segment. See miniRules Structure. |
baggageRules Structure
This object specifies baggage allowances for adults, children, and infants.
| Field |
Type |
Description |
adults |
Array |
Array of baggage rule objects for adults. See Baggage Rule Object. |
children |
Array |
Array of baggage rule objects for children (if any). |
infants |
Array |
Array of baggage rule objects for infants (if any). |
Baggage Rule Object
| Field |
Type |
Example |
Description |
baggageAmount |
String |
"0PC" |
Checked baggage allowance (e.g., "0PC" = 0 pieces) |
baggageWeight |
String |
"8KG" |
Checked baggage weight limit (e.g., "7KG" = 7 kilograms) |
carryOnAmount |
String |
"1PC" |
Cabin baggage allowance (e.g., "1PC" = 1 piece) |
carryOnWeight |
String |
"7KG" |
Cabin baggage weight limit (e.g., "7KG" = 7 kilograms) |
miniRules Structure
| Field |
Type |
Description |
adults |
Array |
Array of penalty rule objects for adults. See Rule Object. |
children |
Array |
Array of penalty rule objects for children (if any). |
infants |
Array |
Array of penalty rule objects for infants (if any). |
Rule Object
| Field |
Type |
Example |
Description |
miniruleText |
String |
"example rule" |
The text rule. |
miniruleHtml |
String |
" example html rule " |
The html rule. |
penaltyType |
String |
"REFUND" |
Fee type (REFUND, REISSUE). |
allowRefund |
String |
"NOT_ALLOWED" |
Indicates if a refund is allowed (ALLOW, NOT_ALLOWED). |
situation |
String |
"BEFORE_DEPARTURE" |
When the penalty applies (BEFORE_DEPARTURE, AFTER_DEPARTURE). |
noShowTime |
String |
"BEFORE" |
No-show timing relative to departure. |
noShowTimeUnit |
String |
"H" |
Time unit for the no-show period. |
amount |
Number |
0.0 |
Fee amount. |
penaltyPercent |
Number |
0.0 |
Fee percentage of the base fare. |
baseType |
String |
"FARE" |
Fee calculation base (FARE = total fare). |
| Field |
Type |
Description |
id |
String |
Unique identifier for contact (UUID). Example: "41b419aa-e9c0-4bc0-95f2-f1b9710dd578" |
Name |
String |
Full name of the contact person. Example: "NGUYEN CONG THANH" |
PhoneNumber |
String |
Phone number of the contact person. Example: "2929292929" |
Email |
String |
Email address of the contact person. Example: "thanh.nguyen1@tripdata.vn" |
CountryTelCode |
String |
International telephone code of the contact's phone number. Example: "84" |
flightBookingId |
String |
Flight booking unique identification. Example:"fe05e6cd-c3d9-4cb9-9546-3ae648f0b723" |
deleted |
Boolean |
Check if contact info is deleted or not. Example:false |
passengers Array Structure
This array specifies information about each passenger for whom the booking is being made.
| Field |
Type |
Description |
flightBookingId |
String |
Id of the flight booking unique. Example: "fe05e6cd-c3d9-4cb9-9546-3ae648f0b723" |
index |
Integer |
A unique number identifier for the passenger, starting from 1. Example: "1" |
type |
Integer |
Passenger Type. Possible values: 1 (Adult), 2 (Child), 3 (Infant) Example: "1" |
idIssueDate |
String |
Unknow data. Example: "0001-01-01T00:00:00:0000" |
idExpiryDate |
String |
Expiry date of the ID (YYYY-MM-DDTHH:mm:ss.SSSS format). Example: "2026-08-19T00:00:00:0000" |
ticketList |
Object |
List of ticket associated. Example:[] |
ancillaries |
Object |
Object contains ancillary services. Example:[] |
seats |
Array |
object contains passenger seats. Example:[] |
id |
String |
unique passenger ID. Example: "785c1ff9-4b36-4cf8-9025-85ae5e345d60" |
firstName |
String |
Passenger's first name. Example: "CONG THANH" |
lastName |
String |
Passenger's last name. Example: "NGUYEN" |
gender |
String |
Passenger's gender. Possible values: "M" (Male), "F" (Female). Example: "M" |
dateOfBirth |
String |
Passenger's date of birth (YYYY-MM-DDTHH:mm:ss.SSSS format). Example: "1993-08-19T00:00:00:0000" |
nationality |
String |
Passenger's nationality (ISO 3166-1 alpha-2 country code). Example: "VN" |
idNumber |
String |
Passenger's ID card or Passport number. Example: "123456789" |
idType |
String |
Type of ID used. Possible values: "passport".Example: "passport" |
updatedUtc |
String |
update time. Example: "2025-06-05T08:38:19:5033" |
deleted |
Boolean |
check if it deleted or not. Example: false |
priceInfo Object Structure
This object provides detailed pricing and cost information.
| Field |
Type |
Description |
id |
String |
Unique identifier for the price information (UUID). Example: "9fab6075-8b22-4e7d-aa1d-2813d6ecc2e9" |
orderId |
String |
ID of the order this price information belongs to (matches the top-level id field). Example: "fe05e6cd-c3d9-4cb9-9546-3ae648f0b723" |
pricingType |
Integer |
Type of pricing. |
couponId |
String |
ID of the coupon applied to the booking. Example: "00000000-0000-0000-0000-000000000000" (all zeros indicates no coupon) |
itemType |
Integer |
Type of item being priced (e.g., might represent a flight, ancillary service, etc.). Example: 0 |
passengerTotalAmount |
Number |
Total amount for all passengers. Example: 148.74 |
ancillaryTotalAmount |
Number |
Total amount for ancillary services. Example: 0 |
seatTotalAmount |
Number |
Total amount for seat reservations. Example: 0 |
ticketFeeAmount |
Number |
Total amount for ticket issuance fees. Example: 0 |
totalAmount |
Number |
The final total amount for the booking. Example: 148.74 |
couponAmount |
Number |
Amount reduced due to coupons. Example: 0 |
handlingFee |
Number |
Handling fee. Example: 0 |
totalFare |
Number |
Total Fare exclude tax and fee. Example: 92.48 |
convertionRate |
Number |
Conversion rate from USD to VND. Example: 26244 |
currency |
String |
Currency code for the amounts (e.g., "USD"). Example: "USD" |
totalTax |
Number |
Total tax. Example: 0 |
surcharges |
Number |
More expense if have. |
amount |
Number |
Total Amount |
numberOfRooms |
Number |
Number of rooms for hotel information |
averagePerNightAmount |
Number |
Per night amount. |
numberOfNights |
Number |
Number of nights. |
priceDetails |
Object |
Object contains ticket price details. |
createdBy |
String |
Person create for these price. Example: "thanh.nguyen1@tripdata.vn" |
createdUtc |
String |
Created Datetime . Example: "0001-01-01T00:00:00:0000" |
updatedBy |
String |
Person update for these price. Example: "thanh.nguyen1@tripdata.vn" |
updatedUtc |
String |
Update Datetime. Example: "2025-06-05T08:38:19:2970" |
paidBy |
String |
Person paid for these price. Example: "thanh.nguyen1@tripdata.vn" |
paidUtc |
String |
Paid Datetime. Example: "2025-06-05T08:38:19:2970" |
cancelledBy |
String |
Person cancell for these price. Example: "thanh.nguyen1@tripdata.vn" |
cancelledUtc |
String |
Cancell Datetime. Example: "2025-06-05T08:38:19:2970" |
refundable |
Boolean |
Check this conditions or not. |
hasBreakfast |
Boolean |
Check this if have breakfast or not. |
extraBed |
Boolean |
check if have extra bed or not. |
nonSmoking |
Boolean |
check non smoking or not |
Notes
- Passenger type codes: 1 = Adult, 2 = Child, 3 = Infant
- Currency conversion: VND value = value × convertionRate
- statusIsFinal: false means booking is still modifiable
- Empty airlinePNR means booking is still being processed