Order
- Purpose: Used to generate supplier orders for AeroHub. Generating orders means that suppliers should occupy space to reduce the price change rate.
- Request:
POST - Encryption:
Yes
Request
| Parameter Name |
Type |
Required |
Description |
| requestId |
string |
✅ |
Request ID. Each interface in the booking process is unique. A complete booking process can be connected through this field. The length is 32 bits. |
| orderNo |
string |
✅ |
The order number of AeroHub is 20 characters in length. The supplier needs to save it and the invoicing process needs to use this field for association. |
| tripType |
int |
✅ |
Trip type: 1 one-way, 2 round-trip |
| sessionId |
string |
✅ |
Session ID, the supplier’s unique ID for each interface connected in series during the reservation process, consisting of numbers or letters, with a maximum length of 40 characters |
| routing |
object/routing Element |
✅ |
For itinerary and quotation information, refer to the object/routing Element in the Verify interface. |
| isResidentDiscountEligible |
bool |
⬜ |
true means the order uses the islander discount price, the default is false |
| passengers |
array/passenger Element |
✅ |
Passenger information |
| contact |
object/contact Element |
✅ |
Contact information |
| passengerBaggages |
array/passengerBaggages Element |
⬜️ |
Auxiliary business information |
| passengerSeats |
array/passengerSeats Element |
⬜️ |
Auxiliary camp seat selection information |
| baggageSources |
string |
⬜️ |
Empty: baggage quotation from the supplier; FMKT: baggage warehouse quotation data from FareMarket |
| serviceTag |
object |
✅ |
The service requirement label specified this time includes the ticket issuance speed, whether the order can be split and the ticket is issued, whether it is allowed to change the ticket number and whether the platform email is used for the ticket issuance. |
array/passenger Element
| Parameter Name |
Type |
Required |
Description |
| passengerNo |
int |
✅ |
Passenger’s serial number, starting from 0 |
| name |
string |
✅ |
Passenger name, separated by / between last name and first name, LastName/FirstName MiddleName |
| ageType |
int |
✅ |
Passenger type, 0 adult, 1 child, 2 infant |
| birthday |
string |
✅ |
Date of birth, format: YYYYMMDD |
| gender |
string |
✅ |
Passenger gender, M male, F female |
| cardType |
string |
⬜️ |
Document types: PP Passport, GA Hong Kong and Macao Pass, TW Taiwan Pass, TB Taiwan Compatriot Permit (Taiwan and Mainland Travel Permit), HX Home Return Permit (Hong Kong and Macao Mainland Travel Permit), HY International Seaman’s Certificate, ID Card, NIE Spanish Foreigner Certificate Number, DNI Spanish Islander Certificate Number, UN Unknown |
| cardNo |
string |
⬜️ |
ID number, maximum 15 characters |
| cardIssuePlace |
string |
⬜️ |
The country that issued the document adopts ISO 3166 two-character code as the standard. |
| cardExpired |
string |
⬜️ |
Certificate validity period, format: YYYYMMDD |
| withPassengerNo |
int |
⬜️ |
This item must be passed in when the passenger type is an infant, and the passengerNo of the accompanying adult passenger needs to be noted. |
| nationality |
string |
⬜️ |
Passenger nationality, using ISO 3166 two-character code as the standard |
| localityCodeOfResidency |
string |
⬜️ |
Island divisions such as: “Castell -Es-“ |
object/contact Element
| Parameter Name |
Type |
Required |
Description |
| fullName |
string |
✅ |
Contact name, separated by / between last name and first name, LastName/FirstName MiddleName |
| address |
string |
✅ |
Contact address |
| postCode |
string |
⬜️ |
post code |
| email |
string |
✅ |
Contact email |
| mobile |
string |
✅ |
Contact phone number |
array/passengerBaggages Element
| Parameter Name |
Type |
Required |
Description |
| passengerNo |
int |
⬜️ |
Passenger serial number, starting from 0 |
| passengerName |
string |
⬜️ |
Passenger name, separated by / between last name and first name, LastName/FirstName MiddleName |
| payBaggages |
array/payBaggages Element |
⬜️ |
Auxiliary business information |
array/payBaggages Element
| Parameter Name |
Type |
Required |
Description |
| flightNumber |
string |
✅ |
Flight number, such as: CA123 |
| depAirport |
string |
✅ |
Departure airport code, using IATA three-letter code as the standard |
| arrAirport |
string |
✅ |
Arrival airport code, using IATA three-letter code as the standard |
| depTime |
string |
✅ |
Departure date (local time), format: YYYYMMDDHHMM, for example, 20230310 means March 10, 2023 |
| baggagePrices |
array/baggagePrice Element |
✅ |
Auxiliary price |
array/baggagePrice Element
| Parameter Name |
Type |
Required |
Description |
| code |
string |
✅ |
Auxiliary code should be consistent with the code returned by the SSR interface |
| name |
string |
✅ |
Auxiliary camp name, consistent with what is returned by the SSR interface |
| type |
int |
✅ |
Auxiliary type, 0 checked baggage, 1 boarding baggage, 2 check-in, 3 express boarding + priority boarding package, consistent with what is returned by the SSR interface |
| count |
int |
✅ |
The number of auxiliary operations required by the customer when booking |
| weight |
int |
✅ |
The weight of the baggage is consistent with what is returned by the SSR interface. |
| bookSalePrice |
float |
✅ |
The quotation of the auxiliary operation at the time of booking shall be consistent with that returned by the SSR interface, and shall be kept to 2 decimal places. |
| currency |
string |
✅ |
The auxiliary currency should be consistent with the ticket and consistent with what is returned by the SSR interface. |
| desc |
string |
⬜️ |
The instructions for the auxiliary camp are consistent with those returned by the SSR interface. |
array/passengerSeats Element
| Parameter Name |
Type |
Required |
Description |
| passengerNo |
int |
✅ |
Passenger serial number, starting from 0 |
| passengerName |
string |
✅ |
Passenger name, separated by / between last name and first name, LastName/FirstName MiddleName |
| seats |
array/seats Element |
✅ |
Auxiliary camp seating information |
array/seats Element
| Parameter Name |
Type |
Required |
Description |
| flightNumber |
string |
✅ |
Flight number, such as: CA123 |
| depAirport |
string |
✅ |
Departure airport code, using IATA three-letter code as the standard |
| arrAirport |
string |
✅ |
Arrival airport code, using IATA three-letter code as the standard |
| depTime |
string |
✅ |
Departure date and departure time (local time), format: YYYYMMDDHHMM, for example, 202303100300 means 3:00 on March 10, 2023 |
| segmentNo |
int |
✅ |
Flight sequence, 1 outbound trip, 2 return trip |
| sequence |
int |
✅ |
The sequence of flight segments starts from 1. Note: If it is a round trip, both the outbound and return journeys start from 1. |
| amount |
float |
✅ |
The price of seat selection, the amount is 0, represents the free seat selection included in the package |
| currency |
string |
✅ |
Transaction currency |
| rowNo |
string |
✅ |
Seat map row number |
| colNo |
string |
✅ |
Seating map row number |
| data |
string |
✅ |
The original data returned by the GetSeat interface is used for suppliers to do internal business. The serial length does not exceed 64 bits. |
| deck |
string |
✅ |
M: MainDeck lower deck; U: UpperDeck upper deck. |
| status |
int |
✅ |
0 is not optional, 1 is optional |
| nearAisle |
int |
✅ |
Is it close to the corridor 0: Unknown 1: Yes 2: No |
| nearExit |
int |
✅ |
Whether by exit 0: Unknown 1: Yes 2: No |
| nearLavatory |
int |
✅ |
Whether it depends on the toilet 0: Unknown 1: Yes 2: No |
| nearWindow |
int |
✅ |
Whether by a window 0: Unknown 1: Yes 2: No |
| overWing |
int |
✅ |
Whether on the wing 0: Unknown 1: Yes 2: No |
| allowChildSelected |
int |
⬜ |
Whether children are allowed to choose their seats 0: Unknown 1: Yes 2: No |
| withInfant |
int |
⬜ |
Whether the current seat allows infants to be carried 0: Unknown 1: Yes 2: No |
Object/ServiceTag Element
| Parameter Name |
Type |
Required |
Description |
| ticketSpeed |
int |
✅ |
0:30 minutes; 1:1hour 2:12hour |
| issueSpeedRequirement |
int |
✅ |
Indicates the required ticket issuance time limit after this scheduled order is issued, measured in minutes. |
| nonSplitOrder |
int |
✅ |
0-no limit 1-splitting orders and issuing tickets is prohibited) |
| nonReplaceTicketNo |
int |
✅ |
0-no limit 1-no change of ticket number after ticket issuance) |
| issueMailbox |
int |
✅ |
0-Email address of the ticket issuer 1-Incoming from the platform Indicates whether to use the incoming email address to issue tickets with the airline |
| issuePhone |
int |
✅ |
0-No limit 1-Incoming from the platform Indicates whether to use the incoming mobile phone number to issue tickets with the airline |
Sample Request
{
"requestId": "bc3461520668454e",
"orderNo": "F1726885264686714880",
"tripType": 2,
"sessionId": "aNBOGd3p7Kf72ALZOQY",
"routing": {
"data": "DST_djlfOUNCMkNCSl9QVkd",
"issuePolicyType": "R1,S1,T1",
"fromSegments": [
{
"marketingCarrier": "9C",
"depAirport": "PVG",
"depTime": "202302100915",
"arrAirport": "HKG",
"seatGrade": "",
"seatClass": "V",
"flightNumber": "9C8921",
"codeShare": false,
"aircraftCode": "",
"segmentNo": 1,
"operatingCarrier": "",
"operatingFlightNo": "",
"stopCities": ""
}
],
"retSegments": [
{
"marketingCarrier": "9C",
"depAirport": "HKG",
"depTime": "202302151320",
"arrAirport": "PVG",
"seatClass": "V",
"seatGrade": "",
"flightNumber": "9C8922",
"codeShare": false,
"aircraftCode": "",
"segmentNo": 2,
"operatingCarrier": "",
"operatingFlightNo": "",
"stopCities": ""
}
]
},
"serviceTag": {
"ticketSpeed": 1,
"issueSpeedRequirement": 60,
"nonSplitOrder": 0,
"nonReplaceTicketNo": 1,
"issueMailbox": 0,
"issuePhone": 0
},
"passengers": [
{
"passengerNo": 0,
"name": "ZHANG/SAN",
"ageType": 0,
"birthday": "19890910",
"gender": "M",
"cardType": "",
"cardNo": "",
"cardIssuePlace": "CN",
"cardExpired": "20201125",
"nationality": "CN"
}
],
"contact": {
"fullName": "ZHANG/SAN",
"address": "XXX, Beijing, China",
"postCode": "200335",
"email": "SAN@aerohubtech.com",
"mobile": "13810001234"
},
"passengerBaggages": [
{
"passengerNo": 0,
"passengerName": "QIN/GANGFENG",
"payBaggages": [
{
"flightNumber": "9C8921",
"depAirport": "PVG",
"arrAirport": "HKG",
"depTime": "202002100915",
"baggagePrices": [
{
"code": "PA20",
"name": "20 KG",
"type": 1,
"count": 1,
"weight": 20,
"bookSalePrice": 100,
"currency": "USD",
"desc": ""
},
{
"code": "PA30",
"name": "30 KG",
"type": 1,
"count": 2,
"weight": 30,
"bookSalePrice": 180,
"currency": "USD",
"desc": ""
}
]
}
]
}
],
"passengerSeats": [
{
"passengerNo": 0,
"passengerName": "QIN/GANGFENG",
"seats": [
{
"flightNumber": "9C8921",
"depAirport": "PVG",
"arrAirport": "HKG",
"segmentNo": 1,
"sequence": 1,
"depTime": "202002100915",
"amount": 19.32,
"currency": "USD",
"rowNo": "1",
"colNo": "A",
"data": "eyJzZXJ2aWNlQ29kZSI6ICJTVEZTIiwgI0=",
"deck": "M",
"status": 1,
"nearAisle": 0,
"nearExit": 0,
"nearLavatory": 0,
"nearWindow": 0,
"overWing": 0,
"allowChildSelected": 0,
"withInfant": 0
},
{
"flightNumber": "9C8922",
"depAirport": "HKG",
"arrAirport": "TYO",
"segmentNo": 2,
"sequence": 1,
"depTime": "202002301115",
"amount": 29.32,
"currency": "USD",
"rowNo": "10",
"colNo": "B",
"data": "eyJzZXJ2aWNlQ29kZSI6ICJTVEZTIiwgI0=",
"deck": "M",
"status": 1,
"nearAisle": 0,
"nearExit": 0,
"nearLavatory": 0,
"nearWindow": 0,
"overWing": 0,
"allowChildSelected": 0,
"withInfant": 0
}
]
}
]
}
Response
| Parameter Name |
Type |
Required |
Description |
| marketErrorCode |
int |
✅ |
Supplier system error code is used to assist AeroHub and suppliers in troubleshooting problems. Please return the true error truthfully. |
| marketErrorMsg |
string |
✅ |
Supplier system error description, please truthfully return the real error reason, the length is less than 300 characters |
| sessionId |
string |
✅ |
Session ID, the supplier’s unique ID for each interface connected in series during the reservation process, consisting of numbers or letters, with a maximum length of 40 characters |
| orderNo |
string |
✅ |
The order number of the supplier’s own system, up to 30 characters, AeroHub will record this field for later traceability |
| pnrCode |
string |
✅ |
PNR code used for quotation/occupancy |
| maxSeats |
int |
✅ |
Total number of seats booked, maximum 9 |
| orderContact |
object |
✅ |
The contact information used when making the actual reservation should be consistent with the contact information in the reservation management on the airline’s official website, and the email address here should be used to receive emails from the airline. |
| routing |
object |
✅ |
For itinerary and quotation information, refer to the object/routing Element in the Verify interface. |
| passengerBaggages |
array/passengerBaggages Element |
⬜️ |
The actual booked auxiliary business information should be consistent with the request. This parameter is used to verify whether the order bookings in both systems are consistent. |
| passengerSeats |
array/passengerSeats Element |
⬜️ |
Auxiliary camp seat selection information |
| ticketCurrencyPolicy |
string |
⬜ |
The currency requirement when issuing tickets on the official website. When it is empty, it means there is no limit. When the return value is ORIGIN, it means that the currency of the actual issuing place is required to pay and issue the ticket on the official website. |
Response Example
Success Response:
{
"marketErrorCode": 200,
"marketErrorMsg": "Successful",
"sessionId": "5821bdc6e733aec47432d2omyrwz",
"orderNo": "lf24011914090061116",
"pnrCode": "5MO00B",
"promoCode": "DE123D1212",
"maxSeats": 3,
"orderContact": {
"address": "Beijing 62",
"fullName": "ZHANG/SAN",
"mobile": "911114174",
"email": "zhangsan@aerohub.com",
"postCode": "10001"
},
"routing": {
"data": "eyJzIjogIjU4MjFiZGM2ZTczM2FlY==",
"issuePolicyType": "R1,S1,T1",
"fromSegments": [
{
"marketingCarrier": "T6",
"seatClass": "B",
"depAirport": "USU",
"arrAirport": "ENI",
"codeShare": false,
"aircraftCode": "",
"stopCities": "",
"flightNumber": "T6537",
"seatGrade": "Y",
"segmentNo": 0,
"depTime": "2024-01-25T12:50:00",
"arrTime": "2024-01-25T13:30:00",
"operatingCarrier": "",
"operatingFlightNo": ""
}
],
"retSegments": [],
"priceList": [
{
"passengerType": 0,
"publishPrice": 55.37,
"price": 55.37,
"taxFeeAmount": 19.56,
"taxFeeDisclosureList": null
},
{
"passengerType": 1,
"publishPrice": 55.37,
"price": 55.37,
"taxFeeAmount": 19.56,
"taxFeeDisclosureList": null
}
],
"originPriceList": [
{
"passengerType": 0,
"publishPrice": 55.37,
"price": 55.37,
"taxFeeAmount": 19.56,
"taxFeeDisclosureList": null
},
{
"passengerType": 1,
"publishPrice": 55.37,
"price": 55.37,
"taxFeeAmount": 19.56,
"taxFeeDisclosureList": null
}
],
"eligibility": "",
"validatingCarrier": "T6",
"productType": "",
"fareBasis": "",
"bookingOfficeNo": "",
"ticketingOfficeNo": "",
"reservationType": "1X",
"posCode": "",
"complexTerm": 0,
"minAge": 0,
"maxAge": 0,
"planCategory": "",
"invoiceType": "E",
"minPassengerCount": 1,
"maxPassengerCount": 9,
"note": "",
"airlineAncillaries": null,
"formatBaggageDetailList": [
{
"segmentNo": 1,
"flightSeq": "1",
"passengerType": 0,
"baggagePiece": 0,
"baggageWeight": -1
},
{
"segmentNo": 1,
"flightSeq": "1",
"passengerType": 1,
"baggagePiece": 0,
"baggageWeight": -1
}
],
"refundInfoList": [
{
"passengerType": 0,
"refundType": 0,
"refundStatus": "T",
"refundFee": 0.0,
"refNoshow": "T",
"refNoShowCondition": 0,
"refNoshowFee": 0.0,
"conditionList": null
},
{
"passengerType": 1,
"refundType": 0,
"refundStatus": "T",
"refundFee": 0.0,
"refNoshow": "T",
"refNoShowCondition": 0,
"refNoshowFee": 0.0,
"conditionList": null
}
],
"changesInfoList": [
{
"passengerType": 0,
"changesType": 0,
"changesStatus": "T",
"changesFee": 0.0,
"revNoShow": "",
"revNoShowCondition": 0,
"revNoShowFee": 0.0,
"conditionList": null
},
{
"passengerType": 1,
"changesType": 0,
"changesStatus": "T",
"changesFee": 0.0,
"revNoShow": "",
"revNoShowCondition": 0,
"revNoShowFee": 0.0,
"conditionList": null
}
],
"packageInfo": {
"packageType": "",
"packageName": ""
},
"currency": "USD",
"ticketTimeUnit": 0,
"combineIndexs": null,
"endorsement": 0
},
"passengerBaggages": [
{
"passengerNo": 0,
"passengerName": "ZHANG/SAN",
"payBaggages": [
{
"flightNumber": "T6537",
"depAirport": "USU",
"arrAirport": "ENI",
"depTime": "2024-01-25T12:50:00",
"baggagePrices": [
{
"code": "PA20",
"name": "20 KG",
"type": 0,
"count": 2,
"weight": 20.0,
"bookSalePrice": 15.32,
"currency": "USD",
"desc": ""
}
]
}
]
},
{
"passengerNo": 1,
"passengerName": "LI/SI",
"payBaggages": [
{
"flightNumber": "T6537",
"depAirport": "USU",
"arrAirport": "ENI",
"depTime": "202002100915",
"baggagePrices": [
{
"code": "PA20",
"name": "20 KG",
"type": 0,
"count": 2,
"weight": 20.0,
"bookSalePrice": 15.32,
"currency": "USD",
"desc": ""
}
]
}
]
},
{
"passengerNo": 2,
"passengerName": "WANG/WU",
"payBaggages": [
{
"flightNumber": "T6537",
"depAirport": "USU",
"arrAirport": "ENI",
"depTime": "202002100915",
"baggagePrices": [
{
"code": "PA20",
"name": "20 KG",
"type": 0,
"count": 2,
"weight": 20.0,
"bookSalePrice": 15.32,
"currency": "USD",
"desc": ""
}
]
}
]
}
],
"passengerSeats": [
{
"passengerNo": 0,
"passengerName": "QIN/GANGFENG",
"seats": [
{
"flightNumber": "9C8921",
"depAirport": "PVG",
"arrAirport": "HKG",
"depTime": "202002100915",
"segmentNo": 1,
"sequence": 1,
"amount": 19.32,
"currency": "USD",
"rowNo": "1",
"colNo": "A",
"data": "eyJzZXJ2aWNlQ29kZSI6ICJTVEZTIiwgI0=",
"deck": "M",
"status": 1,
"nearAisle": 0,
"nearExit": 0,
"nearLavatory": 0,
"nearWindow": 0,
"overWing": 0,
"allowChildSelected": 0,
"withInfant": 0
},
{
"flightNumber": "9C8922",
"depAirport": "HKG",
"arrAirport": "TYO",
"depTime": "202002301115",
"segmentNo": 2,
"sequence": 1,
"amount": 29.32,
"currency": "USD",
"rowNo": "10",
"colNo": "B",
"data": "eyJzZXJ2aWNlQ29kZSI6ICJTVEZTIiwgI0=",
"deck": "M",
"status": 1,
"nearAisle": 0,
"nearExit": 0,
"nearLavatory": 0,
"nearWindow": 0,
"overWing": 0,
"allowChildSelected": 0,
"withInfant": 0
}
]
}
],
"processTime": 2.9854
}
Error Response
{
"marketErrorCode": 5112,
"marketErrorMsg": "Price changed to no seat"
}
Author:AeroHub Create time:2023-07-10 16:13
Last editor:AeroHub Update time:2026-10-20 11:28