For the complete documentation index, see llms.txt. This page is also available as Markdown.

Orders & Ticketing

Common Atlas API order and ticketing questions about hold time, contact email, polling, split orders, and ancillaries.

💬 Need help? If you're stuck, ask Eva in the Help Center for instant diagnostics.

Ask Eva

Use this page for order hold, contact email, split orders, and ancillary mapping questions.

Start here when you need to:

  • understand what happens after order.do

  • confirm how to handle pay.do and ticketing polling

  • decide how to work with airline PNR, split orders, or ancillaries

FAQ

Does order.do hold inventory and price?

Yes.

Atlas holds inventory and price for 30 minutes after order creation.

If payment is not completed in that window, the hold expires.

This 30-minute rule applies to the standard booking flow.

Orders created from getOfferPrice.do use a 5-minute Fulfilment API window instead.

What changes for Fulfilment API orders?

Fulfilment API orders created from getOfferPrice.do are designed for immediate payment after order creation.

The operational payment and ticketing window is 5 minutes.

After the request is accepted, Atlas continues fulfilment processing even if your own booking orchestration is interrupted.

Can we manually release held inventory?

No. Atlas releases it automatically after the hold period.

Which payment paths are available for Fulfilment API orders?

Fulfilment API supports deposit and VCC pass-through.

This gives you two operational payment paths.

If one path is unavailable, you can switch to the other when the current order state still allows it.

Which email should we send in booking contact details?

You can use either:

  • the traveler email

  • your agency email

  • an Atlas-generated email

Some airlines block repeated bookings from the same email address. To reduce that risk, use useAtlasMailForContact.

What does useAtlasMailForContact do?

  • true: Atlas generates a unique booking email and sends that to the airline

  • false: Atlas uses the email you send in order.do

When Atlas-generated email is used, airline replies may appear in ATRIP email records. Delivery is best effort, not guaranteed.

If your own email is blocked by the airline, Atlas may cancel the booking and return error 321.

Do we need to poll after pay.do?

Yes.

Payment and ticket issuance are not always the same moment.

Use queryOrderDetails.do until the order reaches the final ticketed state.

Webhook can help, but it should not be your only confirmation path.

Is pnrCode the airline PNR?

No. pnrCode is the Atlas booking reference.

The airline PNR is returned later in order query after the airline generates it.

How should we handle split orders for round trips?

Use allowGenerateMultipleOrders: true when the itinerary may split into separate one-way orders.

Read each returned orderNo separately and pay each supported order separately.

When do airline PNR and ticket numbers appear?

They appear after ticketing completes. Read them from paxTicketInfos.airlinePNRs and ticketNos in order query.

What should we do if ticketing is still processing?

Do not retry payment blindly. Query the order state first.

Wait for final orderStatus and ticketStatus, or reconcile with webhook events if configured.

How fast are Fulfilment API failure alerts sent?

Failure alerts are issued within 6 minutes after ticketing failure is confirmed.

Use queryOrderDetails.do as the source of truth for the final order state.

Which seat selection scenarios are supported?

Atlas supports seat selection for airlines that support Atlas API seat capability.

Atlas supports Atlas-issued orders and seat selection purchased with the ticket in the booking flow.

Atlas does not support non-Atlas-issued orders or post-ticketing seat selection.

See Seats for the current support scope.

Can VCC be used for a round trip built from two one-way fares?

Yes, but the booking may split into two separate orders.

Use:

  • allowGenerateMultipleOrders: true

If Atlas cannot issue the itinerary as one round trip, it may return two comma-separated orderNo values.

How should split-order payment work?

  1. Create the order with allowGenerateMultipleOrders: true

  2. Read each returned order separately

  3. Call payment separately for each order

Check payment support for each returned order before paying.

How should ancillaries be sent for connecting flights?

Every flown segment must have its own segmentIndex entry.

If verification returns two segments, the order request must also include two ancillary entries when the product applies to both segments.

How should ancillaries be mapped for connecting flights?

Map ancillaries at the flown-segment level.

If a product applies to two segments, send one entry per segmentIndex.

Example

If one baggage product applies across a two-segment journey, send:

Last updated

Was this helpful?