> 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/troubleshooting-and-support/faqs/atlas-api-search-and-book.md).

# Search & Booking

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

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

Use this page for search response, pricing, and booking timing questions.

Start here when you need to:

* choose between `search.do` and `getOffers.do`
* understand why displayed price changed before booking
* confirm safe timing between search, verify, and order

### FAQ

#### When should we use `search.do` and when should we use `getOffers.do`?

Use `search.do` when Atlas is your main shopping entry point.

Use `getOffers.do` when you already know the target itinerary or need an independent price check.

### Can users switch display currency?

No.\
Pricing is returned in the agreed contractual currency.

### Why is tax breakdown missing in some search results?

Many LCCs do not provide tax split data during booking or in the PNR.\
Atlas can only expose the breakdown when the airline provides it.

### What does `TransactionFeePerPax` mean?

It is the Atlas technical service fee charged per passenger.\
It is separate from airfare and tax.\
It is non-refundable.

### Why are fields like `bookingclass` or `farebasis` missing?

Many LCCs do not return those values.\
Use `cabin` when available.\
Do not assume GDS-style fare data exists for every airline.

### How many results does search return?

Search returns all available offers by default.\
Default sorting is lowest fare first.

### When should we use `getOffers.do` instead of `search.do`?

Use `search.do` when Atlas is your main shopping entry point.\
Use `getOffers.do` when you already know the target itinerary or need an independent price check.

`getOffers.do` is a better fit for external shopping engines and final price validation flows.

### Why can search and verify return different prices?

Search may use cached data.\
Verify checks live fare and availability before order creation.

If the price changed, use the verify result as the current source of truth.\
For Get Offer flows, refresh the offer before ordering when needed.

#### What is the safest timing between search, verify, and order?

Up to 6 hours between search and verify is allowed.

Up to 2 hours between verify and order is allowed.

Shorter is safer in both cases.

### What does `seatCount` mean?

It is the remaining seat count for the fare.\
Atlas caps the practical maximum at 4 because larger LCC bookings fail more often.

### How long can we wait between search and verification?

Up to 6 hours is allowed.\
Shorter is better because prices may change.

### Does Atlas support fare families?

Yes.\
Enable `includeMultipleFareFamily` in search when you need fare-family results.

Availability still depends on airline support and current inventory.

### Can we filter baggage during search?

No.\
Choose the itinerary first.

Then query baggage options with `getLuggage.do` when baggage matters before booking.

See [Baggage](/api-document/readme/booking-overview/baggage.md).

### What 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](/api-document/readme/booking-overview/seats-and-baggage.md) for the current support scope.

### Can we call `seatAvailability.do` with flight information only?

No.

Use a valid `sessionId` from `verify.do` or `OfferId` from `getOffers.do`.

`seatAvailability.do` no longer supports independent mode.

If your upstream seat request only contains flight data, match it to a cached `sessionId` first.

### How long can we wait between verification and order?

Up to 2 hours is allowed.\
Shorter is better because pricing and availability may change.

### Can passenger count change between search and order?

Yes, if there is still at least one adult traveler.\
But keeping the same count across search, verification, and order is safer.

Changing count after verification increases failure risk because verification checks live inventory.

### Does `getOffers.do` require `verify.do`?

Not in the standard Get Offer flow.\
That path is built around the returned `OfferId` and then continues to `order.do`.

Use the Get Offer guide and current API reference when implementing that path.

#### When should we refresh a Get Offer result?

Refresh it when passenger count, target flight, expected fare, or booking timing changed.

Do not create an order from stale offer assumptions.

### When should we refresh a Get Offer result?

Refresh it when any booking-critical input changes.\
Examples include passenger count, target flight, expected fare, or long delays before order creation.

Avoid creating the order from stale offer assumptions.

### Related pages

* [Search](/api-document/readme/booking-overview/search.md)
* [Get Offer](/api-document/readme/booking-overview/get-offer.md)
* [Verify](/api-document/readme/booking-overview/verify.md)
* [Create Order](/api-document/readme/booking-overview/create-order.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://resources.atriptech.com/api-document/troubleshooting-and-support/faqs/atlas-api-search-and-book.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
