Shopping and Ticketing

Search

post

Dependency: No preceding function needs to be called before Search.

The search results will include a lot of items. Some highlights are:

  • The returned currency is by configuration according to the business agreement between you and Atlas

  • The total cost to purchase for a single adult passenger is: adultPrice+adultTax+transactionFeePerPax

  • For the airlines which support pass through payment method, we would set supportCreditTransPayment to 1 and present the vendor's fare in the vendorFare element. Alternatively, if the airline doesn't support pass through payment method, we would set supportCreditTransPayment to 0 and the vendorFare element will be null.

  • You can choose to show or hide ancillaryProductElements in search response, according to the configuration of each client in the backend system.

  • The links element will have the link to the terms and conditions of the airlines.

  • Display Currency is only to be used for display purposes. The amount in the response is not to be used for fare comparison or accounting purposes. The display currency conversion will be available in fares, taxes and ancillary baggage sections of the search and verify response. When the "vendorFare" element is available, the conversion will be from the vendor fare. In the absence of the "vendorFare" element, the conversion would be from the transacted fare.

Endpoint: https://sandbox.atriptech.com/search.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
tripTypestring · enumRequired

The trip type(one way or round trip) you want to search.

  • 1: Oneway
  • 2: Return Trip
Example: 1Possible values:
adultNuminteger · min: 1 · max: 9Required

Adult passenger count. Please note that the total number of adults(adultNum) and children(childNum) cannot exceed 9.

Default: 0Example: 1
childNuminteger · max: 8Required

Child passenger count. Please note that the total number of adults(adultNum) and children(childNum) cannot exceed 9

Default: 0Example: 0
infantNuminteger · max: 9Required

Infant passenger count, no more than the number of adult

Default: 0Example: 0
fromCitystringRequired

IATA code of the departure city or airport (in capital letters).When the airport code you sent is different from the code of the city where the airport is located, we can recognize that it is an airport, otherwise we will treat it as a city code. We will filter flights based on your departure location type.

Example: LON
toCitystringRequired

IATA code of the arrival city or airport (in capital letters).When the airport code you sent is different from the code of the city where the airport is located, we can recognize that it is an airport, otherwise we will treat it as a city code. We will filter flights based on your departure location type.

Example: PAR
fromDatestring · dateRequired

Departure date, the format is YYYYMMDD

Example: 20251010
retDatestring · date | nullableOptional

Return date, the format is YYYYMMDD. If you are searching for round-trip, the return date is mandatory.

airlinesstring[] | nullableOptional

An array of IATA Codes(in capital letters) of airlines. The result will only contain the airlines specified in the search request.

Example: U2
fromFlightNumbersstring[] | nullableOptional

Search for specified departure flights. Each element represents one flight. Connecting flight numbers are separated by "," (comma). Example:

  • ["FR123"]: A direct flight
  • ["FR456,FR789"]: A connecting flight
  • ["FR123", "FR456,FR789"]: 2 flights, a direct flight and a connecting flight
retFlightNumbersstring[] | nullableOptional

Search for specified return flights. Each element represents one flight. Connecting flight numbers are separated by "," (comma).

includeMultipleFareFamilyboolean | nullableOptional

Search only for the lowest fare or for the Fare Families. By default, each flight only returns the lowest fare, and each array element in the response represents: flight - lowest fare. If this parameter is turned on, each element of the search results will be a combination of flight and one of the fares, that is, different elements will have the same flight but different ticket fare.

Default: false
currencystring | nullableOptional

This is the settlement currency. The 3-letter currency code should be entered. This field is optional, and when you want to settle with Atlas in different currencies (especially when you have opened multiple deposit accounts in different currencies in Atlas), you need to use this parameter.

requestSourcestring | nullableOptional

Identify the source of the search traffic, E.g. Google Flights, Oganic Search, SkyScanner.

residentCodestringRequired

Resident discount code

Responses
200Success
application/json
post
/search.do
POST /search.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 313

{
  "tripType": "2",
  "adultNum": 1,
  "childNum": 0,
  "infantNum": 0,
  "fromCity": "LON",
  "fromAirport": "",
  "toCity": "PAR",
  "toAirport": "",
  "fromDate": "20250818",
  "retDate": "20250820",
  "airlines": [
    "U2"
  ],
  "fromFlightNumbers": [
    "U28405"
  ],
  "retFlightNumbers": [
    "U28410"
  ],
  "includeMultipleFareFamily": false,
  "currency": null,
  "requestSource": null
}
200Success
{

    "status": 0,

    "msg": null,

    "routings": [

        {

            "routingIdentifier": "TE9OX1BBUl8yXzIwMjUwODE4XzIwMjUwODIwXzFfMF8wfHR2aWluNjU0Mjh8MnwyMzIuMzhfMjMyLjM4XzYwLjE5XzQuMDBfNTI4Ljk1X1VTRHxMT05fUEFSXzFfMjAyNTA4MThfXzFfMF8wXkxHVy1VMjg0MDUtLUNERy0yMDI1MDgxODE2NDAtMjAyNTA4MTgxODU1LVN0YW5kYXJkLTEtXjE3MC4xNV8xNzAuMTVfMzUuMTZfMi4wMF8zNzcuNDZeQUVDQUVVUl9BRUNeXkFFQzFMT05QQVIyMDAyMDI1MDgxOF5HQlBeMTI1LjMwXjEyNS4zMF4yNS44OV4xJFBBUl9MT05fMl8yMDI1MDgyMF9fMV8wXzBeQ0RHLVUyODQxMC0tTEdXLTIwMjUwODIwMTkxMC0yMDI1MDgyMDE5MjAtU3RhbmRhcmQtMS1eNjIuMjNfNjIuMjNfMjUuMDNfMi4wMF8xNTEuNDleQUVDQUVVUl9BRUNeXkFFQzFQQVJMT04yMDAyMDI1MDgyMF5FVVJeNTMuMTJeNTMuMTJeMjEuMzZeMXwwfDIwMjUwODE2MTUyNzU2fDB8MTc1NTMyOTI3MTAyNFJ2VzdJfHx8fDF8Mi4wMHwzfDB8fG5vcm1hbHxmYWxzZQ==.zkLMRkU3ohHS9/5p28KK1Jw4PTWTsICx24yIQoygMMw=",

            "supportCreditTransPayment": "0",

            "supportPaymentMethods": [

                1,

                5

            ],

            "currency": "USD",

            "adultPrice": 232.38,

            "adultTax": 0.00,

            "adultDetails": [

                {

                    "code": "tax",

                    "type": "tax",

                    "amount": 0.00,

                    "description": ""

                },

                {

                    "code": "farePrice",

                    "type": "base",

                    "amount": 232.38,

                    "description": ""

                }

            ],

            "childPrice": 232.38,

            "childTax": 0.00,

            "childDetails": [

                {

                    "code": "tax",

                    "type": "tax",

                    "amount": 0.00,

                    "description": ""

                },

                {

                    "code": "farePrice",

                    "type": "base",

                    "amount": 232.38,

                    "description": ""

                }

            ],

            "infantPrice": 60.19,

            "infantTax": 0.00,

            "infantDetails": [

                {

                    "code": "tax",

                    "type": "tax",

                    "amount": 0.00,

                    "description": ""

                },

                {

                    "code": "farePrice",

                    "type": "base",

                    "amount": 60.19,

                    "description": ""

                }

            ],

            "infantAllowed": true,

            "childMandatorySeatingFee": null,

            "transactionFeePerPax": 2.00,

            "transactionFee": 2.00,

            "transactionFeeMode": "PER_PAX",

            "fromSegments": [

                {

                    "aircraftCode": "",

                    "arrAirport": "CDG",

                    "arrTerminal": "",

                    "arrTime": "202508181855",

                    "cabin": "",

                    "cabinClass": 1,

                    "carrier": "U2",

                    "codeShare": false,

                    "depAirport": "LGW",

                    "depTerminal": "",

                    "depTime": "202508181640",

                    "duration": 75,

                    "fareFamily": "Standard",

                    "flightNumber": "U28405",

                    "operatingCarrier": "",

                    "operatingFlightnumber": "",

                    "seatCount": 3,

                    "segmentIndex": 1,

                    "stopCities": ""

                }

            ],

            "retSegments": [

                {

                    "aircraftCode": "",

                    "arrAirport": "LGW",

                    "arrTerminal": "",

                    "arrTime": "202508201920",

                    "cabin": "",

                    "cabinClass": 1,

                    "carrier": "U2",

                    "codeShare": false,

                    "depAirport": "CDG",

                    "depTerminal": "",

                    "depTime": "202508201910",

                    "duration": 70,

                    "fareFamily": "Standard",

                    "flightNumber": "U28410",

                    "operatingCarrier": "",

                    "operatingFlightnumber": "",

                    "seatCount": 6,

                    "segmentIndex": 2,

                    "stopCities": ""

                }

            ],

            "rule": {

                "hasBaggage": 1,

                "baggageElements": [

                    {

                        "segmentNo": 1,

                        "baggageType": "CabinBaggageUnderSeat",

                        "passengerType": 0,

                        "baggagePiece": 1,

                        "baggageWeight": 15,

                        "baggageSize": "45*36*20cm"

                    },

                    {

                        "segmentNo": 1,

                        "baggageType": "StandardCheckInBaggage",

                        "passengerType": 0,

                        "baggagePiece": 0,

                        "baggageWeight": 0,

                        "baggageSize": ""

                    },

                    {

                        "segmentNo": 2,

                        "baggageType": "CabinBaggageUnderSeat",

                        "passengerType": 0,

                        "baggagePiece": 1,

                        "baggageWeight": 15,

                        "baggageSize": "45*36*20cm"

                    },

                    {

                        "segmentNo": 2,

                        "baggageType": "StandardCheckInBaggage",

                        "passengerType": 0,

                        "baggagePiece": 0,

                        "baggageWeight": 0,

                        "baggageSize": ""

                    }

                ],

                "refundRules": [

                    {

                        "refundType": 0,

                        "refundStatus": "T",

                        "refundMethod": "CashBackToOriginalPayment",

                        "refundFee": 0.0,

                        "currency": "GBP",

                        "refNoshow": "T",

                        "refNoShowCondition": 0,

                        "refNoshowFee": 0.0,

                        "ruleDetailList": [

                            {

                                "status": "T",

                                "refundMethod": "CashBackToOriginalPayment",

                                "startMinute": 525600,

                                "endMinute": 0,

                                "amount": 0.0,

                                "currency": "GBP"

                            },

                            {

                                "status": "T",

                                "refundMethod": "CashBackToOriginalPayment",

                                "startMinute": 0,

                                "endMinute": -525600,

                                "amount": 0.0,

                                "currency": "GBP"

                            }

                        ]

                    },

                    {

                        "refundType": 0,

                        "refundStatus": "T",

                        "refundMethod": "CashBackToOriginalPayment",

                        "refundFee": 0.0,

                        "currency": "GBP",

                        "refNoshow": "T",

                        "refNoShowCondition": 0,

                        "refNoshowFee": 0.0,

                        "ruleDetailList": [

                            {

                                "ruleId": 47379,

                                "status": "T",

                                "refundMethod": "CashBackToOriginalPayment",

                                "startMinute": 525600,

                                "endMinute": 0,

                                "amount": 0.0,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47381,

                                "status": "T",

                                "refundMethod": "CashBackToOriginalPayment",

                                "startMinute": 0,

                                "endMinute": -525600,

                                "amount": 0.0,

                                "currency": "GBP"

                            }

                        ]

                    }

                ],

                "changesRules": [

                    {

                        "changesType": 0,

                        "changesStatus": "T",

                        "changesFee": 0.0,

                        "currency": "GBP",

                        "revNoshow": "T",

                        "revNoShowCondition": 0,

                        "revNoshowFee": 0.0,

                        "ruleDetailList": [

                            {

                                "status": "H",

                                "refundMethod": null,

                                "startMinute": 525600,

                                "endMinute": 86400,

                                "amount": 30.0,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47387,

                                "status": "H",

                                "refundMethod": null,

                                "startMinute": 86400,

                                "endMinute": 120,

                                "amount": 49.0,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47389,

                                "status": "T",

                                "refundMethod": null,

                                "startMinute": 120,

                                "endMinute": 0,

                                "amount": 0.0,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47391,

                                "status": "T",

                                "refundMethod": null,

                                "startMinute": 0,

                                "endMinute": -525600,

                                "amount": 0.0,

                                "currency": "GBP"

                            }

                        ]

                    },

                    {

                        "changesType": 0,

                        "changesStatus": "T",

                        "changesFee": 0.0,

                        "currency": "GBP",

                        "revNoshow": "T",

                        "revNoShowCondition": 0,

                        "revNoshowFee": 0.0,

                        "ruleDetailList": [

                            {

                                "ruleId": 47385,

                                "status": "H",

                                "refundMethod": null,

                                "startMinute": 525600,

                                "endMinute": 86400,

                                "amount": 30.0,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47387,

                                "status": "H",

                                "refundMethod": null,

                                "startMinute": 86400,

                                "endMinute": 120,

                                "amount": 45.91,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47389,

                                "status": "T",

                                "refundMethod": null,

                                "startMinute": 120,

                                "endMinute": 0,

                                "amount": 0.0,

                                "currency": "GBP"

                            },

                            {

                                "ruleId": 47391,

                                "status": "T",

                                "refundMethod": null,

                                "startMinute": 0,

                                "endMinute": -525600,

                                "amount": 0.0,

                                "currency": "GBP"

                            }

                        ]

                    }

                ],

                "serviceElements": [

                    {

                        "hasFreeSeat": 0,

                        "hasFreeMeal": 0

                    },

                    {

                        "hasFreeSeat": 0,

                        "hasFreeMeal": 0

                    }

                ]

            },

            "ancillaryProductElements": [

                {

                    "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",

                    "auxBaggageElement": {

                        "piece": 1,

                        "weight": 15,

                        "isAllWeight": true,

                        "size": "Maximum Size 56 x 45 x 25 cm"

                    },

                    "canPurchaseWithTicket": 1,

                    "canPurchasePostTicket": 0,

                    "categoryCode": "CabinBaggageOverheadLocker",

                    "clientTechnicalServiceFee": 0,

                    "currency": "USD",

                    "maxQty": 1,

                    "minQty": 1,

                    "price": 26.57,

                    "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",

                    "segmentIndex": 1,

                    "vendorPrice": 19.56,

                    "vendorCurrency": "GBP"

                },

                {

                    "segmentIndex": 1,

                    "productCode": "SCI_BAG_1PC_15KG",

                    "canPurchaseWithTicket": 1,

                    "canPurchasePostTicket": 0,

                    "price": 27.12,

                    "currency": "USD",

                    "vendorPrice": 19.97,

                    "vendorCurrency": "GBP",

                    "clientTechnicalServiceFee": 0,

                    "clientTechnicalServiceFeeMode": null,

                    "auxBaggageElement": {

                        "piece": 1,

                        "weight": 15,

                        "isAllWeight": true,

                        "size": ""

                    },

                    "maxQty": 1,

                    "minQty": 1,

                    "categoryCode": "StandardCheckInBaggage",

                    "ancillaryCode": "SCI_BAG_1PC_15KG"

                },

                {

                    "segmentIndex": 1,

                    "productCode": "SCI_BAG_2PC_30KG",

                    "canPurchaseWithTicket": 1,

                    "canPurchasePostTicket": 0,

                    "price": 39.95,

                    "currency": "USD",

                    "vendorPrice": 29.42,

                    "vendorCurrency": "GBP",

                    "clientTechnicalServiceFee": 0,

                    "clientTechnicalServiceFeeMode": null,

                    "auxBaggageElement": {

                        "piece": 2,

                        "weight": 30,

                        "isAllWeight": true,

                        "size": ""

                    },

                    "maxQty": 1,

                    "minQty": 1,

                    "categoryCode": "StandardCheckInBaggage",

                    "ancillaryCode": "SCI_BAG_2PC_30KG"

                },

                {

                    "segmentIndex": 2,

                    "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",

                    "canPurchaseWithTicket": 1,

                    "canPurchasePostTicket": 0,

                    "price": 41.67,

                    "currency": "USD",

                    "vendorPrice": 35.56,

                    "vendorCurrency": "EUR",

                    "clientTechnicalServiceFee": 0,

                    "clientTechnicalServiceFeeMode": null,

                    "auxBaggageElement": {

                        "piece": 1,

                        "weight": 15,

                        "isAllWeight": true,

                        "size": "Maximum Size 56 x 45 x 25 cm"

                    },

                    "maxQty": 1,

                    "minQty": 1,

                    "categoryCode": "CabinBaggageOverheadLocker",

                    "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM"

                },

                {

                    "segmentIndex": 2,

                    "productCode": "SCI_BAG_1PC_15KG",

                    "canPurchaseWithTicket": 1,

                    "canPurchasePostTicket": 0,

                    "price": 31.09,

                    "currency": "USD",

                    "vendorPrice": 26.53,

                    "vendorCurrency": "EUR",

                    "clientTechnicalServiceFee": 0,

                    "clientTechnicalServiceFeeMode": null,

                    "auxBaggageElement": {

                        "piece": 1,

                        "weight": 15,

                        "isAllWeight": true,

                        "size": ""

                    },

                    "maxQty": 1,

                    "minQty": 1,

                    "categoryCode": "StandardCheckInBaggage",

                    "ancillaryCode": "SCI_BAG_1PC_15KG"

                },

                {

                    "segmentIndex": 2,

                    "productCode": "SCI_BAG_2PC_30KG",

                    "canPurchaseWithTicket": 1,

                    "canPurchasePostTicket": 0,

                    "price": 74.57,

                    "currency": "USD",

                    "vendorPrice": 63.64,

                    "vendorCurrency": "EUR",

                    "clientTechnicalServiceFee": 0,

                    "clientTechnicalServiceFeeMode": null,

                    "auxBaggageElement": {

                        "piece": 2,

                        "weight": 30,

                        "isAllWeight": true,

                        "size": ""

                    },

                    "maxQty": 1,

                    "minQty": 1,

                    "categoryCode": "StandardCheckInBaggage",

                    "ancillaryCode": "SCI_BAG_2PC_30KG"

                }

            ],

            "links": [

                {

                    "carrier": "U2",

                    "kind": "terms",

                    "link": "https://www.easyjet.com",

                    "description": null

                }

            ],

            "separateBookings": true,

            "refreshTime": "2025-08-15T22:48:58Z",

            "expireTime": "2025-08-16T07:27:56Z",

            "ancillarySupported": null,

            "cardChargeList": [

                {

                    "cardType": "Visa",

                    "percentage": 0.0300,

                    "charge": null,

                    "currency": ""

                },

                {

                    "cardType": "MasterCard",

                    "percentage": 0.0300,

                    "charge": null,

                    "currency": ""

                }

            ],

            "vendorFare": {

                "vendorAdultPrice": 232.38,

                "vendorAdultTax": 0.00,

                "vendorChildPrice": 232.38,

                "vendorChildTax": 0.00,

                "vendorInfantPrice": 60.19,

                "vendorInfantTax": 0.00,

                "vendorCurrency": "USD",

            }

        }

    ]

}

Verify

post

Dependency: The search function should be called prior to this call.

  • When there is no price change, the "original" and the "new" price and tax will always be the same.

  • When there is price change, there will be some difference between the "original" and the "new" price and tax.

  • If paymentMethod in the request is 5(MoR)the MoR currency will be returned and amount in “VendorFare” and it’s paymentFee in cardChargeList. The paymentFee amount will not be added to the “VendorFare”.

  • If paymentMethod in the request is 3(VCC Passthrough)the VCC Passthrough currency will be returned and amount in “VendorFare” and it’s paymentFee in cardChargeList (if any). The paymentFee amount will be added to the “VendorFare”.

Endpoint: https://sandbox.atriptech.com/verify.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
routingIdentifierstringRequired

TheroutingIdentifierfrom search response.

maxResponseTimeinteger | nullableOptional

The interface timeout(in milliseconds), with a default of 5000ms. Note: Due to the influence of network transmission and computational performance, the client may still receive a normal result (instead of a timeout) when the response duration exceeds. This time is used to control the overall response duration of the interface within a certain range, and the error generally will not exceed several hundred milliseconds. If you have strict requirements for the timeout time, it is recommended that you set the timeout time of your HTTP tool library. If the HTTP tool library you use does not support this capability, you may need to use other tools to achieve it, and most programming languages provide relevant capabilities.

Default: 15000
requestSourcestring | nullableOptional

The tag to identify which channel does this traffic come from. For example: SkyScanner,Google,Oganic search,etc…

Responses
200Success
application/json
post
/verify.do
POST /verify.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 769

{
  "routingIdentifier": "TE9OX1BBUl8yXzIwMjUwODE4XzIwMjUwODIwXzFfMF8wfHR2aWluNjU0Mjh8MnwyMzIuMzhfMjMyLjM4XzYwLjE5XzQuMDBfNTI4Ljk1X1VTRHxMT05fUEFSXzFfMjAyNTA4MThfXzFfMF8wXkxHVy1VMjg0MDUtLUNERy0yMDI1MDgxODE2NDAtMjAyNTA4MTgxODU1LVN0YW5kYXJkLTEtXjE3MC4xNV8xNzAuMTVfMzUuMTZfMi4wMF8zNzcuNDZeQUVDQUVVUl9BRUNeXkFFQzFMT05QQVIyMDAyMDI1MDgxOF5HQlBeMTI1LjMwXjEyNS4zMF4yNS44OV4xJFBBUl9MT05fMl8yMDI1MDgyMF9fMV8wXzBeQ0RHLVUyODQxMC0tTEdXLTIwMjUwODIwMTkxMC0yMDI1MDgyMDE5MjAtU3RhbmRhcmQtMS1eNjIuMjNfNjIuMjNfMjUuMDNfMi4wMF8xNTEuNDleQUVDQUVVUl9BRUNeXkFFQzFQQVJMT04yMDAyMDI1MDgyMF5FVVJeNTMuMTJeNTMuMTJeMjEuMzZeMXwwfDIwMjUwODE2MTUyNzU2fDB8MTc1NTMyOTI3MTAyNFJ2VzdJfHx8fDF8Mi4wMHwzfDB8fG5vcm1hbHxmYWxzZQ==.zkLMRkU3ohHS9/5p28KK1Jw4PTWTsICx24yIQoygMMw=",
  "maxResponseTime": null,
  "requestSource": null
}
200Success
{
  "status": 0,
  "msg": "success",
  "sessionId": "a39fc063-3192-4058-b179-998ebfb2fed8",
  "maxSeats": 9,
  "routing": {
    "routingIdentifier": "TE9OX1BBUl8yXzIwMjUwODE4XzIwMjUwODIwXzFfMF8wfHR2aWluNjU0Mjh8MXwyNDIuMTRfMjQyLjE0XzY0LjE3XzIuMDBfNTUwLjQ1X1VTRHxMT05fUEFSXzFfMjAyNTA4MThfMjAyNTA4MjBfMV8wXzBeTEdXLVUyODQwNS0tQ0RHLTIwMjUwODE4MTY0MC0yMDI1MDgxODE4NTUtU3RhbmRhcmQtMS0jQ0RHLVUyODQxMC0tTEdXLTIwMjUwODIwMTkxMC0yMDI1MDgyMDE5MjAtU3RhbmRhcmQtMi1eMjQyLjE0XzI0Mi4xNF82NC4xN18yLjAwXzU1MC40NV5BRUNBRVVSX0FFQ15eQUVDMkxPTlBBUjIwMDIwMjUwODE4MjAyNTA4MjBeR0JQXjE3OC4zMl4xNzguMzJeNDcuMjVeMHwwfDIwMjUwODE2MTU1NzQ1fDB8MTc1NTMzMTA2NTU0MkJOYm1HfHx8fHwyLjAwfDN8MHx8bm9ybWFsfGZhbHNl.5FDcOQsu5zTUOBN/jPsM23gT5WuaPAs7g8AmH8q/m0U=",
    "supportCreditTransPayment": "0",
    "supportPaymentMethods": [
      1,
      5
    ],
    "currency": "USD",
    "adultPrice": 242.14,
    "adultTax": 0,
    "adultDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 242.14,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "childPrice": 242.14,
    "childTax": 0,
    "childDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 242.14,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "infantPrice": 64.17,
    "infantTax": 0,
    "infantDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 64.17,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "infantAllowed": true,
    "childMandatorySeatingFee": null,
    "transactionFeePerPax": 2,
    "transactionFee": 2,
    "transactionFeeMode": "PER_PAX",
    "fromSegments": [
      {
        "segmentIndex": 1,
        "carrier": "U2",
        "flightNumber": "U28405",
        "depAirport": "LGW",
        "depTime": "202508181640",
        "arrAirport": "CDG",
        "arrTime": "202508181855",
        "stopCities": null,
        "duration": 75,
        "codeShare": false,
        "cabin": "",
        "cabinClass": 1,
        "seatCount": 9,
        "aircraftCode": "",
        "depTerminal": "",
        "arrTerminal": "",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "fareFamily": "Standard"
      }
    ],
    "retSegments": [
      {
        "segmentIndex": 2,
        "carrier": "U2",
        "flightNumber": "U28410",
        "depAirport": "CDG",
        "depTime": "202508201910",
        "arrAirport": "LGW",
        "arrTime": "202508201920",
        "stopCities": null,
        "duration": 70,
        "codeShare": false,
        "cabin": "",
        "cabinClass": 1,
        "seatCount": 9,
        "aircraftCode": "",
        "depTerminal": "",
        "arrTerminal": "",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "fareFamily": "Standard"
      }
    ],
    "rule": {
      "hasBaggage": 1,
      "baggageElements": [
        {
          "segmentNo": 1,
          "baggageType": "CabinBaggageUnderSeat",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 15,
          "baggageSize": "45*36*20cm"
        },
        {
          "segmentNo": 1,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 0,
          "baggageWeight": 0,
          "baggageSize": ""
        },
        {
          "segmentNo": 2,
          "baggageType": "CabinBaggageUnderSeat",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 15,
          "baggageSize": "45*36*20cm"
        },
        {
          "segmentNo": 2,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 0,
          "baggageWeight": 0,
          "baggageSize": ""
        }
      ],
      "refundRules": [
        {
          "refundType": 0,
          "refundStatus": "T",
          "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
          "refundFee": 0,
          "currency": "GBP",
          "refNoshow": "T",
          "refNoShowCondition": 0,
          "refNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 525600,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        },
        {
          "refundType": 0,
          "refundStatus": "T",
          "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
          "refundFee": 0,
          "currency": "GBP",
          "refNoshow": "T",
          "refNoShowCondition": 0,
          "refNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 525600,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        }
      ],
      "changesRules": [
        {
          "changesType": 0,
          "changesStatus": "T",
          "changesFee": 0,
          "currency": "GBP",
          "revNoshow": "T",
          "revNoShowCondition": 0,
          "revNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "H",
              "startMinute": 525600,
              "endMinute": 86400,
              "amount": 30,
              "currency": "GBP"
            },
            {
              "status": "H",
              "startMinute": 86400,
              "endMinute": 120,
              "amount": 49,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 120,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        },
        {
          "changesType": 0,
          "changesStatus": "T",
          "changesFee": 0,
          "currency": "GBP",
          "revNoshow": "T",
          "revNoShowCondition": 0,
          "revNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "H",
              "startMinute": 525600,
              "endMinute": 86400,
              "amount": 30,
              "currency": "GBP"
            },
            {
              "status": "H",
              "startMinute": 86400,
              "endMinute": 120,
              "amount": 49,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 120,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        }
      ],
      "serviceElements": [
        {
          "hasFreeSeat": 0,
          "hasFreeMeal": 0
        },
        {
          "hasFreeSeat": 0,
          "hasFreeMeal": 0
        }
      ]
    },
    "ancillaryProductElements": [
      {
        "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": "Maximum Size 56 x 45 x 25 cm"
        },
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "categoryCode": "CabinBaggageOverheadLocker",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 26.57,
        "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "segmentIndex": 1,
        "vendorPrice": 19.56,
        "vendorCurrency": "GBP"
      },
      {
        "segmentIndex": 1,
        "productCode": "SCI_BAG_1PC_15KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 27.12,
        "currency": "USD",
        "vendorPrice": 19.97,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_1PC_15KG"
      },
      {
        "segmentIndex": 1,
        "productCode": "SCI_BAG_2PC_30KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 39.95,
        "currency": "USD",
        "vendorPrice": 29.42,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 2,
          "weight": 30,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_2PC_30KG"
      },
      {
        "segmentIndex": 2,
        "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 41.67,
        "currency": "USD",
        "vendorPrice": 30.69,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": "Maximum Size 56 x 45 x 25 cm"
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "CabinBaggageOverheadLocker",
        "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM"
      },
      {
        "segmentIndex": 2,
        "productCode": "SCI_BAG_1PC_15KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 31.09,
        "currency": "USD",
        "vendorPrice": 22.9,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_1PC_15KG"
      },
      {
        "segmentIndex": 2,
        "productCode": "SCI_BAG_2PC_30KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 74.57,
        "currency": "USD",
        "vendorPrice": 54.91,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 2,
          "weight": 30,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_2PC_30KG"
      }
    ],
    "vendorFare": null,
    "links": [],
    "separateBookings": false,
    "refreshTime": null,
    "expireTime": null,
    "ancillarySupported": [
      "seat",
      "luggage"
    ],
    "cardChargeList": [
      {
        "cardType": "Visa",
        "percentage": 0.03,
        "charge": null,
        "currency": ""
      },
      {
        "cardType": "MasterCard",
        "percentage": 0.03,
        "charge": null,
        "currency": ""
      }
    ]
  },
  "bookingRequirement": {
    "passenger": {
      "cardIssuePlace": {
        "required": false
      },
      "birthday": {
        "required": true
      },
      "cardNum": {
        "required": false
      },
      "passengerType": {
        "required": true
      },
      "nationality": {
        "required": false
      },
      "gender": {
        "required": true
      },
      "cardExpired": {
        "required": false
      },
      "cardType": {
        "required": false
      },
      "name": {
        "required": true
      }
    }
  },
  "priceChange": {
    "isPriceChange": true,
    "originalAdultPrice": 232.38,
    "originalAdultTax": 0,
    "originalChildPrice": 232.38,
    "originalChildTax": 0,
    "originalInfantPrice": 60.19,
    "originalInfantTax": 0,
    "newAdultPrice": 242.14,
    "newAdultTax": 0,
    "newChildPrice": 242.14,
    "newChildTax": 0,
    "newInfantPrice": 64.17,
    "newInfantTax": 0
  }
}

Order

post

Dependency: Verify function should be called in prior to this call.

The booking requirements need to be read from the "bookingRequirement" array in the "verify.do" response. The "Booking Requirements" can be different at the route level. Alternatively, you can add all the details but please note that all the fields should have actual data and not fictitious information. Please follow this approach.

Endpoint: https://sandbox.atriptech.com/order.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
sessionIdstring | nullableOptional

sessionIdreturned by verify response. If you got offer by verify api, then this parameter is required.

offerIdstring | nullableOptional

offerIDreturned by get offer response. If you got offer by "get offer" api, then this parameter is required.

useAtlasMailForContactboolean | nullableOptional

The tag denoting whether to use Atlas email id for contact information.

  • 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.

Please refer to the terms and conditions for usage of Atlas email.

Default: false
requestSourcestring | nullableOptional

The tag to identify which channel does this traffic come from. For example: SkyScanner,Google,Oganic search,etc…

ifSeatOccupiedstring · enum | nullableOptional

Configuration of ordering when the seat is occupied.

  • SIMILAR_SEAT: Select a similar seat automatically
  • STOP_SEAT: Stop seat and continue ticketing
  • STOP_TICKET: Stop ticketing and cancel the order
Possible values:
localestring | nullableOptional

The country and language environment preferences of the ticket purchaser/contact person. This information may be useful for certain airlines. For example, airlines will use this information to communicate with users in appropriate languages (e.g., via emails). We have prepared the language environments supported by each airline for your reference: Locale

Responses
200Success
application/json
post
/order.do
POST /order.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 647

{
  "sessionId": "a39fc063-3192-4058-b179-998ebfb2fed8",
  "offerId": "",
  "passengers": [
    {
      "name": "For/Test",
      "passengerType": 0,
      "gender": "M",
      "birthday": "19900101",
      "cardType": "NATIONAL_ID_CARD",
      "cardNum": "636940383",
      "cardIssuePlace": "PT",
      "cardExpired": "20250101",
      "nationality": "US",
      "ffpCardNo": null,
      "ffpCarrier": null,
      "ancillaries": [
        {
          "productCode": "SCI_BAG_1PC_15KG",
          "segmentIndex": 1
        },
        {
          "productCode": "SCI_BAG_1PC_15KG",
          "segmentIndex": 2
        }
      ]
    }
  ],
  "contact": {
    "name": "For/Test",
    "address": "For test",
    "postcode": "",
    "email": "[email protected]",
    "mobile": "0001-12345678900"
  },
  "useAtlasMailForContact": false,
  "locale": "",
  "requestSource": "",
  "ifSeatOccupied": "",
  "payment": null
}
200Success
{
  "status": 0,
  "msg": null,
  "sessionId": "a39fc063-3192-4058-b179-998ebfb2fed8",
  "offerId": "",
  "orderNo": "TESTA20250816160804096",
  "pnrCode": "MDQZ7U",
  "totalPrice": 300.35,
  "totalTransactionFee": 2,
  "currency": "USD",
  "vendorTotalPrice": 221.19,
  "vendorCurrency": "GBP",
  "tktLimitTime": "2025-08-16 16:58:04",
  "paxTicketInfos": [
    {
      "name": "For/Test",
      "passengerType": 0,
      "birthday": "19900101",
      "gender": "M",
      "cardNum": "636940383",
      "cardType": "NATIONAL_ID_CARD",
      "cardIssuePlace": "PT",
      "cardExpired": "20250101",
      "nationality": "US",
      "ticketNos": [],
      "airlinePNRs": [],
      "contactEmails": [
        "[email protected]"
      ],
      "contactPhones": [
        "0001-12345678900"
      ],
      "ancillaries": [
        {
          "productCode": "SCI_BAG_1PC_15KG",
          "segmentIndex": 1,
          "currency": "USD",
          "ancillaryPrice": 27.12,
          "auxBaggageElement": {
            "piece": 1,
            "weight": 15,
            "isAllWeight": true,
            "size": ""
          },
          "vendorPrice": null,
          "vendorCurrency": null
        },
        {
          "productCode": "SCI_BAG_1PC_15KG",
          "segmentIndex": 2,
          "currency": "USD",
          "ancillaryPrice": 31.09,
          "auxBaggageElement": {
            "piece": 1,
            "weight": 15,
            "isAllWeight": true,
            "size": ""
          },
          "vendorPrice": null,
          "vendorCurrency": null
        }
      ]
    }
  ],
  "routing": {
    "routingIdentifier": "TE9OX1BBUl8yXzIwMjUwODE4XzIwMjUwODIwXzFfMF8wfHR2aWluNjU0Mjh8MXwyNDIuMTRfMjQyLjE0XzY0LjE3XzIuMDBfNTUwLjQ1X1VTRHxMT05fUEFSXzFfMjAyNTA4MThfMjAyNTA4MjBfMV8wXzBeTEdXLVUyODQwNS0tQ0RHLTIwMjUwODE4MTY0MC0yMDI1MDgxODE4NTUtU3RhbmRhcmQtMS0jQ0RHLVUyODQxMC0tTEdXLTIwMjUwODIwMTkxMC0yMDI1MDgyMDE5MjAtU3RhbmRhcmQtMi1eMjQyLjE0XzI0Mi4xNF82NC4xN18yLjAwXzU1MC40NV5BRUNBRVVSX0FFQ15eQUVDMkxPTlBBUjIwMDIwMjUwODE4MjAyNTA4MjBeR0JQXjE3OC4zMl4xNzguMzJeNDcuMjVeMHwwfDIwMjUwODE2MTU1NzQ1fDB8MTc1NTMzMTA2NTU0MkJOYm1HfHx8fHwyLjAwfDN8MHx8bm9ybWFsfGZhbHNl.5FDcOQsu5zTUOBN/jPsM23gT5WuaPAs7g8AmH8q/m0U=",
    "supportCreditTransPayment": "0",
    "supportPaymentMethods": [
      1,
      5
    ],
    "currency": "USD",
    "adultPrice": 242.14,
    "adultTax": 0,
    "adultDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 242.14,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "childPrice": 242.14,
    "childTax": 0,
    "childDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 242.14,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "infantPrice": 64.17,
    "infantTax": 0,
    "infantDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 64.17,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "infantAllowed": true,
    "childMandatorySeatingFee": null,
    "transactionFeePerPax": 2,
    "transactionFee": 2,
    "transactionFeeMode": "PER_PAX",
    "fromSegments": [
      {
        "segmentIndex": 1,
        "carrier": "U2",
        "flightNumber": "U28405",
        "depAirport": "LGW",
        "depTime": "202508181640",
        "arrAirport": "CDG",
        "arrTime": "202508181855",
        "stopCities": null,
        "duration": 75,
        "codeShare": false,
        "cabin": "",
        "cabinClass": 1,
        "seatCount": 9,
        "aircraftCode": "",
        "depTerminal": "",
        "arrTerminal": "",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "fareFamily": "Standard"
      }
    ],
    "retSegments": [
      {
        "segmentIndex": 2,
        "carrier": "U2",
        "flightNumber": "U28410",
        "depAirport": "CDG",
        "depTime": "202508201910",
        "arrAirport": "LGW",
        "arrTime": "202508201920",
        "stopCities": null,
        "duration": 70,
        "codeShare": false,
        "cabin": "",
        "cabinClass": 1,
        "seatCount": 9,
        "aircraftCode": "",
        "depTerminal": "",
        "arrTerminal": "",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "fareFamily": "Standard"
      }
    ],
    "rule": {
      "hasBaggage": 1,
      "baggageElements": [
        {
          "segmentNo": 1,
          "baggageType": "CabinBaggageUnderSeat",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 15,
          "baggageSize": "45*36*20cm"
        },
        {
          "segmentNo": 1,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 0,
          "baggageWeight": 0,
          "baggageSize": ""
        },
        {
          "segmentNo": 2,
          "baggageType": "CabinBaggageUnderSeat",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 15,
          "baggageSize": "45*36*20cm"
        },
        {
          "segmentNo": 2,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 0,
          "baggageWeight": 0,
          "baggageSize": ""
        }
      ],
      "refundRules": [
        {
          "refundType": 0,
          "refundStatus": "T",
          "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
          "refundFee": 0,
          "currency": "GBP",
          "refNoshow": "T",
          "refNoShowCondition": 0,
          "refNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 525600,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        },
        {
          "refundType": 0,
          "refundStatus": "T",
          "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
          "refundFee": 0,
          "currency": "GBP",
          "refNoshow": "T",
          "refNoShowCondition": 0,
          "refNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 525600,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        }
      ],
      "changesRules": [
        {
          "changesType": 0,
          "changesStatus": "T",
          "changesFee": 0,
          "currency": "GBP",
          "revNoshow": "T",
          "revNoShowCondition": 0,
          "revNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "H",
              "startMinute": 525600,
              "endMinute": 86400,
              "amount": 30,
              "currency": "GBP"
            },
            {
              "status": "H",
              "startMinute": 86400,
              "endMinute": 120,
              "amount": 49,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 120,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        },
        {
          "changesType": 0,
          "changesStatus": "T",
          "changesFee": 0,
          "currency": "GBP",
          "revNoshow": "T",
          "revNoShowCondition": 0,
          "revNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "H",
              "startMinute": 525600,
              "endMinute": 86400,
              "amount": 30,
              "currency": "GBP"
            },
            {
              "status": "H",
              "startMinute": 86400,
              "endMinute": 120,
              "amount": 49,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 120,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        }
      ],
      "serviceElements": [
        {
          "hasFreeSeat": 0,
          "hasFreeMeal": 0
        },
        {
          "hasFreeSeat": 0,
          "hasFreeMeal": 0
        }
      ]
    },
    "ancillaryProductElements": [
      {
        "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": "Maximum Size 56 x 45 x 25 cm"
        },
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "categoryCode": "CabinBaggageOverheadLocker",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 26.57,
        "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "segmentIndex": 1,
        "vendorPrice": 19.56,
        "vendorCurrency": "GBP"
      },
      {
        "segmentIndex": 1,
        "productCode": "SCI_BAG_1PC_15KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 27.12,
        "currency": "USD",
        "vendorPrice": 19.97,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_1PC_15KG"
      },
      {
        "segmentIndex": 1,
        "productCode": "SCI_BAG_2PC_30KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 39.95,
        "currency": "USD",
        "vendorPrice": 29.42,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 2,
          "weight": 30,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_2PC_30KG"
      },
      {
        "segmentIndex": 2,
        "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 41.67,
        "currency": "USD",
        "vendorPrice": 30.69,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": "Maximum Size 56 x 45 x 25 cm"
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "CabinBaggageOverheadLocker",
        "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM"
      },
      {
        "segmentIndex": 2,
        "productCode": "SCI_BAG_1PC_15KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 31.09,
        "currency": "USD",
        "vendorPrice": 22.9,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_1PC_15KG"
      },
      {
        "segmentIndex": 2,
        "productCode": "SCI_BAG_2PC_30KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 74.57,
        "currency": "USD",
        "vendorPrice": 54.91,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 2,
          "weight": 30,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_2PC_30KG"
      }
    ],
    "vendorFare": null,
    "links": [],
    "separateBookings": false,
    "refreshTime": null,
    "expireTime": null,
    "ancillarySupported": [
      "seat",
      "luggage"
    ],
    "cardChargeList": [
      {
        "cardType": "Visa",
        "percentage": 0.03,
        "charge": null,
        "currency": ""
      },
      {
        "cardType": "MasterCard",
        "percentage": 0.03,
        "charge": null,
        "currency": ""
      }
    ]
  },
  "duplicateOrders": null,
  "paymentOptions": [
    {
      "paymentMethod": 1,
      "serviceFee": {
        "amount": 2,
        "currency": "USD",
        "deductFrom": "DEPOSIT"
      },
      "ticketFare": {
        "amount": 300.35,
        "currency": "USD",
        "deductFrom": "DEPOSIT"
      },
      "paymentFee": {
        "amount": 0,
        "currency": "USD",
        "deductFrom": "CARD"
      },
      "cardType": null
    }
  ]
}

Order Commit

post

This API is only required in the FR integration process. After create an order and before payment, you need to call this API to obtain the link of the FR order confirmation page and display it to users. Users should confirm the order through this page, and finally customer pay to Atlas.

Endpoint: https://sandbox.atriptech.com/orderCommit.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredDefault: gzipExample: gzip
x-atlas-client-idstringRequiredDefault: <YOUR_CLIENT_ID>Example: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredDefault: <YOUR_CLIENT_SECRET>Example: <YOUR_CLIENT_SECRET>
Body
orderNostringRequired

Order number

redirectUristring | nullableOptional

The redirect localtion to which when users confirm an order on the FR's confirmation page. If you choose to display the confirmation page in Popup mode, please specify this.

iframestring | nullableOptional

If you want to display the FR's order confirmation page in iframe mode, please specify iframe=true, and in this case, the redirectUri will be ignored.

timeoutinteger | nullableOptional

Maximum response time of the API in milliseconds.

Default: 8000
Responses
200Success
application/json
post
/orderCommit.do
POST /orderCommit.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: gzip
x-atlas-client-id: <YOUR_CLIENT_ID>
x-atlas-client-secret: <YOUR_CLIENT_SECRET>
Content-Length: 113

{
  "orderNo": "AMSEA20250816154139093",
  "redirectUri": "https://your_confirmation_url",
  "iframe": false,
  "timeout": 30000
}
200Success
{
  "confirmationUrl": "https://www.ryanair.com/gb/en/flights-confirmation?partnerId=ATLAS&session=63361e2d-50fa-409c-bdc6-019d87660889&redirectUri=https://your_confirmation_url",
  "status": 0,
  "msg": null
}

Payment

post

Dependency: Order function should be called in prior to this call.

  • Atlas provides the information from the search.do API response itself whether VCC can be accepted as a mode of payment for an order. Please read the "supportCreditTransPayment" field in the search.do and verify.do responses. When this field is equal to "0" (zero), it means that only "deposit" mode of payment can be used and when this field is equal to "1" (one), it means that both the "deposit" as well as the "VCC" mode of payment can be used.

  • For VCC payments, the Test Cards to be used for testing in SANDBOX: Visa: ◦ 4532015112830366 ◦ 4916931584764308 ◦ 4485275742308327 ◦ 4556737586899855 ◦ 4532644189324563 Mastercard: ◦ 5555555555554444 ◦ 5105105105105100 ◦ 5223456789012346 ◦ 5301250070000191 ◦ 5454545454545454 American Express: ◦ 378282246310005 ◦ 371449635398431 ◦ 340000000000009 ◦ 370000000000002 ◦ 375987654321001 Discover: ◦ 6011111111111117 ◦ 6011000990139424 ◦ 6011987612345678 JCB: ◦ 3566002020360505

Endpoint: https://sandbox.atriptech.com/pay.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: NAR65434_api_1
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
orderNostringRequired

Order number you want to do the payment.

paymentMethodinteger · enumRequired

The payment method you want to use

  • 1: balance
  • 3: vcc passthough
  • 4: BYOA
  • 5: MoR
Possible values:
clientOrderNostring | nullableOptional

Order number at the customer side.

requestSourcestring | nullableOptional

The tag to identify which channel does this traffic come from. For example: SkyScanner,Google,Oganic search,etc…

Responses
200Success
application/json
post
/pay.do
POST /pay.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: NAR65434_api_1
x-atlas-client-secret: text
Content-Length: 462

{
  "orderNo": "AFKMN20250819153129241",
  "paymentMethod": 3,
  "creditCard": {
    "cardNumber": "525797******8735",
    "cardCVV": "***",
    "cardExpireMonth": "07",
    "cardExpireYear": "2027",
    "cardHolderLastName": "C***",
    "cardHolderFirstName": "J******",
    "cardHolderCountry": "C*",
    "cardHolderProvince": "G*",
    "cardHolderCity": "S*******",
    "cardHolderPostCode": "5*****",
    "cardHolderAddress": "S************",
    "threeDS": null,
    "reusable": null,
    "paymentLimit": null
  },
  "clientOrderNo": null,
  "requestSource": null
}
200Success
{
  "orderNo": "AFKMN20250819153129241",
  "pnrCode": "SOVID9",
  "paymentMethod": 3,
  "airlines": [
    "5J"
  ],
  "status": 0,
  "msg": "success"
}

Retrieve Booking

post

Dependency: Order function should be called in prior to this call.

Please refer to the below information for the usage of the queryOrderDetails.do API.

  1. All the parameters can be used together, if required.

  2. “OrderNo” is “required” if “airlinePNR” and “carrier” cannot be provided upon calling the API. Inversely, “airlinePNR” and “carrier” are “required” if “OrderNo” cannot be provided. All remaining fields in the request are optional.

  3. The PNR (Passenger Name Record) for an airline ticket order or a luggage purchase order must be kept consistent, as per airline regulations.

  4. The input parameters orderNo, airlinePNR, carrier, and other optional fields will be validated together to ensure they belong to the same order data source. If any of these input parameters do not match with others, the API will return an error.

  5. Airline ticket orders and associated post-booking ancillary orders can be retrieved using the following methods: (airline ticket orders + post-booking ancillary orders):

    • orderNo

    • airlinePNR + carrier

    • orderNo + airlinePNR + carrier

    • orderNo + airlinePNR + carrier + other optional parameters

  6. In case the parameters of “airlinePNR” and “carrier” cannot identify an unique order (e.g BC - PNR is made up with 4 number), customer needs to enter additional parameters such as "name" for identification. In such scenarios, API will respond with error msg ”Multi-orderNos are identified, please request again with extra parameters added.”

Endpoint: https://sandbox.atriptech.com/queryOrderDetails.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: NAR65434_api_1
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
orderNostring | nullableOptional

Order number of the order you want to retrieve

pnrCodestring | nullableOptional

The pnrCode is the single reference for the booking. This is the Atlas PNR.

Responses
200Success
application/json
post
/queryOrderDetails.do
POST /queryOrderDetails.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: NAR65434_api_1
x-atlas-client-secret: text
Content-Length: 36

{
  "orderNo": "TESTA20250816160804096"
}
200Success
{
  "status": 0,
  "msg": "success",
  "orderNo": "TESTA20250210154142832",
  "pnrCode": "XVOCMN",
  "orderStatus": "2",
  "ticketStatus": "1",
  "paxTicketInfos": [
    {
      "name": "aaaaa/aaaaaabs",
      "passengerType": 0,
      "birthday": "19900101",
      "gender": "M",
      "cardNum": "636940383",
      "cardType": "NATIONAL_ID_CARD",
      "cardIssuePlace": "PT",
      "cardExpired": "20250101",
      "nationality": "US",
      "ticketNos": [
        "S77182"
      ],
      "airlinePNRs": [
        "S77182"
      ],
      "contactEmails": [
        "[email protected]"
      ],
      "contactPhones": [
        "0001-982736245"
      ],
      "ancillaries": []
    }
  ],
  "totalPrice": 114.99,
  "currency": "USD",
  "tktLimitTime": "2025-02-11 16:31:43",
  "vendorTotalPrice": 1281.9,
  "vendorCost": 1346,
  "vendorTotalAncillaryPrice": 0,
  "vendorCurrency": "NOK",
  "adultTotalFare": 114.99,
  "childTotalFare": 114.99,
  "infantTotalFare": 96.74,
  "totalAncillaryPrice": 0,
  "totalTransactionFee": 5,
  "supportPaymentMethod": 3,
  "supportPaymentMethods": [
    1,
    3,
    5
  ],
  "paymentMethod": 5,
  "routing": {
    "routingIdentifier": "TE9OX1BBUl8yXzIwMjUwODE4XzIwMjUwODIwXzFfMF8wfHR2aWluNjU0Mjh8MXwyNDIuMTRfMjQyLjE0XzY0LjE3XzIuMDBfNTUwLjQ1X1VTRHxMT05fUEFSXzFfMjAyNTA4MThfMjAyNTA4MjBfMV8wXzBeTEdXLVUyODQwNS0tQ0RHLTIwMjUwODE4MTY0MC0yMDI1MDgxODE4NTUtU3RhbmRhcmQtMS0jQ0RHLVUyODQxMC0tTEdXLTIwMjUwODIwMTkxMC0yMDI1MDgyMDE5MjAtU3RhbmRhcmQtMi1eMjQyLjE0XzI0Mi4xNF82NC4xN18yLjAwXzU1MC40NV5BRUNBRVVSX0FFQ15eQUVDMkxPTlBBUjIwMDIwMjUwODE4MjAyNTA4MjBeR0JQXjE3OC4zMl4xNzguMzJeNDcuMjVeMHwwfDIwMjUwODE2MTU1NzQ1fDB8MTc1NTMzMTA2NTU0MkJOYm1HfHx8fHwyLjAwfDN8MHx8bm9ybWFsfGZhbHNl.5FDcOQsu5zTUOBN/jPsM23gT5WuaPAs7g8AmH8q/m0U=",
    "supportCreditTransPayment": "0",
    "supportPaymentMethods": [
      1,
      5
    ],
    "currency": "USD",
    "adultPrice": 242.14,
    "adultTax": 0,
    "adultDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 242.14,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "childPrice": 242.14,
    "childTax": 0,
    "childDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 242.14,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "infantPrice": 64.17,
    "infantTax": 0,
    "infantDetails": [
      {
        "code": "farePrice",
        "type": "base",
        "amount": 64.17,
        "description": ""
      },
      {
        "code": "tax",
        "type": "tax",
        "amount": 0,
        "description": ""
      }
    ],
    "infantAllowed": true,
    "childMandatorySeatingFee": null,
    "transactionFeePerPax": 2,
    "transactionFee": 2,
    "transactionFeeMode": "PER_PAX",
    "fromSegments": [
      {
        "segmentIndex": 1,
        "carrier": "U2",
        "flightNumber": "U28405",
        "depAirport": "LGW",
        "depTime": "202508181640",
        "arrAirport": "CDG",
        "arrTime": "202508181855",
        "stopCities": null,
        "duration": 75,
        "codeShare": false,
        "cabin": "",
        "cabinClass": 1,
        "seatCount": 9,
        "aircraftCode": "",
        "depTerminal": "",
        "arrTerminal": "",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "fareFamily": "Standard"
      }
    ],
    "retSegments": [
      {
        "segmentIndex": 2,
        "carrier": "U2",
        "flightNumber": "U28410",
        "depAirport": "CDG",
        "depTime": "202508201910",
        "arrAirport": "LGW",
        "arrTime": "202508201920",
        "stopCities": null,
        "duration": 70,
        "codeShare": false,
        "cabin": "",
        "cabinClass": 1,
        "seatCount": 9,
        "aircraftCode": "",
        "depTerminal": "",
        "arrTerminal": "",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "fareFamily": "Standard"
      }
    ],
    "rule": {
      "hasBaggage": 1,
      "baggageElements": [
        {
          "segmentNo": 1,
          "baggageType": "CabinBaggageUnderSeat",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 15,
          "baggageSize": "45*36*20cm"
        },
        {
          "segmentNo": 1,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 0,
          "baggageWeight": 0,
          "baggageSize": ""
        },
        {
          "segmentNo": 2,
          "baggageType": "CabinBaggageUnderSeat",
          "passengerType": 0,
          "baggagePiece": 1,
          "baggageWeight": 15,
          "baggageSize": "45*36*20cm"
        },
        {
          "segmentNo": 2,
          "baggageType": "StandardCheckInBaggage",
          "passengerType": 0,
          "baggagePiece": 0,
          "baggageWeight": 0,
          "baggageSize": ""
        }
      ],
      "refundRules": [
        {
          "refundType": 0,
          "refundStatus": "T",
          "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
          "refundFee": 0,
          "currency": "GBP",
          "refNoshow": "T",
          "refNoShowCondition": 0,
          "refNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 525600,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        },
        {
          "refundType": 0,
          "refundStatus": "T",
          "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
          "refundFee": 0,
          "currency": "GBP",
          "refNoshow": "T",
          "refNoShowCondition": 0,
          "refNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 525600,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "refundMethod": "CashBackToOriginalPayment",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        }
      ],
      "changesRules": [
        {
          "changesType": 0,
          "changesStatus": "T",
          "changesFee": 0,
          "currency": "GBP",
          "revNoshow": "T",
          "revNoShowCondition": 0,
          "revNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "H",
              "startMinute": 525600,
              "endMinute": 86400,
              "amount": 30,
              "currency": "GBP"
            },
            {
              "status": "H",
              "startMinute": 86400,
              "endMinute": 120,
              "amount": 49,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 120,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        },
        {
          "changesType": 0,
          "changesStatus": "T",
          "changesFee": 0,
          "currency": "GBP",
          "revNoshow": "T",
          "revNoShowCondition": 0,
          "revNoshowFee": 0,
          "ruleDetailList": [
            {
              "status": "H",
              "startMinute": 525600,
              "endMinute": 86400,
              "amount": 30,
              "currency": "GBP"
            },
            {
              "status": "H",
              "startMinute": 86400,
              "endMinute": 120,
              "amount": 49,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 120,
              "endMinute": 0,
              "amount": 0,
              "currency": "GBP"
            },
            {
              "status": "T",
              "startMinute": 0,
              "endMinute": -525600,
              "amount": 0,
              "currency": "GBP"
            }
          ]
        }
      ],
      "serviceElements": [
        {
          "hasFreeSeat": 0,
          "hasFreeMeal": 0
        },
        {
          "hasFreeSeat": 0,
          "hasFreeMeal": 0
        }
      ]
    },
    "ancillaryProductElements": [
      {
        "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": "Maximum Size 56 x 45 x 25 cm"
        },
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "categoryCode": "CabinBaggageOverheadLocker",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 26.57,
        "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "segmentIndex": 1,
        "vendorPrice": 19.56,
        "vendorCurrency": "GBP"
      },
      {
        "segmentIndex": 1,
        "productCode": "SCI_BAG_1PC_15KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 27.12,
        "currency": "USD",
        "vendorPrice": 19.97,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_1PC_15KG"
      },
      {
        "segmentIndex": 1,
        "productCode": "SCI_BAG_2PC_30KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 39.95,
        "currency": "USD",
        "vendorPrice": 29.42,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 2,
          "weight": 30,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_2PC_30KG"
      },
      {
        "segmentIndex": 2,
        "productCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 41.67,
        "currency": "USD",
        "vendorPrice": 30.69,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": "Maximum Size 56 x 45 x 25 cm"
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "CabinBaggageOverheadLocker",
        "ancillaryCode": "CBOL_1PC_15KG_MAXIMUM SIZE 56 X 45 X 25 CM"
      },
      {
        "segmentIndex": 2,
        "productCode": "SCI_BAG_1PC_15KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 31.09,
        "currency": "USD",
        "vendorPrice": 22.9,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 1,
          "weight": 15,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_1PC_15KG"
      },
      {
        "segmentIndex": 2,
        "productCode": "SCI_BAG_2PC_30KG",
        "canPurchaseWithTicket": 1,
        "canPurchasePostTicket": 0,
        "price": 74.57,
        "currency": "USD",
        "vendorPrice": 54.91,
        "vendorCurrency": "GBP",
        "clientTechnicalServiceFee": 0,
        "auxBaggageElement": {
          "piece": 2,
          "weight": 30,
          "isAllWeight": true,
          "size": ""
        },
        "maxQty": 1,
        "minQty": 1,
        "categoryCode": "StandardCheckInBaggage",
        "ancillaryCode": "SCI_BAG_2PC_30KG"
      }
    ],
    "vendorFare": null,
    "links": [],
    "separateBookings": false,
    "refreshTime": null,
    "expireTime": null,
    "ancillarySupported": [
      "seat",
      "luggage"
    ],
    "cardChargeList": [
      {
        "cardType": "Visa",
        "percentage": 0.03,
        "charge": null,
        "currency": ""
      },
      {
        "cardType": "MasterCard",
        "percentage": 0.03,
        "charge": null,
        "currency": ""
      }
    ]
  },
  "airlineBookings": [
    {
      "airlineCode": "D8",
      "airlineName": "Norwegian Air Sweden",
      "airlinePnr": "S77182",
      "airlineWebSiteAddress": "https://www.norwegian.com",
      "mmbEmail": "[email protected]",
      "tailDigitsOfPaymentCard": null
    }
  ],
  "itineraryDownload": "http://121.40.236.223:8081/itineraryDownload.do?orderNo=FKEm34znpwya%2FiJBirhBW5YFgj2M7dX4",
  "contact": {
    "name": "Smith/Jane",
    "address": "189, Sky Garden Walk/London/US/US",
    "postcode": "EC3M 8AF",
    "email": "[email protected]",
    "mobile": "0001-982736245"
  },
  "errorCode": null,
  "errorMessage": null,
  "airlineMessage": null,
  "locale": "",
  "refundRules": [
    {
      "airline": "D8",
      "ruleType": "1",
      "passengerType": "",
      "penaltyAmount": null,
      "penaltyPercent": null,
      "penaltyPercentBase": null,
      "airlineFee": null,
      "taxRefundable": false,
      "fareRefundable": false,
      "refundableAncillaries": null,
      "startMinute": 525600,
      "endMinute": 0,
      "refundMethod": "CashBackToOriginalPayment"
    },
    {
      "airline": "D8",
      "ruleType": "1",
      "passengerType": "",
      "penaltyAmount": null,
      "penaltyPercent": null,
      "penaltyPercentBase": null,
      "airlineFee": null,
      "taxRefundable": false,
      "fareRefundable": false,
      "refundableAncillaries": null,
      "startMinute": 0,
      "endMinute": -525600,
      "refundMethod": "CashBackToOriginalPayment"
    },
    {
      "airline": "D8",
      "ruleType": "0",
      "passengerType": "",
      "penaltyAmount": "0",
      "penaltyPercent": 0,
      "penaltyPercentBase": null,
      "airlineFee": "0",
      "taxRefundable": true,
      "fareRefundable": true,
      "refundableAncillaries": [],
      "startMinute": 525600,
      "endMinute": 300,
      "refundMethod": "CashBackToOriginalPayment"
    },
    {
      "airline": "D8",
      "ruleType": "0",
      "passengerType": "",
      "penaltyAmount": "0",
      "penaltyPercent": 0,
      "penaltyPercentBase": null,
      "airlineFee": "0",
      "taxRefundable": true,
      "fareRefundable": true,
      "refundableAncillaries": [],
      "startMinute": 525600,
      "endMinute": -525600,
      "refundMethod": "CashBackToOriginalPayment"
    },
    {
      "airline": "D8",
      "ruleType": "0",
      "passengerType": "",
      "penaltyAmount": null,
      "penaltyPercent": null,
      "penaltyPercentBase": null,
      "airlineFee": null,
      "taxRefundable": false,
      "fareRefundable": false,
      "refundableAncillaries": null,
      "startMinute": 300,
      "endMinute": -300,
      "refundMethod": "CashBackToOriginalPayment"
    },
    {
      "airline": "D8",
      "ruleType": "0",
      "passengerType": "",
      "penaltyAmount": "0",
      "penaltyPercent": 0,
      "penaltyPercentBase": null,
      "airlineFee": "0",
      "taxRefundable": true,
      "fareRefundable": true,
      "refundableAncillaries": [],
      "startMinute": -300,
      "endMinute": -525600,
      "refundMethod": "CashBackToOriginalPayment"
    }
  ],
  "ifSeatOccupied": "SIMILAR_SEAT",
  "paymentOptions": null,
  "payment": {
    "paymentMethod": 5,
    "serviceFee": {
      "amount": 5,
      "currency": "USD",
      "deductFrom": "DEPOSIT"
    },
    "ticketFare": {
      "amount": 111.41,
      "currency": "EUR",
      "deductFrom": "CARD"
    },
    "paymentFee": {
      "amount": 4.8,
      "currency": "EUR",
      "deductFrom": "CARD"
    },
    "cardType": null
  },
  "paymentAttempted": null
}

Smart Search(Only For TMC)

post

Advantages of Smart Search:

  • Supports real-time search for booking windows and routes not covered in "Search API".

  • Enhances search result rate and overall coverage.

Points to note:

  • Smart Search will be activated "on demand". Please contact your account manager or sales director if you want this feature to be activated.

  • The ist response will return the results from the cache. if the "smartEnd"=false, send the subsequent requests until if the "smartEnd"=true to get all the results from the LIVE search.

  • Use production endpoint being used for APls other than search APl.

Workflow:

  • Send the "Smart Search" request(called First Request) and receive the response, which includes an ID (requestId) used to identify the entire search process, and may also contain part of the flight data(routings).

  • After receiving the response, if thesmartEnd=false, then send another request (called Subsequent Request) only with therequestId.

  • Follow this flow untilsmartEnd=true. This means that the smart search has been completed.

Endpoint: https://sandbox.atriptech.com/smartSearch.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
requestIdstringRequired

Only required in Subsequent Request

tripTypestring · enumRequired

The trip type(1=one way or 2=round trip) you want to search

Example: 1Possible values:
adultNuminteger · min: 1 · max: 9Required

Adult passenger count. Please note that the total number of adults(adultNum) and children(childNum) cannot exceed 9.

Default: 0Example: 1
childNuminteger · max: 8Required

Child passenger count. Please note that the total number of adults(adultNum) and children(childNum) cannot exceed 9

Default: 0Example: 0
infantNuminteger · max: 9Required

Infant passenger count, no more than the number of adult

Default: 0Example: 0
fromCitystringRequired

IATA code of the departure city or airport (in capital letters).When the airport code you sent is different from the code of the city where the airport is located, we can recognize that it is an airport, otherwise we will treat it as a city code. We will filter flights based on your departure location type.

Example: LON
toCitystringRequired

IATA code of the arrival city or airport (in capital letters).When the airport code you sent is different from the code of the city where the airport is located, we can recognize that it is an airport, otherwise we will treat it as a city code. We will filter flights based on your departure location type.

Example: PAR
fromAirportstring | nullableOptional

IATA code of the departure airport

Example: AAA
toAirportstring | nullableOptional

IATA code of the arrival airport

Example: AAA
fromDatestring · dateRequired

Departure date, the format is YYYYMMDD

Example: 20251010
retDatestring · date | nullableOptional

Return date, the format is YYYYMMDD. If you are searching for round-trip, the return date is mandatory.

airlinesstring[] | nullableOptional

An array of IATA Codes(in capital letters) of airlines. The result will only contain the airlines specified in the search request.

fromFlightNumbersstring[] | nullableOptional

Search for specified departure flights. Each element represents one flight. Connecting flight numbers are separated by "," (comma). Example:

  • ["FR123"]: A direct flight
  • ["FR456,FR789"]: A connecting flight
  • ["FR123", "FR456,FR789"]: 2 flights, a direct flight and a connecting flight
retFlightNumbersstring[] | nullableOptional

Search for specified return flights. Each element represents one flight. Connecting flight numbers are separated by "," (comma).

includeMultipleFareFamilyboolean | nullableOptional

Search only for the lowest fare or for the Fare Families. By default, each flight only returns the lowest fare, and each array element in the response represents: flight - lowest fare. If this parameter is turned on, each element of the search results will be a combination of flight and one of the fares, that is, different elements will have the same flight but different ticket fare.

Default: false
currencystring | nullableOptional

This is the settlement currency. The 3-letter currency code should be entered. This field is optional, and when you want to settle with Atlas in different currencies (especially when you have opened multiple deposit accounts in different currencies in Atlas), you need to use this parameter.

displayCurrencystring | nullableOptional

The currency for the display fares in response. If no display currency is specified, the display amount will be null.

requestSourcestring | nullableOptional

Identify the source of the search traffic, E.g. Google Flights, Oganic Search, SkyScanner.

syncbooleanOptional

Is smart search synchronized return, default is asynchronous

residentCodestring | nullableOptional

Resident discount code

Responses
200Success
application/json
post
/smartSearch.do
POST /smartSearch.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Length: 223

{
  "adultNum": 2,
  "childNum": 0,
  "currency": "GBP",
  "fromCity": "ACE",
  "fromDate": "20250920",
  "includeMultipleFareFamily": false,
  "infantNum": 0,
  "maxResponseTime": 15000,
  "requestSource": "Dynamic",
  "sync": true,
  "toCity": "LON",
  "tripType": "1"
}
200Success
{
  "status": 0,
  "requestId": "17553346623104JGpo",
  "smartEnd": true,
  "routings": [
    {
      "adultDetails": [
        {
          "amount": 12.09,
          "code": "farePrice",
          "description": "",
          "type": "base"
        },
        {
          "amount": 76.07,
          "code": "tax",
          "description": "",
          "type": "tax"
        }
      ],
      "adultPrice": 12.09,
      "adultTax": 76.07,
      "ancillaryProductElements": [
        {
          "ancillaryCode": "SCI_BAG_3PC_66KG",
          "auxBaggageElement": {
            "allWeight": true,
            "piece": 3,
            "size": "",
            "weight": 66
          },
          "canPurchasePostTicket": 0,
          "canPurchaseWithTicket": 1,
          "categoryCode": "StandardCheckInBaggage",
          "clientTechnicalServiceFee": 0,
          "currency": "GBP",
          "maxQty": 1,
          "minQty": 1,
          "price": 134.56,
          "productCode": "SCI_BAG_3PC_66KG",
          "segmentIndex": 1,
          "vendorCurrency": "GBP",
          "vendorPrice": 133.57
        },
        {
          "ancillaryCode": "SCI_BAG_1PC_22KG",
          "auxBaggageElement": {
            "allWeight": true,
            "piece": 1,
            "size": "",
            "weight": 22
          },
          "canPurchasePostTicket": 0,
          "canPurchaseWithTicket": 1,
          "categoryCode": "StandardCheckInBaggage",
          "clientTechnicalServiceFee": 0,
          "currency": "GBP",
          "maxQty": 1,
          "minQty": 1,
          "price": 44.86,
          "productCode": "SCI_BAG_1PC_22KG",
          "segmentIndex": 1,
          "vendorCurrency": "GBP",
          "vendorPrice": 44.53
        },
        {
          "ancillaryCode": "SCI_BAG_2PC_44KG",
          "auxBaggageElement": {
            "allWeight": true,
            "piece": 2,
            "size": "",
            "weight": 44
          },
          "canPurchasePostTicket": 0,
          "canPurchaseWithTicket": 1,
          "categoryCode": "StandardCheckInBaggage",
          "clientTechnicalServiceFee": 0,
          "currency": "GBP",
          "maxQty": 1,
          "minQty": 1,
          "price": 89.71,
          "productCode": "SCI_BAG_2PC_44KG",
          "segmentIndex": 1,
          "vendorCurrency": "GBP",
          "vendorPrice": 89.05
        }
      ],
      "ancillarySupported": [
        "seat",
        "luggage"
      ],
      "bundleOptions": [],
      "childDetails": [
        {
          "amount": 12.09,
          "code": "farePrice",
          "description": "",
          "type": "base"
        },
        {
          "amount": 76.07,
          "code": "tax",
          "description": "",
          "type": "tax"
        }
      ],
      "childPrice": 12.09,
      "childTax": 76.07,
      "combineIndexs": [],
      "currency": "GBP",
      "expireTime": "2025-08-16T12:19:38Z",
      "fid": "z8NUOiqt5NX05yUOdg0-RfZls9ockAhaJJ6w56FfZVEKQtULkxLefdhdb239v6gV",
      "fromSegments": [
        {
          "aircraftCode": "",
          "arrAirport": "STN",
          "arrTerminal": "",
          "arrTime": "202509210155",
          "cabin": "",
          "cabinClass": 1,
          "carrier": "LS",
          "codeShare": false,
          "depAirport": "ACE",
          "depTerminal": "",
          "depTime": "202509202150",
          "duration": 245,
          "fareFamily": "low",
          "flightNumber": "LS1422",
          "operatingCarrier": "",
          "operatingFlightnumber": "",
          "seatCount": 2,
          "segmentIndex": 1,
          "stopCities": ""
        }
      ],
      "infantAllowed": true,
      "infantDetails": [
        {
          "amount": 25.19,
          "code": "farePrice",
          "description": "",
          "type": "base"
        },
        {
          "amount": 0,
          "code": "tax",
          "description": "",
          "type": "tax"
        }
      ],
      "infantPrice": 25.19,
      "infantTax": 0,
      "nationality": "",
      "nationalityType": 0,
      "paxType": "ADT",
      "refreshTime": "2025-08-16T03:30:38Z",
      "retSegments": [],
      "riskSellout": false,
      "routingIdentifier": "QUNFX0xPTl8xXzIwMjUwOTIwX18yXzBfMHxYSEc3MjczMV9hcGlfMXwxfDg4LjE2Xzg4LjE2XzI1LjE5XzAuNjVfMjAyLjE2X0dCUHxBQ0VfTE9OXzFfMjAyNTA5MjBfXzJfMF8wXkFDRS1MUzE0MjItLVNUTi0yMDI1MDkyMDIxNTAtMjAyNTA5MjEwMTU1LWxvdy0xLV44OC4xNl84OC4xNl8yNS4xOV8wLjY1XzIwMi4xNl5BTFNBUElfQUxTXl5BTFMxQUNFTE9OMjAwMjAyNTA5MjBeR0JQXjg3LjUwXjg3LjUwXjI1LjAwXjF8MXwyMDI1MDgxNjE2NTc1NnwwfDE3NTUzMzQ2NjIzMTA0Skdwb3x8fHx8MS4zMHw0fDB8R0JQfG5vcm1hbHxmYWxzZQ==.Q86tmtSTKhG8cbOGw3SsCJVxdMAfHLwnafWbeP2Sjw4=",
      "rule": {
        "baggageElements": [
          {
            "baggagePiece": 0,
            "baggageSize": "",
            "baggageType": "StandardCheckInBaggage",
            "baggageWeight": 0,
            "passengerType": 0,
            "segmentNo": 1
          },
          {
            "baggagePiece": 0,
            "baggageSize": "",
            "baggageType": "StandardCheckInBaggage",
            "baggageWeight": 0,
            "passengerType": 1,
            "segmentNo": 1
          },
          {
            "baggagePiece": 0,
            "baggageSize": "",
            "baggageType": "StandardCheckInBaggage",
            "baggageWeight": 0,
            "passengerType": 2,
            "segmentNo": 1
          },
          {
            "baggagePiece": 1,
            "baggageSize": "56*45*25cm",
            "baggageType": "CabinBaggageOverheadLocker",
            "baggageWeight": 10,
            "passengerType": 0,
            "segmentNo": 1
          },
          {
            "baggagePiece": 1,
            "baggageSize": "56*45*25cm",
            "baggageType": "CabinBaggageOverheadLocker",
            "baggageWeight": 10,
            "passengerType": 1,
            "segmentNo": 1
          },
          {
            "baggagePiece": 0,
            "baggageSize": "56*45*25cm",
            "baggageType": "CabinBaggageOverheadLocker",
            "baggageWeight": 0,
            "passengerType": 2,
            "segmentNo": 1
          }
        ],
        "changesRules": [
          {
            "changesFee": 0,
            "changesStatus": "T",
            "changesType": 0,
            "currency": "GBP",
            "revNoShowCondition": 0,
            "revNoshow": "T",
            "revNoshowFee": 0,
            "ruleDetailList": [
              {
                "amount": 75.5,
                "currency": "GBP",
                "endMinute": 300,
                "ruleId": 38876,
                "startMinute": 525600,
                "status": "H"
              },
              {
                "amount": 0,
                "currency": "GBP",
                "endMinute": 0,
                "ruleId": 38877,
                "startMinute": 300,
                "status": "T"
              },
              {
                "amount": 0,
                "currency": "GBP",
                "endMinute": -525600,
                "ruleId": 38878,
                "startMinute": 0,
                "status": "T"
              }
            ]
          }
        ],
        "hasBaggage": 1,
        "refundRules": [
          {
            "currency": "GBP",
            "refNoShowCondition": 0,
            "refNoshow": "T",
            "refNoshowFee": 0,
            "refundFee": 0,
            "refundMethod": "CASH_BACK_TO_ORIGINAL_PAYMENT",
            "refundStatus": "T",
            "refundType": 0,
            "ruleDetailList": [
              {
                "amount": 0,
                "currency": "GBP",
                "endMinute": 0,
                "refundMethod": "CashBackToOriginalPayment",
                "ruleId": 31451,
                "startMinute": 525600,
                "status": "T"
              },
              {
                "amount": 0,
                "currency": "GBP",
                "endMinute": -525600,
                "refundMethod": "CashBackToOriginalPayment",
                "ruleId": 31452,
                "startMinute": 0,
                "status": "T"
              }
            ]
          }
        ],
        "serviceElements": [
          {
            "hasFreeMeal": 0,
            "hasFreeSeat": 0
          }
        ]
      },
      "separateBookings": false,
      "suitAge": "",
      "supportCreditTransPayment": "1",
      "supportPaymentMethods": [
        1,
        3
      ],
      "transactionFee": 1.3,
      "transactionFeeMode": "PER_BOOKING",
      "transactionFeePerPax": 0.65,
      "vendorFare": {
        "vendorAdultPrice": 12,
        "vendorAdultTax": 75.5,
        "vendorChildPrice": 12,
        "vendorChildTax": 75.5,
        "vendorCurrency": "GBP",
        "vendorInfantPrice": 25,
        "vendorInfantTax": 0
      }
    }
  ]
}

Get Offer

post

Dependency: No preceding function needs to be called before Get Offer.

  • Compared to the Verify API, the GetOffer API does not rely on Search results and improves the success rate of price verify. Since using our GetOffer real-time search increases the L2B Ratio of our requesting carrier API, not all carriers support price verification via the GetOffer.

  • Please contact your Key Account Manager if you want to use the GetOffer API. Atlas will review your workflow and if deemed aplicable, Atlas will provide further information and support you with the implementation of this API.

Endpoint: https://sandbox.atriptech.com/getOffers.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: NAR65434_api_1
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_ID>
Body
adultsinteger · min: 1 · max: 9Required

Number of adults

Default: 0Example: 1
childreninteger | nullableOptional

Number of children

Default: 0Example: 0
infantsinteger | nullableOptional

Number of infants

Default: 0Example: 0
currencystring | nullableOptional

Quotation currency, optional, default will be determined based on a certain strategy, such as the currency of the customer's pre deposit account

Example: USD
residentCodestring | nullableOptional

Resident discount code

Responses
200Success
application/json
post
/getOffers.do
POST /getOffers.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: NAR65434_api_1
x-atlas-client-secret: <YOUR_CLIENT_ID>
Content-Length: 304

{
  "adults": 1,
  "children": 0,
  "infants": 0,
  "inboundSegments": [
    {
      "arrivalAirport": "NRT",
      "carrier": "IJ",
      "departureAirport": "PVG",
      "departureDate": "20250908",
      "flightNumber": "004"
    }
  ],
  "outboundSegments": [
    {
      "arrivalAirport": "PVG",
      "carrier": "IJ",
      "departureAirport": "NRT",
      "departureDate": "20250904",
      "flightNumber": "001"
    }
  ]
}
200Success
{
  "data": [
    {
      "bookingRequirement": {
        "passenger": {
          "cardIssuePlace": {
            "required": true,
            "type": "string"
          },
          "birthday": {
            "required": true,
            "type": "string"
          },
          "cardNum": {
            "required": true,
            "type": "string"
          },
          "passengerType": {
            "required": true,
            "type": "int"
          },
          "nationality": {
            "required": true,
            "type": "string"
          },
          "gender": {
            "required": true,
            "type": "string"
          },
          "cardExpired": {
            "required": true,
            "type": "string"
          },
          "cardType": {
            "required": true,
            "type": "string"
          },
          "name": {
            "required": true,
            "type": "string"
          }
        }
      },
      "offer": {
        "inboundJourney": {
          "journeyID": "ij",
          "segments": [
            {
              "cabinClass": "Economy",
              "carrier": "IJ",
              "duration": 180,
              "fareFamily": "Lucky Spring",
              "flightNumber": "4",
              "legs": [
                {
                  "aircraftType": "",
                  "arrivalAirport": "NRT",
                  "arrivalTerminal": "",
                  "arrivalTime": "202509082135",
                  "departureAirport": "PVG",
                  "departureTerminal": "",
                  "departureTime": "202509081735"
                }
              ],
              "rBD": "R1",
              "seatsLeft": 9,
              "segmentID": "is-2"
            }
          ]
        },
        "offerID": "o_e11c74d10d85485a8732b3800aa55f1d_1",
        "offerToken": "VFlPX1NIQV8yXzIwMjUwOTA0XzIwMjUwOTA4XzFfMF8wfFJDUzc3NDc4X2FwaV8xfDF8MTg0LjcyXzE2Ny41OV81NS43M18wLjUwXzQwOC41NF9VU0R8VFlPX1NIQV8xXzIwMjUwOTA0XzIwMjUwOTA4XzFfMF8wXk5SVC1JSjAwMS1SMS1QVkctMjAyNTA5MDQyMjQ1LTIwMjUwOTA1MDEyNS1MdWNreSBTcHJpbmctMS0jUFZHLUlKMDA0LVIxLU5SVC0yMDI1MDkwODE3MzUtMjAyNTA5MDgyMTM1LUx1Y2t5IFNwcmluZy0yLV4xODQuNzJfMTY3LjU5XzU1LjczXzAuNTBfNDA4LjU0XkFJSl9BSUpeXl5DTlleMTMyNi4wMF4xMjAzLjAwXjQwMC4wMF4wfDB8MjAyNTA4MTYxNzA4MTl8MHxvX2UxMWM3NGQxMGQ4NTQ4NWE4NzMyYjM4MDBhYTU1ZjFkfHx8R2V0T2ZmZXJ8fDAuNTB8M3wwfHxub3JtYWx8ZmFsc2U=.PaLlOsP6tMoDuhw9U/VyFOL5mcAdLP2PeAGRBzPunwg=",
        "outboundJourney": {
          "journeyID": "oj",
          "segments": [
            {
              "cabinClass": "Economy",
              "carrier": "IJ",
              "duration": 220,
              "fareFamily": "Lucky Spring",
              "flightNumber": "1",
              "legs": [
                {
                  "aircraftType": "",
                  "arrivalAirport": "PVG",
                  "arrivalTerminal": "",
                  "arrivalTime": "202509050125",
                  "departureAirport": "NRT",
                  "departureTerminal": "",
                  "departureTime": "202509042245"
                }
              ],
              "rBD": "R1",
              "seatsLeft": 9,
              "segmentID": "os-1"
            }
          ]
        },
        "paxFares": [
          {
            "paxType": "ADT",
            "price": {
              "baseAmount": 94.73,
              "currency": "USD",
              "taxes": 89.99
            }
          },
          {
            "paxType": "CHD",
            "price": {
              "baseAmount": 94.73,
              "currency": "USD",
              "taxes": 72.86
            }
          },
          {
            "paxType": "INF",
            "price": {
              "baseAmount": 55.73,
              "currency": "USD",
              "taxes": 0
            }
          }
        ],
        "penalties": [
          {
            "amount": 576,
            "currency": "CNY",
            "journeyRefIDs": [
              "oj"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 525600,
              "expirationMinutes": 43200,
              "fixedAmount": 576,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 615,
            "currency": "CNY",
            "journeyRefIDs": [
              "oj"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 43200,
              "expirationMinutes": 21600,
              "fixedAmount": 615,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 654,
            "currency": "CNY",
            "journeyRefIDs": [
              "oj"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 21600,
              "expirationMinutes": 10080,
              "fixedAmount": 654,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 693,
            "currency": "CNY",
            "journeyRefIDs": [
              "oj"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 10080,
              "expirationMinutes": 1440,
              "fixedAmount": 693,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 771,
            "currency": "CNY",
            "journeyRefIDs": [
              "oj"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 1440,
              "expirationMinutes": 0,
              "fixedAmount": 771,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 771,
            "currency": "CNY",
            "journeyRefIDs": [
              "oj"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 0,
              "expirationMinutes": -43200,
              "fixedAmount": 771,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 410,
            "currency": "CNY",
            "journeyRefIDs": [
              "ij"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 525600,
              "expirationMinutes": 43200,
              "fixedAmount": 410,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 439,
            "currency": "CNY",
            "journeyRefIDs": [
              "ij"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 43200,
              "expirationMinutes": 21600,
              "fixedAmount": 439,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 468,
            "currency": "CNY",
            "journeyRefIDs": [
              "ij"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 21600,
              "expirationMinutes": 10080,
              "fixedAmount": 468,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 497,
            "currency": "CNY",
            "journeyRefIDs": [
              "ij"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 10080,
              "expirationMinutes": 1440,
              "fixedAmount": 497,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 555,
            "currency": "CNY",
            "journeyRefIDs": [
              "ij"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 1440,
              "expirationMinutes": 0,
              "fixedAmount": 555,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          },
          {
            "amount": 555,
            "currency": "CNY",
            "journeyRefIDs": [
              "ij"
            ],
            "rule": {
              "airlineFee": 0,
              "currency": "CNY",
              "effectiveMinutes": 0,
              "expirationMinutes": -43200,
              "fixedAmount": 555,
              "levelType": "Partial",
              "paxTypes": [
                "ADT",
                "CHD"
              ],
              "percent": 0,
              "percentBase": "fare+tax",
              "type": "Refund"
            }
          }
        ],
        "services": [
          {
            "level": "Free",
            "metadata": {
              "maximumDimension": "",
              "maximumPiece": 0,
              "maximumWeight": 0,
              "type": "StandardCheckInBaggage"
            },
            "paxTypes": [
              "CHD"
            ],
            "segmentRefIDs": [
              "os-1",
              "is-2"
            ],
            "serviceID": "fbs-1",
            "type": "Baggage"
          },
          {
            "level": "Free",
            "metadata": {
              "maximumDimension": "",
              "maximumPiece": 0,
              "maximumWeight": 0,
              "type": "StandardCheckInBaggage"
            },
            "paxTypes": [
              "INF"
            ],
            "segmentRefIDs": [
              "os-1",
              "is-2"
            ],
            "serviceID": "fbs-2",
            "type": "Baggage"
          },
          {
            "level": "Free",
            "metadata": {
              "maximumDimension": "",
              "maximumPiece": 0,
              "maximumWeight": 0,
              "type": "StandardCheckInBaggage"
            },
            "paxTypes": [
              "ADT"
            ],
            "segmentRefIDs": [
              "os-1",
              "is-2"
            ],
            "serviceID": "fbs-3",
            "type": "Baggage"
          },
          {
            "level": "Free",
            "metadata": {
              "maximumDimension": "56*36*23cm",
              "maximumPiece": 0,
              "maximumWeight": 0,
              "type": "CabinBaggageUnderSeat"
            },
            "paxTypes": [
              "INF"
            ],
            "segmentRefIDs": [
              "os-1",
              "is-2"
            ],
            "serviceID": "fbs-4",
            "type": "Baggage"
          },
          {
            "level": "Free",
            "metadata": {
              "maximumDimension": "56*36*23cm",
              "maximumPiece": 1,
              "maximumWeight": 7,
              "type": "CabinBaggageUnderSeat"
            },
            "paxTypes": [
              "CHD"
            ],
            "segmentRefIDs": [
              "os-1",
              "is-2"
            ],
            "serviceID": "fbs-5",
            "type": "Baggage"
          },
          {
            "level": "Free",
            "metadata": {
              "maximumDimension": "56*36*23cm",
              "maximumPiece": 1,
              "maximumWeight": 7,
              "type": "CabinBaggageUnderSeat"
            },
            "paxTypes": [
              "ADT"
            ],
            "segmentRefIDs": [
              "os-1",
              "is-2"
            ],
            "serviceID": "fbs-6",
            "type": "Baggage"
          },
          {
            "level": "Chargeable",
            "paxTypes": [
              "ADT",
              "CHD"
            ],
            "segmentRefIDs": [
              "os-1"
            ],
            "serviceID": "fss-1",
            "type": "Seat"
          },
          {
            "level": "Chargeable",
            "paxTypes": [
              "ADT",
              "CHD"
            ],
            "segmentRefIDs": [
              "is-2"
            ],
            "serviceID": "fss-2",
            "type": "Seat"
          },
          {
            "level": "Chargeable",
            "paxTypes": [
              "ADT",
              "CHD"
            ],
            "segmentRefIDs": [
              "os-1"
            ],
            "serviceID": "fms-1",
            "type": "Meal"
          },
          {
            "level": "Chargeable",
            "paxTypes": [
              "ADT",
              "CHD"
            ],
            "segmentRefIDs": [
              "is-2"
            ],
            "serviceID": "fms-2",
            "type": "Meal"
          }
        ],
        "terms": []
      },
      "serviceFee": {
        "amountPerUnit": 0.5,
        "currency": "USD",
        "unit": "PER_PAX"
      },
      "supportedPaymentMethods": [
        "Deposit"
      ]
    }
  ],
  "status": 0
}

Seat Availability

post

Dependency: Verify or getOffer function should be called in prior to this call.

The seat map API is divided into independent mode and non-independent mode.

  • Independent mode means it can be used standalone without relying on other APIs.

  • Non-independent mode depends on the price verification API or the get offer API.

In a booking process, please call the 'seatAvailability' API to get seat availability information after price verification via 'verify' or 'getOffer'. Steps:

  1. API sequence

    • Search - Verify- seatAvailability - Order - Pay

    • getOffer - seatAvailability - Order - Pay

  2. Pass 'offerId' in 'seatAvailability' requests:

    • From 'verify': Use sessionId directly. From 'getOffer': Use its offerId.

  3. In the Order step, use the productCode to add specific seat to the ticket order.

Endpoint: https://sandbox.atriptech.com/seatAvailability.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: NAR65434_api_1
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
sessionIdstringRequired

ThesessionIdreturned by price verification api(verify.do). Only required in Non-independent mode.

offerIdstringRequired

TheofferIDreturned by get offer api(getOffers.do). Only required in Non-independent mode.

carrierstringRequired

The IATA code of MSC(known as Most Significant Carrier) of the itinerary.

Responses
200Success
application/json
post
/seatAvailability.do
POST /seatAvailability.do HTTP/1.1
Host: 
Accept: text
Content-Type: application/json
Accept-Encoding: text
x-atlas-client-id: NAR65434_api_1
x-atlas-client-secret: text
Content-Length: 303

{
  "carrier": "W6",
  "outboundSegments": [
    {
      "flightNumber": "W62340",
      "segmentIndex": 1,
      "depAirport": "FCO",
      "arrAirport": "BUD",
      "cabinClass": "1",
      "depTime": "202501250825"
    }
  ],
  "inboundSegments": [
    {
      "flightNumber": "W62341",
      "segmentIndex": 2,
      "depAirport": "BUD",
      "arrAirport": "FCO",
      "cabinClass": "1",
      "depTime": "202501301915"
    }
  ]
}
200Success
{
  "cabins": [
    {
      "segmentIndex": 1,
      "cabin": {
        "deck": "main",
        "cabinClass": 1,
        "cabinLayout": {
          "columns": [
            {
              "designator": "A",
              "characteristics": "W"
            },
            {
              "designator": "B",
              "characteristics": "M"
            },
            {
              "designator": "C",
              "characteristics": "A"
            },
            {
              "designator": "D",
              "characteristics": "W"
            },
            {
              "designator": "E",
              "characteristics": "M"
            },
            {
              "designator": "F",
              "characteristics": "A"
            }
          ],
          "rows": {
            "first": 4,
            "last": 20
          },
          "exitRowPositions": [
            {
              "first": 4,
              "last": 5
            },
            {
              "first": 10,
              "last": 11
            },
            {
              "first": 20,
              "last": 20
            }
          ]
        },
        "rows": [
          {
            "number": 4,
            "seats": [
              {
                "column": "A",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "W",
                  "L",
                  "E"
                ],
                "price": 26.29,
                "currency": "USD",
                "vendorPrice": 26.29,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_4A_W6_FCO_BUD"
              },
              {
                "column": "B",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "M",
                  "L",
                  "E"
                ],
                "price": 10.79,
                "currency": "USD",
                "vendorPrice": 10.79,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_4B_W6_FCO_BUD"
              },
              {
                "column": "C",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "A",
                  "L",
                  "E"
                ],
                "price": 30.13,
                "currency": "USD",
                "vendorPrice": 30.13,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_4C_W6_FCO_BUD"
              },
              {
                "column": "D",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "W",
                  "L",
                  "E"
                ],
                "price": 88.43,
                "currency": "USD",
                "vendorPrice": 88.43,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_4D_W6_FCO_BUD"
              },
              {
                "column": "E",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "M",
                  "L",
                  "E"
                ],
                "price": 56.78,
                "currency": "USD",
                "vendorPrice": 56.78,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_4E_W6_FCO_BUD"
              },
              {
                "column": "F",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "A",
                  "L",
                  "E"
                ],
                "price": 29.47,
                "currency": "USD",
                "vendorPrice": 29.47,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_4F_W6_FCO_BUD"
              }
            ]
          }
        ]
      }
    },
    {
      "segmentIndex": 2,
      "cabin": {
        "deck": "main",
        "cabinClass": 1,
        "cabinLayout": {
          "columns": [
            {
              "designator": "A",
              "characteristics": "W"
            },
            {
              "designator": "B",
              "characteristics": "M"
            },
            {
              "designator": "C",
              "characteristics": "A"
            },
            {
              "designator": "D",
              "characteristics": "W"
            },
            {
              "designator": "E",
              "characteristics": "M"
            },
            {
              "designator": "F",
              "characteristics": "A"
            }
          ],
          "rows": {
            "first": 4,
            "last": 20
          },
          "exitRowPositions": [
            {
              "first": 4,
              "last": 5
            },
            {
              "first": 10,
              "last": 11
            },
            {
              "first": 20,
              "last": 20
            }
          ]
        },
        "rows": [
          {
            "number": 5,
            "seats": [
              {
                "column": "A",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "W",
                  "L",
                  "E"
                ],
                "price": 34.25,
                "currency": "USD",
                "vendorPrice": 34.25,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_5A_W6_BUD_FCO"
              },
              {
                "column": "B",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "M",
                  "L",
                  "E"
                ],
                "price": 26.42,
                "currency": "USD",
                "vendorPrice": 26.42,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_5B_W6_BUD_FCO"
              },
              {
                "column": "C",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "A",
                  "L",
                  "E"
                ],
                "price": 25.53,
                "currency": "USD",
                "vendorPrice": 25.53,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_5C_W6_BUD_FCO"
              },
              {
                "column": "D",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "W",
                  "L",
                  "E"
                ],
                "price": 22.75,
                "currency": "USD",
                "vendorPrice": 22.75,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_5D_W6_BUD_FCO"
              },
              {
                "column": "E",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "M",
                  "L",
                  "E"
                ],
                "price": 68.06,
                "currency": "USD",
                "vendorPrice": 68.06,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_5E_W6_BUD_FCO"
              },
              {
                "column": "F",
                "seatStatus": "F",
                "seatCharacteristics": [
                  "A",
                  "L",
                  "E"
                ],
                "price": 29.83,
                "currency": "USD",
                "vendorPrice": 29.83,
                "vendorCurrency": "USD",
                "productCode": "SCI_SEAT_5F_W6_BUD_FCO"
              }
            ]
          }
        ]
      }
    }
  ],
  "status": 0,
  "msg": "success"
}

Get Luggage

post

In a booking process, please call the 'getLuggage' API to get precise baggage quotes after price verification via 'verify' or 'getOffer'. Steps:

  1. API sequence

    • Search - Verify- getLuggage - Order - Pay

    • getOffer - getLuggage - Order - Pay

  2. For exact baggage prices, request 'getLuggage'.

  3. Pass 'offerId' in 'getLuggage' requests:

    • From 'verify': Use sessionId as offerId

    • From 'getOffer': Use its offerId directly.

  4. 'getLuggage' returns all flight segments' baggage data, each identified by a unique productCode.

  5. In the Order step, use the productCode to add specific baggage products to the ticket order.

Endpoint: https://sandbox.atriptech.com/getLuggage.do

Header parameters
x-atlas-client-idstringRequired

api access id

Example: NAR65434_api_1
x-atlas-client-secretstringRequired

api access secret

Example: changeit
Accept-EncodingstringOptional

建议设置该请求头,能很大程度地减小网络传输报文的大小

Example: gzip
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Body
offerIdstringRequired

ThesessionIdreturned by verify api(verify.do)

Example: 85540632-ef14-4cb2-900e-453ef0a19477
maxResponseTimeinteger | nullableOptional

Query timeout, unit: milliseconds, default 5000ms. Note: Due to network transmission and computational performance impacts, the client may still receive a normal result (rather than a timeout) even if this duration is exceeded. This time is used to control the overall response time of the interface within a certain range, with an error generally not exceeding a few hundred milliseconds. If you have strict requirements for the timeout, it is recommended to set the timeout of your HTTP toolkit. If the HTTP toolkit you are using does not support this capability, you may need to leverage other tools—related capabilities are generally provided in most programming languages.

Default: 5000
Responses
200Success
application/json
post
/getLuggage.do
POST /getLuggage.do HTTP/1.1
Host: 
x-atlas-client-id: text
x-atlas-client-secret: text
Accept: text
Content-Type: application/json
Content-Length: 50

{
  "offerId": "o_d2c7d44baf2643ebac8b7926a8b0be60_1"
}
200Success
{
  "status": 0,
  "msg": null,
  "data": {
    "offerId": "o_d2c7d44baf2643ebac8b7926a8b0be60_1",
    "ancillaryProductElements": [
      {
        "ancillaryCode": "SCI_BAG_5KG",
        "auxBaggageElement": {
          "allWeight": true,
          "piece": 0,
          "size": "",
          "weight": 5
        },
        "canPurchasePostTicket": 1,
        "canPurchaseWithTicket": 1,
        "categoryCode": "StandardCheckInBaggage",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 10.17,
        "productCode": "SCI_BAG_5KG",
        "segmentIndex": 1,
        "vendorCurrency": "IDR",
        "vendorPrice": 165000
      },
      {
        "ancillaryCode": "SCI_BAG_10KG",
        "auxBaggageElement": {
          "allWeight": true,
          "piece": 0,
          "size": "",
          "weight": 10
        },
        "canPurchasePostTicket": 1,
        "canPurchaseWithTicket": 1,
        "categoryCode": "StandardCheckInBaggage",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 16.34,
        "productCode": "SCI_BAG_10KG",
        "segmentIndex": 1,
        "vendorCurrency": "IDR",
        "vendorPrice": 265000
      },
      {
        "ancillaryCode": "SCI_BAG_30KG",
        "auxBaggageElement": {
          "allWeight": true,
          "piece": 0,
          "size": "",
          "weight": 30
        },
        "canPurchasePostTicket": 1,
        "canPurchaseWithTicket": 1,
        "categoryCode": "StandardCheckInBaggage",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 36.06,
        "productCode": "SCI_BAG_30KG",
        "segmentIndex": 1,
        "vendorCurrency": "IDR",
        "vendorPrice": 585000
      },
      {
        "ancillaryCode": "SCI_BAG_20KG",
        "auxBaggageElement": {
          "allWeight": true,
          "piece": 0,
          "size": "",
          "weight": 20
        },
        "canPurchasePostTicket": 1,
        "canPurchaseWithTicket": 1,
        "categoryCode": "StandardCheckInBaggage",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 24.35,
        "productCode": "SCI_BAG_20KG",
        "segmentIndex": 1,
        "vendorCurrency": "IDR",
        "vendorPrice": 395000
      },
      {
        "ancillaryCode": "SCI_BAG_40KG",
        "auxBaggageElement": {
          "allWeight": true,
          "piece": 0,
          "size": "",
          "weight": 40
        },
        "canPurchasePostTicket": 1,
        "canPurchaseWithTicket": 1,
        "categoryCode": "StandardCheckInBaggage",
        "clientTechnicalServiceFee": 0,
        "currency": "USD",
        "maxQty": 1,
        "minQty": 1,
        "price": 48.38,
        "productCode": "SCI_BAG_40KG",
        "segmentIndex": 1,
        "vendorCurrency": "IDR",
        "vendorPrice": 785000
      }
    ],
    "inboundSegments": [],
    "outboundSegments": [
      {
        "aircraftCode": "320",
        "arrAirport": "CGK",
        "arrTerminal": "",
        "arrTime": "202508231100",
        "cabin": "",
        "cabinClass": 1,
        "carrier": "QG",
        "codeShare": false,
        "depAirport": "SIN",
        "depTerminal": "",
        "depTime": "202508231010",
        "duration": 110,
        "fareFamily": "ECO",
        "flightNumber": "QG523",
        "operatingCarrier": "",
        "operatingFlightnumber": "",
        "seatCount": 9,
        "segmentIndex": 1,
        "stopCities": ""
      }
    ]
  }
}

Last updated