Atlas API Order
Does the OrderAPI
hold the inventory? If yes, then for how long?
OrderAPI
hold the inventory? If yes, then for how long?We allow you to hold the inventory and guarantee the price for 30 mins after an order is generated. If the payment is not made during these 30 minutes, the price guarantee is void.
Can we release the inventory which is on hold at our end?
The Atlas API holds the inventory after the OrderAPI
calls. We have a built-in mechanism to release the inventory after 30 minutes have passed. Different airlines have different mechanisms to release inventory; hence we cannot provide partner agencies with a function to request the release of inventory.
Which email id can we use in the contact details in the booking?
In the booking request, you can use your email id on all your bookings or you can use the passenger's email id. Some airlines block bookings if they are consistently coming from the same email id.
To counter the issue of blockage of bookings by airlines, Atlas has developed an in-house process for their customers' benefit. A new tag has been introduced in the "order.do" API request denoting whether to use Atlas email id for contact information.
This tag is "useAtlasMailForContact". When "true" then "Use Atlas email as contact email" and when "false" then "Use customer email as contact email".
When a booking request has been received with "true" in the "useAtlasMailForContact", Atlas will create a unique email id for that booking and send it to the airlines. The responses to the Atlas created email id will be available in the "Bookings" section in the "Email List" in ATRIP. Atlas will endeavour to provide the email from the airlines in the "Email List" section of ATRIP, though, Atlas will not guarantee the notification as Atlas may not always receive the same from the airline or the email service provider.
When a booking request has been received with "false" in the "useAtlasMailForContact", Atlas will create the booking with the email id received in the "order.do" request to the airlines. If such bookings are blocked by the airline, Atlas will cancell the bookings at their end. An error code 321 will be returned with the message "Contact email is blocked by airline".
Can we use our VCC to book a round-trip itinerary created by 2 one-way fares?
Atlas uses 2 one-way fares to construct round-trip journeys when 2 one-way fares are cheaper than a real round-trip. When our customers use VCC for their bookings, it is their intent to use the same for the return journeys constructed using 2 one-way fares also.
This can be achieved with the below process:
The element 'allowGenerateMultipleOrders' has been added to the "order.do" request.
**allowGenerateMultipleOrders
boolean **Optional
allowGenerateMultipleOrders
boolean **Optionaltrue: Allow
false: Not allowed (default)
When the "allowGenerateMultipleOrders= true" element is sent in the "order.do" request for roundtrip bookings, the workflow will be as below:
Atlas will check if we can also issue a roundtrip fare for this booking. If yes, then we will follow the already existing workflow and logic to give you the response.
If we CANNOT issue a roundtrip for this booking, then we will generate two orders for you, with the 'orderNo' format as "TBASA20220123212500763, KYASA20220123212500764". Please use comma to split the order number.
The "queryOrderDetails" function can be called to get the details of each booking. The "supportCreditTransPayment" tag can still be checked to identify if this new booking accepts credit card or not.
**supportCreditTransPayment
int **Required
supportCreditTransPayment
int **Required1: Prepayment Only
3: Both Credit Card Payment and Prepayment Available
When the customer finishes the payment at your end, you can call pay function for both orders (one call for each) to finish the payment to Atlas and waiting for the ticket to be issued.
The flow will be as below:
Order
Then, Retrieve booking1 --> Payment1
Retrieve booking2 --> Payment2
The orders must be retrieved separately and then payment made for each order. The retrieval and payment can be made in any order and the 1st order need not be the one to be paid for first.
This functionality is for all roundtrip itineraries whether pre-payment or VCC payment and is applicable for the same carrier as well as different carriers in a booking.
How do we add "ancillaries" element when the itinerary has a transfer point?
When there are 2 or more segments in "fromSegments" or "toSegments" in the "verify" response, the order also needs to have as many "segmentIndex" elements in the "ancillaries" array.
If this condition is not met, then the booking would fail.
Example:
fromSegments (verify response):
{
"fromSegments": [ {
"carrier": "5J",
"flightNumber": "5J580",
"depAirport": "CEB",
"depTime": "202304240000",
"arrAirport": "MNL",
"arrTime": "202304240130",
"stopCities": "",
"duration": 90,
"codeShare": false,
"cabin": "Z",
"cabinClass": 1,
"seatCount": 4,
"aircraftCode": "",
"depTerminal": "",
"arrTerminal": "",
"operatingCarrier": "",
"operatingFlightnumber": "",
"fareFamily": "GO Basic"
},
{
"carrier": "5J",
"flightNumber": "5J018",
"depAirport": "MNL",
"depTime": "202304241025",
"arrAirport": "DXB",
"arrTime": "202304241530",
"stopCities": "",
"duration": 545,
"codeShare": false,
"cabin": "Z",
"cabinClass": 1,
"seatCount": 4,
"aircraftCode": "",
"depTerminal": "",
"arrTerminal": "",
"operatingCarrier": "",
"operatingFlightnumber": "",
"fareFamily": "GO Basic"
}
ancillaries (order request):
"ancillaries":[ {
"productCode":"SCI_BAG_1PC_20KG",
"segmentIndex":"1"
},
{
"productCode":"SCI_BAG_1PC_20KG",
"segmentIndex":"2"
}
In the above example, 20kg ancillary baggage is allowed between CEB - DXB. As this is a itinerary with a via point, there are 2 segments and hence both the segments should be accounted for in the "ancillaries" array as shown above.
{
"cid": "tviin65428",
"sessionId": "baea976c-b5cb-4374-9a21-3adddf39c854",
"passengers": [
{
"name": "shao/tingjun",
"passengerType": 0,
"birthday": "19910105",
"gender": "M",
"cardNum": "330226199101051272",
"cardType": "PP",
"cardIssuePlace": "CN",
"cardExpired": "20220413",
"nationality": "CN"
}
],
"contact": {
"name": "tingjunshao",
"address": "",
"postcode": "",
"email": "[email protected]",
"mobile": "+8615951711432"
},
"useAtlasMailForContact": true,
"allowGenerateMultipleOrders": true
}
Last updated
Was this helpful?