sessionId
returned by verify response. If you got offer by verify api, then this parameter is required.offerID
returned by get offer response. If you got offer by "get offer" api, then this parameter is required.M
: MaleF
: FemaleYYYYMMDD
. Please fill in according to the passenger information requirements(bookingRequirement
) returned by the Verification / Get Offer API.bookingRequirement
) returned by the Verification / Get Offer API.bookingRequirement
) returned by the Verification / Get Offer API.YYYYMMDD
.Please fill in according to the passenger information requirements(bookingRequirement
) returned by the Verification / Get Offer API.bookingRequirement
) returned by the Verification / Get Offer API.true
: Use Atlas email as contact email.false
: It is determined according to the strategy agreed upon with the customer or the default strategy of the system.{
"sessionId": "cc576b96-5dbc-41af-a3fa-7bb662f801ec",
"offerId": "",
"passengers": [
{
"name": "aaaaa/aaaaaabs",
"passengerType": 0,
"birthday": "19900101",
"gender": "M",
"cardNum": "636940383",
"cardType": "NATIONAL_ID_CARD",
"cardIssuePlace": "PT",
"cardExpired": "20250101",
"nationality": "US",
"ffpCardNo": null,
"ffpCarrier": null,
"ancillaries": [
{
"productCode": "",
"segmentIndex": 1
}
]
}
],
"contact": {
"name": "Smith/Jane",
"address": "189, Sky Garden Walk/London/US/US",
"postcode": "EC3M 8AF",
"email": "jane.smith@example.com",
"mobile": "0001-982736245"
},
"useAtlasMailForContact": false,
"locale": "",
"requestSource": "CtripNew",
"ifSeatOccupied": "",
"payment": {
"cardType": ""
}
}
curl --location --request POST 'https://sandbox.atriptech.com/order.do' \
--header 'Accept: application/json' \
--header 'Accept;' \
--header 'Accept-Encoding: gzip' \
--header 'Accept-Encoding;' \
--header 'x-atlas-client-id: <YOUR_CLIENT_ID>' \
--header 'x-atlas-client-id;' \
--header 'x-atlas-client-secret: <YOUR_CLIENT_SECRET>' \
--header 'x-atlas-client-secret;' \
--header 'Content-Type: application/json' \
--data-raw '{
"sessionId": "cc576b96-5dbc-41af-a3fa-7bb662f801ec",
"offerId": "",
"passengers": [
{
"name": "aaaaa/aaaaaabs",
"passengerType": 0,
"birthday": "19900101",
"gender": "M",
"cardNum": "636940383",
"cardType": "NATIONAL_ID_CARD",
"cardIssuePlace": "PT",
"cardExpired": "20250101",
"nationality": "US",
"ffpCardNo": null,
"ffpCarrier": null,
"ancillaries": [
{
"productCode": "",
"segmentIndex": 1
}
]
}
],
"contact": {
"name": "Smith/Jane",
"address": "189, Sky Garden Walk/London/US/US",
"postcode": "EC3M 8AF",
"email": "jane.smith@example.com",
"mobile": "0001-982736245"
},
"useAtlasMailForContact": false,
"locale": "",
"requestSource": "CtripNew",
"ifSeatOccupied": "",
"payment": {
"cardType": ""
}
}'
status
!=0
), it is usually a human-readable error message. Note: Do not use this field in any programming scenarios. For example, do not judge whether the interface responds successfully based on this field. Instead, you should only determine it by checking whether the status is equal to0
at any time.sessionId
in the request parameters.offerId
in the request parameters.yyyy-MM-dd HH:mm:ss
.[]
).[]
).supportPaymentMethods
instead.null
or[]
. Each item in this array is one of the following:infantPrice
and infantTax
will never be null
, when the fare does not support infants or is free for infants, both infantPrice
and infantTax
display 0
. In this case, you need this field to distinguish which situation it is.true
: infants is supported by this fare, infantPrice
and infantTax
will >= 0
false
: infants is not supported by this fare, infantPrice
and infantTax
will be displayed as 0
childMandatorySeatingFee
field displays this discounted fee.null
.childMandatorySeatingFee
for their seat.transactionFee
and transactionFeeMode
.transactionFeeMode
. The following lists the calculation methods for the final technical service fee in various situations.transactionFeeMode
=PER_SEGMENT
:transactionFee
* number of passengers * number of segments.transactionFeeMode
=PER_TICKET
:transactionFee
* number of passengers * number of orders on airline side.transactionFeeMode
=PER_PAX
:transactionFee
* number of passengers.transactionFeeMode
=PER_BOOKING
:transactionFee
.null
or []
.supportPaymentMethods
contains3
or4
.yyyy-MM-dd'T'HH:mm:ss'Z'
.yyyy-MM-dd'T'HH:mm:ss'Z'
.displayCurrency
for the search or verify is not specified, then this node will benull
.luggage
seat
: You can carry out the subsequent seat selection process through our seat map interface.318
(duplicate booking), then the list will contain duplicate order numbers.{
"sessionId": "ac6e1697-6cae-4f2c-800d-6522fea63361",
"offerId": "",
"orderNo": "TESTA20250512180633328",
"originalOrderNo": null,
"ticketOrderNo": null,
"totalPrice": 71.83,
"totalTransactionFee": 5.00,
"currency": "USD",
"vendorTotalPrice": 97543.24,
"vendorCurrency": "KRW",
"tktLimitTime": "2025-05-12 18:56:33",
"pnrCode": "BXD990",
"includeExtraBaggage": 0,
"paxTicketInfos": [
{
"name": "aaaaa/aaaaaabs",
"passengerType": 0,
"birthday": "19900101",
"gender": "M",
"cardNum": "636940383",
"cardType": "NATIONAL_ID_CARD",
"cardIssuePlace": "PT",
"cardExpired": "20250101",
"nationality": "US",
"ticketNos": [],
"airlinePNRs": [],
"contactEmails": [
"jane.smith@example.com"
],
"contactPhones": [
"0001-982736245"
],
"ancillaries": [
{
"productCode": "SCI_BAG_5KG",
"segmentIndex": 1,
"offerId": null,
"buyMethod": "0",
"ancillaryPrice": 4.40,
"currency": "USD",
"vendorPrice": null,
"vendorCurrency": null,
"productType": "1",
"displayCurrency": "EUR",
"displayPrice": 3.93,
"auxBaggageElement": {
"piece": 0,
"weight": 5,
"isAllWeight": true,
"size": ""
},
"auxSeatElement": null
}
]
}
],
"routing": null,
"duplicateOrders": null,
"paymentOptions": [
{
"paymentMethod": 1,
"serviceFee": {
"amount": 5.00,
"currency": "USD",
"deductFrom": "DEPOSIT",
"displayAmount": null,
"displayCurrency": null
},
"ticketFare": {
"amount": 71.83,
"currency": "USD",
"deductFrom": "DEPOSIT",
"displayAmount": null,
"displayCurrency": null
},
"paymentFee": null,
"cardType": null
},
{
"paymentMethod": 5,
"serviceFee": {
"amount": 5.00,
"currency": "USD",
"deductFrom": "DEPOSIT",
"displayAmount": null,
"displayCurrency": null
},
"ticketFare": {
"amount": 71.83,
"currency": "USD",
"deductFrom": "CARD",
"displayAmount": null,
"displayCurrency": null
},
"paymentFee": {
"amount": 3.59,
"currency": "USD",
"deductFrom": "CARD",
"displayAmount": 3.21,
"displayCurrency": "EUR"
},
"cardType": ""
}
],
"status": 0,
"msg": null
}