> For the complete documentation index, see [llms.txt](https://resources.atriptech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resources.atriptech.com/api-document/product-guides/booking/booking-step-guides/query-order.md).

# Query Order

{% hint style="info" %}
💬 **Need help?** If you're stuck, ask Eva in the Help Center for instant diagnostics.

<a href="https://www.atriptech.com/" class="button primary" data-icon="comments">Ask Eva</a>
{% endhint %}

Use this page to check the latest booking state.

This is the standard follow-up step after `pay.do`.

If you need polling rules and timing guidance, use [Post-payment polling](/api-document/product-guides/booking/booking-step-guides/query-order/post-payment-polling.md).

Start here when you need to:

* track ticketing after `pay.do`
* confirm whether an order is already paid or ticketed
* read airline PNR and ticket details after fulfilment

### FAQ

#### When should I call `queryOrderDetails.do`?

Call it after `order.do` or `pay.do` when you need the latest order state.

Use it as the main follow-up API until the booking reaches the final state.

#### What should I check in the order query response?

Check `orderStatus`, `ticketStatus`, airline PNR details, and ticket numbers.

Use these fields to confirm whether ticketing is still in progress or already complete.

### Main API

* `queryOrderDetails.do`

### Use this when you need

* Poll ticketing progress
* Retrieve booking and passenger details
* Confirm airline PNR and final status

### Common checks

* `orderStatus`
* `ticketStatus`
* Airline PNR details
* Ancillary and fare data

### What does order query help you decide?

Use it to decide:

* whether payment should be retried or not
* whether ticketing is still processing
* whether airline PNR and ticket numbers are already available
* whether post-booking actions can start

### Best practice

Use `queryOrderDetails.do` as the main status source after payment.

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

If payment may already be in progress or completed, query the order before any retry.

### Fulfilment-flow follow-up

If the order came from `getOfferPrice.do`, monitor it more aggressively.

Use order query to confirm whether the order is still ticketing, already ticketed, or already cancelled by timeout.

Do not keep retrying payment when the order is already close to the 5-minute fulfilment deadline.

### Related pages

* [Payment & Ticketing](/api-document/product-guides/booking/booking-step-guides/payment-and-ticketing.md)
* [Post-ticketing Ancillaries](/api-document/product-guides/post-booking/post-ticketing-ancillaries.md)
* [Webhook Overview](/api-document/product-guides/extensions-and-integrations/webhook-overview.md)
* [Booking APIs](/api-document/api-reference/booking-apis.md)

### Full API reference

See endpoint-level details here:

* [Query Order](/api-document/api-reference/booking-apis/query-order.md)
