Order | GetBookingDetailV1
returns the latest confirmed order view, including the latest passenger, ticket, and routing information.
- Historical changes are returned in
bookingChangeHistory, sorted bychangeTimein ascending order. - For voluntary changes and schedule changes, segment-level before/after information is returned.
- For passenger updates, passenger-level before/after information is returned.
- For cancellation events, only the cancellation application number, status, and related passenger IDs are returned.
Notice:
Product Scope: FareMarket, TechHub, TechHub+
Release note style:
Enhancement: Latest order view and unified change history in GetBookingDetailV1
We added GetBookingDetailV1 to return the latest confirmed order view directly, including the latest passenger, ticket, and routing information.
We also added a new top-level node: bookingChangeHistory.
This node provides the complete historical change records of the order, including:
- voluntary changes
- schedule changes
- passenger information updates
- cancellation events
For cancellation events, only cancellation status and application number are returned in the history node.
POST
/flight/bookingParameter
| Field | Mandatory | Type | Scope | Description |
|---|---|---|---|---|
| action | required |
String | GetBookingDetailV1 | |
| key | required |
String | API security key applied from AeroHub | |
| signature | required |
String | Refer to Guideline to generate. | |
| timestamp | required |
Int | The ‘timestamp’ field should be a 10-digit Unix timestamp in seconds, used for encryption and data verification. | |
| version | optional |
String | API version information, e.g. 3.2.0 | |
| request | required |
Object | ||
| orderNum | required |
String | AeroHub Order number generated by Commit. It serves as a unique identifier for bookings made through TechHub and FareMarket, whether for flight bookings or ancillary services. | |
| sync | optional |
int | TechHub+ |
1, for TechHub+ booking, sytem will check and update information below from airline API; - depTime - arrTime - pnrStatus 0 or Null, system retrieve original booking information when booking created. |
Request_Example:
{ "action": "GetBookingDetailV1", "key": "2n2PMAyqEsnMQrl1", "signature": "WAHzApldOIXbk6Zp3PJq7qUygeRD5W/CaxkoTpFphj0=", "timestamp": 1685116516, "request": { "orderNum": "2031663602599084032", "sync": 0 }
Response
| Field | Type | Description |
|---|---|---|
| status | Int | 0 for success, others for failure, refer to status error appendix for details |
| msg | String | Return message, maximum 64 char |
| contentStatus | int | Return the original code from airlines or suppliers. |
| contentMsg | String | Return the original message from airlines or suppliers, maximum 64 char |
| sessionId | String | Session id : unique identifier.Used for add ssrs to an existing order. |
| orderNum | String | Order number, maximun 100 char |
| postAncillaryInfo | Object[] | After-sales ancillary details from AeroHub |
| ancillaryNum | String | Order number containing after-sales ancillary information |
| status | String | status |
| amount | Float | amount |
| originalAmount | Float | originalAmount |
| currency | String | currency |
| originalCurrency | String | originalCurrency |
| itineraryUrl | String | Itinerary url. Itinerary file download url |
| orderStatus | String | Booking status: TICKETED: ticketing success. refer orderStatus enum from Appendix |
| failureReason | int | failureReason:Incorrect information, Withdraw before issuing, Duplicate booking, Other reasons, Fare change, Flight sold out, Ancillary not available, Airline error, Payment card error |
| routeType | int | Data source type, 1,FareMarket 2,TechHub+ 4,TechHub |
| agencyAccountID | String | Agency accountID. For TechHub+, agencyAccountID is the registered agent account at the Airline. For FareMarket and TechHub, agencyAccountID is indicated to a supplier |
| amount | Float | Total cost for payment |
| currency | String | Currency information, 3-Letter Codes e.g. USD |
| originalAmount | Float | Total cost for payment |
| originalCurrency | String | Currency information, 3-Letter Codes e.g. USD |
| segmentCount | Int | Segment count |
| chargeFees | Object[] | Object for charge fee details from AeroHub |
| chargeType | Int | charge Item |
| chargeAmount | Float | amount |
| currency | String | currency |
| passengers | Object[] | Object for Passenger information |
| passengerId | String | Passengerid, start from 0, no duplicate, e.g.: 0, 1, 2, 3, 4, 5. |
| withPassengerId | String | CHD or Infant realted to the adult number. |
| firstName | String | FirstName,in case of middle name, format is firstName middleName |
| lastName | String | LastName |
| birthday | String | Birthday, format: YYYYMMDD |
| gender | String | Gender, M: male F: female |
| ageType | Int | Passenger type: 0:adult 1:child 2:infant |
| nationality | String | Nationality, 2_letter country code |
| cardType | String | Credential Type, PP: Passport ID: Identity number UN: Other Credential Type |
| cardNum | String | Credential Number, maximum 15 char, most case is passport number |
| cardExpired | String | Credential expired date, format: YYYYMMDD |
| cardIssuePlace | String | Credential issued country, country 2_letter code e.g. JP |
| contact | Object | Object for contact information |
| lastName | String | LastName |
| firstName | String | FirstName,in case of middle name, format is firstName middleName |
| mobile | String | Mobile information, format country number + mobile number e.g.: 81-123412341234 |
| String | ||
| address | String | Detail address |
| postCode | String | Post code of address |
| otherPhone | String | Other contact mobile number |
| countryCode | String | National code |
| city | String | City |
| title | String | Contact person title |
| companyName | String | Company name |
| ssrs | Object[] | Object for ssr information |
| orderNum | String | Order number, maximun 100 char |
| emdNumber | String | Airline EMD number. Available for Techhub+. |
| passengerId | String | The passenger id associated with the ssr |
| flightNumber | String | The flightNumber associated with the ssr |
| depAirport | String | The depAirport associated with the ssr |
| arrAirport | String | Arrival airport IATA 3-Letter Codes, The arrAirport associated with the ssr |
| applyType | String | 0: ALL, 1: DURING_BOOKING, 2: POST_BOOKING |
| type | Int | type, 0: checked Baggage; 1: Cabin Baggage; 2: Online Checkin; 3: Cabin Baggage + Priority Boarding Package; |
| code | String | Unique SSR code |
| name | String | Display name of the SSR |
| amount | Float | SSR amount/price |
| currency | String | Currency information, 3_letter code e.g. USD |
| originalAmount | Float | SSR Price |
| originalCurrency | String | Currency information, 3_letter code e.g. USD |
| count | Int | SSR count |
| unit | String | baggage unit, visible when type is 0 |
| weight | Int | baggage weight, visible when type is 0 |
| seats | Object[] | Object for ssr information |
| orderNum | String | Order number, maximun 100 char |
| passengerId | String | The passenger id associated with the ssr |
| flightNumber | String | The flightNumber associated with the ssr |
| depAirport | String | The depAirport associated with the ssr |
| arrAirport | String | Arrival airport IATA 3-Letter Codes, The arrAirport associated with the ssr |
| amount | Float | Seat price |
| currency | String | Currency information, 3_letter code e.g. USD |
| originalAmount | Float | Seat price |
| originalCurrency | String | Currency information, 3_letter code e.g. USD |
| designator | String | Seat identifier, e.g. 1A |
| routing | Object | Object for routing information,latest routing information of the order. |
| currency | String | Currency information, 3-Letter Codes e.g. USD |
| originalCurrency | String | Currency information, 3-Letter Codes e.g. USD |
| fromSegments | Object[] | Object for departure route segments. |
| carrier | String | Carrier IATA 2_letter code |
| flightNumber | String | Flight number, e.g. CA123 If the flight number starts with 0, omit the leading zeros. For example, CZ006 should be used as CZ6. |
| codeShare | Boolean | Whether it is a codeshare flight true : yes false: no |
| operatingFlightNumber | String | Actual operating flight number |
| operatingCarrier | String | Actual operating airline. |
| depAirport | String | Departure airport IATA 3-Letter Codes |
| depTerminal | String | Departure terminal |
| arrAirport | String | Arrival airport IATA 3-Letter Codes |
| arrTerminal | String | Arrival terminal |
| depTime | String | Departure date and time, format: YYYYMMDDHHMM e.g. 201203100315 means 2012/03/10 03:15 |
| arrTime | String | Arrival date and time, format: YYYYMMDDHHMM e.g. 201203101305 means 2012/03/10 13:05 |
| aircraftCode | String | aircraftCode |
| stopAirports | Object[] | Stopover airport information |
| airport | String | Stopover airport IATA 3-Letter Codes |
| duration | Int | Stopover duration, unit is minutes |
| duration | Int | Flight duration from departure to arrival, unit in minutes. Available on TechHub only. |
| fares | Object[] | Fare information |
| fareBasisCode | String | Airline-issued code defining fare type, booking class and fare rules. Multiple values separated by semicolons(;). |
| productClass | String | product standardized code by AeroHub, Y(Economy Class), W(Premium Class), C(Business Class), F(First Class) |
| issuePolicyType | String | Filters orders by ticket issuance policy type. The parameter uses a single-letter prefix to indicate the policy category: R: Refund/Change Policy S: PNR Splitting Policy T: Issuance Timing Policy. Multiple policy types can be combined (e.g., R1,S2,T1). R1: Refund/Change follows airline standard policy R2 :Refund/Change policy differs from airline standard; R3: Refund/Change follows airline standard policy; a separate service fee may be charged by the ticketing party; S1:PNR splitting not allowed, S2:PNR splitting by journey (outbound/return) allowed; S3:PNR splitting by passenger type allowed; T1: Issuance time follows SLA agreement, T2: Partner can extend issuance up to 24 hours after payment T3:Partner can delay issuance until the earlier of: - 3 days after payment - 48 hours before travel date |
| cabinClass | String | RBD code generated from airline |
| fareTypeCode | String | Product type code. For TechHub and FareMarket products, the returned value is AeroHubBundle or AirlineBundle. For TechHub+ products, the returned value is the bundlecode defined by the airline. |
| fareTypeDesc | String | return fare type name defines by airline. For reference only. |
| paxFare | Object | fare for all passengers |
| ADT | Object[] | fare for adults |
| chargeType | String | Fare type, e.g. “FairPrice” “Tax” |
| chargeDesc | String | Description of a charge |
| chargeCode | String | chargeCode |
| amount | Float | Fare amount |
| currency | String | currency |
| originalAmount | Float | Fare amount from airlines |
| CHD | Object[] | fare for children |
| chargeType | String | Fare type, e.g. “FairPrice” “Tax” |
| chargeDesc | String | Description of a charge |
| chargeCode | String | chargeCode |
| amount | Float | Fare amount |
| currency | String | currency |
| originalAmount | Float | Fare amount from airlines |
| INF | Object[] | fare for infant |
| chargeType | String | Fare type, e.g. “FairPrice” “Tax” |
| chargeDesc | String | Description of a charge |
| chargeCode | String | chargeCode |
| amount | Float | Fare amount |
| currency | String | currency |
| originalAmount | Float | Fare amount from airlines |
| retSegments | Object[] | |
| carrier | String | Carrier IATA 2_letter code |
| flightNumber | String | Flight number, e.g. CA123 If the flight number starts with 0, omit the leading zeros. e.g. CZ006 should be used as CZ6 |
| codeShare | Boolean | Whether it is a codeshare flight true : yes false: no |
| operatingFlightNumber | String | Actual operating flight number |
| operatingCarrier | String | Actual operating airline. |
| depAirport | String | Departure airport IATA 3-Letter Codes |
| depTerminal | String | Departure terminal |
| arrAirport | String | Arrival airport IATA 3-Letter Codes |
| arrTerminal | String | Arrival terminal |
| depTime | String | Departure date and time, format: YYYYMMDDHHMM e.g. 201203100315 means 2012/03/10 03:15 |
| arrTime | String | Arrival date and time, format: YYYYMMDDHHMM e.g. 201203101305 means 2012/03/10 13:05 |
| stopAirports | Object[] | Stopover airport information |
| airport | String | Stopover airport IATA 3-Letter Codes |
| duration | Int | Stopover duration, unit is minutes |
| duration | Int | Flight duration from departure to arrival, unit in minutes. Available on TechHub only. |
| fares | Object[] | Fare information |
| productClass | String | product standardized code by AeroHub, Y(Economy Class), W(Premium Class), C(Business Class), F(First Class) |
| issuePolicyType | String | Filters orders by ticket issuance policy type. The parameter uses a single-letter prefix to indicate the policy category: R: Refund/Change Policy S: PNR Splitting Policy T: Issuance Timing Policy. Multiple policy types can be combined (e.g., R1,S2,T1). R1: Refund/Change follows airline standard policy R2 :Refund/Change policy differs from airline standard; R3: Refund/Change follows airline standard policy; a separate service fee may be charged by the ticketing party; S1:PNR splitting not allowed, S2:PNR splitting by journey (outbound/return) allowed; S3:PNR splitting by passenger type allowed; T1: Issuance time follows SLA agreement, T2: Partner can extend issuance up to 24 hours after payment T3:Partner can delay issuance until the earlier of: - 3 days after payment - 48 hours before travel date |
| cabinClass | String | RBD code generated from airline. |
| fareTypeCode | String | Product type code. For TechHub and FareMarket products, the returned value is AeroHubBundle or AirlineBundle. For TechHub+ products, the returned value is the bundlecode defined by the airline. |
| fareTypeDesc | String | return fare type name defines by airline. For reference only. |
| paxFare | Object | fare for all passengers |
| ADT | Object[] | fare for adults |
| chargeType | String | Fare type, e.g. “FairPrice” “Tax” |
| chargeCode | String | chargeCode |
| currency | String | currency |
| originalCurrency | String | originalCurrency |
| chargeDesc | String | Description of a charge |
| amount | Float | Fare amount |
| originalAmount | Float | Fare amount from airlines |
| CHD | Object[] | fare for children |
| chargeType | String | Fare type, e.g. “FairPrice” “Tax” |
| chargeCode | String | chargeCode |
| currency | String | currency |
| originalCurrency | String | originalCurrency |
| chargeDesc | String | Description of a charge |
| amount | Float | Fare amount |
| originalAmount | Float | Fare amount from airlines |
| INF | Object[] | fare for infant |
| chargeType | String | Fare type, e.g. “FairPrice” “Tax” |
| chargeCode | String | chargeCode |
| currency | String | currency |
| originalCurrency | String | originalCurrency |
| chargeDesc | String | Description of a charge |
| amount | Float | Fare amount |
| originalAmount | Float | Fare amount from airlines |
| tickets | Object[] | Latest ticket information of the order. empty if the order is not in ‘TICKETED’ state. |
| passengerId | String | Passenger Id |
| flightNumber | String | Flight number |
| productClass | String | product standardized code by AeroHub, Y(Economy Class), W(Premium Class), C(Business Class), F(First Class) |
| cabinClass | String | RBD code generated from airline |
| ticketNumber | String | Ticket number returned by the airline. |
| pnr | String | Airline PNR. |
| pnrStatus | String | Actual PNR status returned directly from the airline API. This field is returned only when sync = 1 |
| accountName | String | Account ID provided when airline login credentials are required to manage the booking. |
| accountPass | String | Account password provided when airline login credentials are required to manage the booking. |
| changeStatus | String | Current ticket Change status,more details visit: Change Category |
| latestChangeNum | String | Latest related change application number for this ticket, if any. |
| cancellationStatus | String | Current ticket Cancellation status,more details visit: Cancellation Category |
| latestCancellationNum | String | Latest related cancellation application number for this ticket, if any. |
| airlineOtherFees | Object[] | Details of the payment amount. |
| type | int | Type of amount. 1: Airline discount amount. 2: Airline payment fee. |
| orderNum | String | Order number, maximum 100 characters. |
| desc | String | Description of the payment. |
| originalAmount | Float | Amount in the original currency. |
| originalCurrency | String | The original currency code. |
| amount | Float | Amount in the customer’s quoted currency. |
| currency | String | The customer’s currency code. |
| bundle | Object | Bundle details collection, applicable to TechHub+ products only |
| fareTypeCode | String | Product type code. For TechHub and FareMarket products, the returned value is AeroHubBundle or AirlineBundle. For TechHub+ products, the returned value is the bundlecode defined by the airline. |
| fareTypeDesc | String | Bundle Name. For reference only. |
| carrier | String | Carrier IATA 2_letter code |
| productClass | String | product class code standardized by AeroHub, Y(Economy Class), W(Premium Class), C(Business Class), F(First Class) |
| cabinClass | String | RBD code from airline. |
| cabinBag | Object[] | Carry-on baggage |
| isIncluded | Int | is Included or not 0: No; 1: Yes. |
| piece | Int | Number of Free Carry-on baggage Items |
| weight | Int | Carry-on baggage Allowance, in kilograms (KG) |
| bagType | Int | Refers to baggage weight type 1: Per piece; 2: Total weights. |
| unit | String | Unit |
| category | String | Applicable Scope Domestic International All |
| isFree | Int | is free of charge or not 0: No; 1: Yes. |
| detail | String | Details |
| checkinBag | Object[] | checked baggage |
| isIncluded | Int | is Included or not 0: No; 1: Yes. |
| piece | Int | Number of Free Checked Baggage Items |
| weight | Int | checked baggage Allowance, in kilograms (KG) |
| bagType | Int | Refers to baggage weight type 1: Per piece; 2: Total weights. |
| unit | String | Unit |
| category | String | Applicable Scope Domestic International All |
| isFree | Int | is free of charge or not 0: No; 1: Yes. |
| detail | String | Details |
| seat | Object | Seat Selection Information |
| isIncluded | Int | is Included or not 0: No; 1 Yes. |
| isFree | Int | is free of charge or not 0: No; 1 Yes. |
| detail | String | Details |
| meal | Object | Meal Information |
| isIncluded | Int | is Included or not 0: No; 1: Yes. |
| isFree | Int | is free of charge or not 0: No; 1: Yes. |
| detail | String | Details |
| flightChange | Object[] | Change Rules |
| eligible | Int | is eligible for a change or not 0: No; 1 Yes. |
| category | String | Applicable Scope Domestic International All |
| detail | String | Details |
| cancellation | Object[] | Cancellation Rules |
| eligible | Int | is eligible for a change or not 0: No; 1: Yes. |
| category | String | Applicable Scope Domestic International All |
| detail | String | Details |
| bundleDetail | String | Bundle Details |
| rules | Object[] | Change and Cancellation Rules, Free Baggage Collection, applicable only to FareMarket and Techhub products |
| ruleId | String | Change and Cancellation Rules, Free Baggage ID |
| endorsement | int | Indicates whether ticket endorsement (revalidation or rerouting to another carrier) is supported. 0: Not supported 1: Supported Note:- This applies only when airline fare rules allow endorsement. |
| changeInfoList | Object[] | Change Rules Collection |
| passengerType | int | Passenger Type 0: Adult; 1: Child; 2: Infant. |
| ticketStatus | int | Indicates ticket usage status which affects change rules. 0: Ticket completely unused 1: Ticket partially used (at least one segment flown) Note: - Airline penalties may differ significantly between unused and partially used tickets. |
| changeCategory(Deprecated) | String | Legacy field. Will be deprecated in future versions.Please refer to conditionList.status for detailed change rules. |
| changeFee(Deprecated) | float | Legacy penalty field. Represents airline penalty amount only.Please refer to conditionList.amount for structured rule details. |
| currencyCode | String | Currency information, 3-Letter Codes e.g. USD |
| noshowType | String | Indicates whether a no-show booking is eligible for changes T: Changes not permitted after no-show; H: Changes permitted with conditions or penalty after no-show; F: Changes permitted without penalty after no-show; E: Subject to airline regulations |
| noShowCondition | int | Change deadline for no-shows: Set in hours. Example: If changes are allowed up to 4 hours before departure, the value is ‘4’. Return 0 by default. |
| noShowFee | int | Airline penalty for changing a no-show ticket.Only applicable for change scenarios. For cancellation no-show penalty, refer to cancelInfoList.noShowFee. |
| changeServiceFee(Deprecated) | int | Service fee for ticket change. Retained for backward compatibility only. Not applicable to new integrations. |
| conditionList | Object[] | Reflects various charging rules for different departure times when there are multiple charging rules. |
| status | String | Changes indicator: T:Changes not permitted; H:Changes permitted with conditions or penalty; F:Changes permitted without penalty; E:Subject to airline rules. |
| endMinute | int | Time limit for applying for a changes before departure, measured in minutes: >= 0: allowed until N minutes before departure; -1: flight has already departed. For example, if the application is valid 4 hours before departure, assign 240. |
| amount | float | Airline penalty amount for ticket change. Excludes any service fee. Required when Status = H; optional when Status = T or F. |
| cancelInfoList | Object[] | Cancellation Rules Collection |
| passengerType | int | Passenger Type 0: Adult; 1: Child; 2: Infant. |
| ticketStatus | int | Indicates ticket usage status which affects cancel rules. 0: Ticket completely unused 1: Ticket partially used (at least one segment flown) Note: - Airline penalties may differ significantly between unused and partially used tickets. |
| cancelCategory (Deprecated) | String | Legacy field. Will be deprecated in future versions. Please refer to conditionList.status for detailed Cancellation rules. |
| cancelFee (Deprecated) | float | Legacy penalty field. Represents airline penalty amount only. Please refer to conditionList.amount for structured rule details. |
| currencyCode | String | Currency information, 3-Letter Codes e.g. USD |
| noshowType | String | Cancellation rules for No-show, Cancellation Indicator, T: Cancellation not permitted after no-show; H: Cancellation permitted with conditions or penalty after no-show; F: Cancellation permitted without penalty after no-show; E: Subject to airline regulations. |
| noShowCondition | int | Cancel deadline for no-shows: Set in hours. Example: If cancels are allowed up to 4 hours before departure, the value is ‘4’. Return 0 by default. |
| noShowFee | int | Airline penalty charged when cancelling a no-show ticket.Applicable only to cancellation scenarios.This amount represents airline penalty only and does not include service fee. |
| cancelServiceFee(Deprecated) | int | Service fee charged for ticket cancellation. Retained for backward compatibility only. Not applicable to new integrations. |
| conditionList | Object[] | Reflects various charging rules for different departure times when there are multiple charging rules. |
| status | String | Refund indicator: T:Non-refundable, H:Refundable with conditions / penalty applies, F:Refundable without penalty, E:Subject to airline rules. |
| endMinute | int | Time limit for applying for a refund before departure, measured in minutes: >= 0: allowed until N minutes before departure; -1: flight has already departed. For example, if the application is valid 4 hours before departure, assign 240. |
| amount | float | Airline penalty amount for ticket cancellation. Excludes any service fee. Required when Status = H; optional when Status = T or F. |
| freeBagInfoList | Object[] | Free Baggage Information Collection |
| journeyType | int | JourneyType 1: Outbound; 2: Inbound. |
| segmentNo | int | Segment order, starting from 1. Note: For round trips, both outbound and return start from 1 |
| passengerType | int | Passenger Type 0: Adult; 1: Child; 2: Infant. |
| checkinBagPiece | int | Number of Free checked baggage Items.A value of -1 indicates no piece limit. (used in conjunction with checkinBagWeight) |
| checkinBagWeight | int | Free checked baggage Allowance, in kilograms (KG) (used in conjunction with checkinBagPiece) |
| checkinBagWeightType | int | Measurement Method: 1: Per Unit Weight; 2: Total Weight. Default value: 1. Used in conjunction with the checkinBagWeight parameter. |
| carryonBaggagePiece | int | Number of carry-on baggage pieces. A value of -1 indicates no limit on the number of pieces. |
| carryonBaggageWeight | int | carry-on baggage weight in kilograms. Used in conjunction with carryonBaggagePiece. |
| carryonBaggageWeighType | int | Measurement Method: 1: Per Unit Weight; 2: Total Weight. Default value: 1. Used in conjunction with the carryonBaggageWeight parameter. |
| bookingChangeHistory | Object[] | Historical change records of the order, sorted by changeTime in ascending order. This node includes voluntary changes, schedule changes, passenger information updates, and cancellation events. Segment, passenger, and ticket before/after information is returned when applicable. |
| changeTime | String | Time when the change event occurred, format: YYYYMMDDHHMMSS. |
| changeCategory | String | Change category.VOLUNTARY_CHANGE: Voluntary date/flight change initiated by the passenger or partner.SCHEDULE_CHANGE: Schedule change initiated by the airline, including time change or flight replacement.PASSENGER_UPDATE: Passenger information update, such as name correction or document update.CANCELLATION: Cancellation/refund event. |
| changeNum | String | Change application number. Returned for change-related events when applicable. |
| cancellationNum | String | Cancellation application number. Returned for cancellation events. |
| passengerIds | String[] | Passenger IDs affected by this change event. |
| cancellationStatus | String | Current cancellation status of the cancellation event. Returned only when changeCategory = CANCELLATION. |
| originalSegments | Object[] | Segment information before the change. Returned when changeCategory = VOLUNTARY_CHANGE or SCHEDULE_CHANGE. |
| tripType | int | Trip type. 1: Outbound; 2: Inbound. |
| segmentNumber | String | Segment number, starting from 1. |
| flightNumber | String | Flight number, e.g. CA123. If the flight number starts with 0, omit the leading zeros. For example, CZ006 should be returned as CZ6. |
| depAirport | String | Departure airport, 3-letter IATA airport code. |
| depTime | String | Departure date and time, format: YYYYMMDDHHMM. |
| arrAirport | String | Arrival airport, 3-letter IATA airport code. |
| arrTime | String | Arrival date and time, format: YYYYMMDDHHMM. |
| updatedSegments | Object[] | Segment information after the change. Returned when changeCategory = VOLUNTARY_CHANGE or SCHEDULE_CHANGE. |
| tripType | int | Trip type. 1: Outbound; 2: Inbound. |
| segmentNumber | String | Segment number, starting from 1. |
| flightNumber | String | Flight number, e.g. CA123. If the flight number starts with 0, omit the leading zeros. For example, CZ006 should be returned as CZ6. |
| depAirport | String | Departure airport, 3-letter IATA airport code. |
| depTime | String | Departure date and time, format: YYYYMMDDHHMM. |
| arrAirport | String | Arrival airport, 3-letter IATA airport code. |
| arrTime | String | Arrival date and time, format: YYYYMMDDHHMM. |
| originalTickets | Object[] | Ticket information before the change. Returned when ticket number or PNR changes are involved in the event, such as VOLUNTARY_CHANGE, SCHEDULE_CHANGE, or other ticket reissue related scenarios. |
| passengerId | String | Passenger ID. |
| flightNumber | String | Flight number. |
| ticketNumber | String | Ticket number before the change. |
| pnr | String | PNR before the change. |
| updatedTickets | Object[] | Ticket information after the change. Returned when ticket number or PNR changes are involved in the event, such as VOLUNTARY_CHANGE, SCHEDULE_CHANGE, or other ticket reissue related scenarios. |
| passengerId | String | Passenger ID. |
| flightNumber | String | Flight number. |
| ticketNumber | String | Ticket number after the change. |
| pnr | String | PNR after the change. |
| originalPassengers | Object[] | Passenger information before the update. Returned when changeCategory = PASSENGER_UPDATE. |
| passengerId | String | Passenger ID. |
| firstName | String | Passenger first name. |
| lastName | String | Passenger last name. |
| cardType | String | Credential type, e.g. PP, ID, UN. |
| cardNum | String | Credential number. |
| cardExpired | String | Credential expiry date, format: YYYYMMDD. |
| cardIssuePlace | String | Credential issuing country, 2-letter country code. |
| updatedPassengers | Object[] | Passenger information after the update. Returned when changeCategory = PASSENGER_UPDATE. |
| passengerId | String | Passenger ID. |
| firstName | String | Passenger first name. |
| lastName | String | Passenger last name. |
| cardType | String | Credential type, e.g. PP, ID, UN. |
| cardNum | String | Credential number. |
| cardExpired | String | Credential expiry date, format: YYYYMMDD. |
| cardIssuePlace | String | Credential issuing country, 2-letter country code. |
Success-Response -(Booking details with ancillary services and after-sales change/cancellation information):
{ "status": 0, "msg": "success", "contentStatus": 0, "contentMsg": "success", "sessionId": "S20260317114500123", "orderNum": "2031663602599084032", "itineraryUrl": "https://download.aerohubtech.com/itinerary/2031663602599084032.pdf", "orderStatus": "TICKETED", "failureReason": "", "routeType": 1, "agencyAccountID": "AGT001", "amount": 5156.1, "originalAmount": 5156.1, "currency": "USD", "originalCurrency": "USD", "segmentCount": 4, "fromImport": 0, "createdTime": "20260311172844", "payExpiredTime": "20260311175844", "postAncillaryInfo": [], "chargeFees": [], "passengers": [ { "passengerId": "0", "withPassengerId": "", "firstName": "ROBIN", "lastName": "CHEN", "birthday": "19870318", "gender": "M", "ageType": 0, "nationality": "CN", "cardType": "PP", "cardNum": "E12345678", "cardExpired": "20301231", "cardIssuePlace": "CN" }, { "passengerId": "1", "withPassengerId": "", "firstName": "DAVID", "lastName": "KUMAR", "birthday": "19900215", "gender": "M", "ageType": 0, "nationality": "IN", "cardType": "PP", "cardNum": "N99887766", "cardExpired": "20310420", "cardIssuePlace": "IN" }, { "passengerId": "2", "withPassengerId": "", "firstName": "ALICE", "lastName": "LEE", "birthday": "19951120", "gender": "F", "ageType": 0, "nationality": "CN", "cardType": "PP", "cardNum": "E77777777", "cardExpired": "20311231", "cardIssuePlace": "CN" } ], "contact": { "lastName": "CHEN", "firstName": "ROBIN", "mobile": "86-13800138000", "email": "robin.chen@example.com", "address": "Shanghai, China", "postCode": "200000", "otherPhone": "", "countryCode": "CN", "city": "Shanghai", "title": "Mr", "companyName": "AeroHub Travel" }, "ssrs": [], "seats": [], "routing": { "currency": "USD", "originalCurrency": "USD", "fromSegments": [ { "tripType": 1, "segmentNumber": "1", "carrier": "AI", "flightNumber": "AI133", "codeShare": false, "operatingFlightNumber": "", "operatingCarrier": "", "depAirport": "LHR", "depTerminal": "2", "arrAirport": "BOM", "arrTerminal": "2", "depTime": "202604101200", "arrTime": "202604110115", "aircraftCode": "789", "stopAirports": [], "duration": 495, "fares": [ { "fareBasisCode": "LLXOWIN", "productClass": "Y", "issuePolicyType": "R1,S1,T1", "cabinClass": "L", "fareTypeCode": "AirlineBundle", "fareTypeDesc": "Saver", "paxFare": { "ADT": [ { "chargeType": "FarePrice", "chargeDesc": "Base fare", "chargeCode": "", "amount": 1200, "currency": "USD", "originalAmount": 1200 }, { "chargeType": "Tax", "chargeDesc": "Tax", "chargeCode": "", "amount": 180, "currency": "USD", "originalAmount": 180 } ], "CHD": [], "INF": [] } } ] }, { "tripType": 1, "segmentNumber": "2", "carrier": "AI", "flightNumber": "AI2356", "codeShare": false, "operatingFlightNumber": "", "operatingCarrier": "", "depAirport": "BOM", "depTerminal": "2", "arrAirport": "BLR", "arrTerminal": "1", "depTime": "202604111000", "arrTime": "202604111145", "aircraftCode": "320", "stopAirports": [], "duration": 105, "fares": [ { "fareBasisCode": "LLXOWIN", "productClass": "Y", "issuePolicyType": "R1,S1,T1", "cabinClass": "L", "fareTypeCode": "AirlineBundle", "fareTypeDesc": "Saver", "paxFare": { "ADT": [ { "chargeType": "FarePrice", "chargeDesc": "Base fare", "chargeCode": "", "amount": 200, "currency": "USD", "originalAmount": 200 }, { "chargeType": "Tax", "chargeDesc": "Tax", "chargeCode": "", "amount": 45, "currency": "USD", "originalAmount": 45 } ], "CHD": [], "INF": [] } } ] } ], "retSegments": [ { "tripType": 2, "segmentNumber": "3", "carrier": "AI", "flightNumber": "AI2353", "codeShare": false, "operatingFlightNumber": "", "operatingCarrier": "", "depAirport": "BLR", "depTerminal": "1", "arrAirport": "BOM", "arrTerminal": "2", "depTime": "202604201030", "arrTime": "202604201215", "aircraftCode": "320", "stopAirports": [], "duration": 105, "fares": [ { "fareBasisCode": "LLXOWIN", "productClass": "Y", "issuePolicyType": "R1,S1,T1", "cabinClass": "L", "fareTypeCode": "AirlineBundle", "fareTypeDesc": "Saver", "paxFare": { "ADT": [ { "chargeType": "FarePrice", "chargeDesc": "Base fare", "chargeCode": "", "amount": 200, "currency": "USD", "originalAmount": 200 }, { "chargeType": "Tax", "chargeDesc": "Tax", "chargeCode": "", "amount": 45, "currency": "USD", "originalAmount": 45 } ], "CHD": [], "INF": [] } } ] }, { "tripType": 2, "segmentNumber": "4", "carrier": "AI", "flightNumber": "AI129", "codeShare": false, "operatingFlightNumber": "", "operatingCarrier": "", "depAirport": "BOM", "depTerminal": "2", "arrAirport": "LHR", "arrTerminal": "2", "depTime": "202604201430", "arrTime": "202604201915", "aircraftCode": "789", "stopAirports": [], "duration": 525, "fares": [ { "fareBasisCode": "LLXOWIN", "productClass": "Y", "issuePolicyType": "R1,S1,T1", "cabinClass": "L", "fareTypeCode": "AirlineBundle", "fareTypeDesc": "Saver", "paxFare": { "ADT": [ { "chargeType": "FarePrice", "chargeDesc": "Base fare", "chargeCode": "", "amount": 1200, "currency": "USD", "originalAmount": 1200 }, { "chargeType": "Tax", "chargeDesc": "Tax", "chargeCode": "", "amount": 180, "currency": "USD", "originalAmount": 180 } ], "CHD": [], "INF": [] } } ] } ] }, "tickets": [ { "passengerId": "0", "flightNumber": "AI132", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567901", "pnr": "PNR101", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260315101000001", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "0", "flightNumber": "AI2356", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567901", "pnr": "PNR101", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260315101000001", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "0", "flightNumber": "AI2353", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567901", "pnr": "PNR101", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260315101000001", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "0", "flightNumber": "AI129", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567901", "pnr": "PNR101", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260315101000001", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "1", "flightNumber": "AI130", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567802", "pnr": "PNR002", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "REFUNDED", "changeStatus": "", "latestChangeNum": "", "cancellationStatus": "CANCELED", "latestCancellationNum": "R20260316131500001" }, { "passengerId": "1", "flightNumber": "AI2354", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567802", "pnr": "PNR002", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "REFUNDED", "changeStatus": "", "latestChangeNum": "", "cancellationStatus": "CANCELED", "latestCancellationNum": "R20260316131500001" }, { "passengerId": "1", "flightNumber": "AI2353", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567802", "pnr": "PNR002", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "REFUNDED", "changeStatus": "", "latestChangeNum": "", "cancellationStatus": "CANCELED", "latestCancellationNum": "R20260316131500001" }, { "passengerId": "1", "flightNumber": "AI129", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567802", "pnr": "PNR002", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "REFUNDED", "changeStatus": "", "latestChangeNum": "", "cancellationStatus": "CANCELED", "latestCancellationNum": "R20260316131500001" }, { "passengerId": "2", "flightNumber": "AI133", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567803", "pnr": "PNR003", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260316123000002", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "2", "flightNumber": "AI2356", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567803", "pnr": "PNR003", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260316123000002", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "2", "flightNumber": "AI2353", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567803", "pnr": "PNR003", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260316123000002", "cancellationStatus": "", "latestCancellationNum": "" }, { "passengerId": "2", "flightNumber": "AI129", "productClass": "Y", "cabinClass": "L", "ticketNumber": "0981234567803", "pnr": "PNR003", "pnrStatus": "CONFIRM", "accountName": "", "accountPass": "", "ticketStatus": "TICKETED", "changeStatus": "CHANGED", "latestChangeNum": "C20260316123000002", "cancellationStatus": "", "latestCancellationNum": "" } ], "airlineOtherFees": [ { "type": 2, "orderNum": "2031663602599084032", "desc": "paymentFee", "originalAmount": 0, "originalCurrency": "USD", "amount": 0, "currency": "USD" } ], "bundle": {}, "rules": [], "bookingChangeHistory": [ { "changeTime": "20260315093000", "changeCategory": "SCHEDULE_CHANGE", "changeNum": "", "cancellationNum": "", "passengerIds": [ "0" ], "originalSegments": [ { "tripType": 1, "segmentNumber": "1", "flightNumber": "AI130", "depAirport": "LHR", "depTime": "202604100930", "arrAirport": "BOM", "arrTime": "202604102245" } ], "updatedSegments": [ { "tripType": 1, "segmentNumber": "1", "flightNumber": "AI131", "depAirport": "LHR", "depTime": "202604101000", "arrAirport": "BOM", "arrTime": "202604102315" } ], "originalTickets": [ { "passengerId": "0", "flightNumber": "AI130", "ticketNumber": "0981234567001", "pnr": "PNR001" } ], "updatedTickets": [ { "passengerId": "0", "flightNumber": "AI131", "ticketNumber": "0981234567101", "pnr": "PNR011" } ] }, { "changeTime": "20260315101000", "changeCategory": "VOLUNTARY_CHANGE", "changeNum": "C20260315101000001", "cancellationNum": "", "passengerIds": [ "0" ], "originalSegments": [ { "tripType": 1, "segmentNumber": "1", "flightNumber": "AI131", "depAirport": "LHR", "depTime": "202604101000", "arrAirport": "BOM", "arrTime": "202604102315" }, { "tripType": 1, "segmentNumber": "2", "flightNumber": "AI2354", "depAirport": "BOM", "depTime": "202604110700", "arrAirport": "BLR", "arrTime": "202604110845" } ], "updatedSegments": [ { "tripType": 1, "segmentNumber": "1", "flightNumber": "AI132", "depAirport": "LHR", "depTime": "202604101130", "arrAirport": "BOM", "arrTime": "202604110045" }, { "tripType": 1, "segmentNumber": "2", "flightNumber": "AI2356", "depAirport": "BOM", "depTime": "202604111000", "arrAirport": "BLR", "arrTime": "202604111145" } ], "originalTickets": [ { "passengerId": "0", "flightNumber": "AI131", "ticketNumber": "0981234567101", "pnr": "PNR011" }, { "passengerId": "0", "flightNumber": "AI2354", "ticketNumber": "0981234567101", "pnr": "PNR011" } ], "updatedTickets": [ { "passengerId": "0", "flightNumber": "AI132", "ticketNumber": "0981234567901", "pnr": "PNR101" }, { "passengerId": "0", "flightNumber": "AI2356", "ticketNumber": "0981234567901", "pnr": "PNR101" } ] }, { "changeTime": "20260316110000", "changeCategory": "SCHEDULE_CHANGE", "changeNum": "", "cancellationNum": "", "passengerIds": [ "2" ], "originalSegments": [ { "tripType": 1, "segmentNumber": "1", "flightNumber": "AI130", "depAirport": "LHR", "depTime": "202604100930", "arrAirport": "BOM", "arrTime": "202604102245" } ], "updatedSegments": [ { "tripType": 1, "segmentNumber": "1", "flightNumber": "AI133", "depAirport": "LHR", "depTime": "202604101200", "arrAirport": "BOM", "arrTime": "202604110115" } ], "originalTickets": [ { "passengerId": "2", "flightNumber": "AI130", "ticketNumber": "0981234567303", "pnr": "PNR023" } ], "updatedTickets": [ { "passengerId": "2", "flightNumber": "AI133", "ticketNumber": "0981234567803", "pnr": "PNR003" } ] }, { "changeTime": "20260316123000", "changeCategory": "PASSENGER_UPDATE", "changeNum": "C20260316123000002", "cancellationNum": "", "passengerIds": [ "2" ], "originalPassengers": [ { "passengerId": "2", "firstName": "ALICE", "lastName": "LI", "cardType": "PP", "cardNum": "E55555555", "cardExpired": "20291130", "cardIssuePlace": "CN" } ], "updatedPassengers": [ { "passengerId": "2", "firstName": "ALICE", "lastName": "LEE", "cardType": "PP", "cardNum": "E77777777", "cardExpired": "20311231", "cardIssuePlace": "CN" } ] }, { "changeTime": "20260316131500", "changeCategory": "CANCELLATION", "changeNum": "", "cancellationNum": "R20260316131500001", "passengerIds": [ "1" ], "cancellationStatus": "CANCELED" } ] }
Status Code
| Name | Description |
|---|---|
| 1000 | General system error |
| 1001 | Request parameters or part of parameters missing |
| 1002 | Invalid Action |
| 1003 | API request timeout, please request again |
| 1004 | Invalid request parameter |
| 1005 | Service system error |
| 1006 | System busy, please try again |
| 1101 | Authentication fail, wrong signature |
| 1102 | Account disabled, please contact with account administrator |
Error-Response
{ "status": 1000, "msg": "Letslfy flight internal error" }
Last editor:AeroHub Update time:2026-03-19 18:20