> 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/errors-handing/verify-order-and-ticketing-errors.md).

# Verify, Order & Ticketing Errors

Use this page when failures happen after search and before final ticketing completes.

### Verify-stage codes

#### `200` Illegal routing identifier

The `routingIdentifier` does not match a valid search result.

**Action**

* Use the latest identifier from search
* Do not modify the value

#### `202` Routing identifier expired

The identifier is older than 6 hours.

**Action**

* Run search again
* Use the new `routingIdentifier`

#### `206` / `207` No flights or target flight does not exist

Inventory changed after search.

**Action**

* Start from search again

#### `210` / `211` Fare family sold out or not found

Fare or cabin is no longer available.

**Action**

* Search again and re-select a valid offer

### Order-stage codes

#### `300` Invalid session information

The `sessionId` is wrong.

**Action**

* Use the `sessionId` returned by verify

#### `301` Session does not exist or timed out

The verification session is older than 2 hours.

**Action**

* If verify is still recent, repeat verify
* Otherwise start from search

#### `307` Illegal booking request parameters

One or more order fields are invalid.

This also includes inconsistent baggage selections across connected segments in the same direction.

Atlas may return baggage options per segment, but order validation still treats one direction as a single baggage choice for connecting flights.

**Action**

* Check `msg` for the exact invalid field
* Keep baggage consistent across all connected segments in each direction
* Resubmit after correction

#### `308` Price changed

Pricing changed between verify and order.

**Action**

* Restart from search or verify
* Reconfirm current price before booking

#### `309` Ancillary not found

The ancillary product code is invalid or outdated.

**Action**

* Re-read ancillary options from verify
* Use returned `productCode` values only

#### `312` / `315` Too many seats booked or not enough seats

Inventory changed or requested seat count exceeds availability.

**Action**

* Reduce seats or restart from search

#### `318` Duplicate booking

A booking with the same passenger and flight details may already exist.

**Action**

* Query existing orders before retrying

### Ticketing-stage codes

#### `602` / `603` Flight not found or sold out

The fare became unavailable after payment.

**Action**

* Start a new booking flow

#### `609` Contact email is blocked by airline

The airline rejected the supplied contact email.

**Action**

* Use another email
* Or use Atlas-generated contact email flow

#### `613` Payment rejected by airline risk control

The airline blocked fulfillment.

**Action**

* Try another card
* Or retry with deposit mode

#### `616` 3DS authentication required

Atlas cannot complete 3DS card authentication in this flow.

**Action**

* Use a non-3DS card
* Or pay with deposit mode

#### `617` Insufficient balance

Atlas deposit balance is too low at ticketing time.

**Action**

* Top up the account and retry

### Related pages

* [Verify](/api-document/readme/booking-overview/verify.md)
* [Create Order](/api-document/readme/booking-overview/create-order.md)
* [Payment & Ticketing](/api-document/readme/booking-overview/payment-and-ticketing.md)
* [Query Order](/api-document/readme/booking-overview/query-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/errors-handing/verify-order-and-ticketing-errors.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.
