# 错误码

{% hint style="info" %}
遇到 API 接入问题时，可登录 [Eva](https://www.atriptech.com/) 寻求帮助。
{% endhint %}

把这个页面作为错误排查总入口。

### 先判断能不能重试

#### 可以直接重试

这些错误通常是超时或瞬时异常。

* `112` Search timed out
* `115` Unexpected results
* `127` Search timeout
* `205` Verify timed out
* `316` Order timed out
* `604` Pass-through card payment failed
* `607` Seat sold out during ticketing
* `705` Query timeout

#### 需要改条件后再重试

这些错误不适合原样立刻重试。

* `108` 航线受限或系统限制
* `110` 并发超限。先退避再试
* `116` 搜索数据写入失败
* `299` / `304` 验价或下单瞬时失败
* `317` / `324` 航司侧异常
* `406` 支付处理中。先查状态
* `415` FR 缺少 `orderCommit.do`
* `616` 需要 3DS。改用非 3DS 卡或 deposit
* `633` 航司拒付。改用 deposit 更稳

#### 不要直接重试

这些错误通常需要先改输入、刷新上下文或停止重复动作。

* 输入问题：`307` `309` `410` `619` `810`
* 需重新搜索或重新验价：`202` `206` `207` `210` `302` `308` `611` `631`
* 账号或配置限制：`104` `105` `106` `109` `111`
* 重复或已支付：`318` `402` `404` `615`

{% hint style="warning" %}
`615` 表示付款可能已经成功，但航司暂未返回 PNR。不要重试 `pay.do`。
{% endhint %}

### 先进入正确分组

* [通用与访问错误](https://resources.atriptech.com/api-wen-dang/pai-zhang-yu-zhi-chi/errors-handing/tong-yong-yu-fang-wen-cuo-wu)
* [搜索错误](https://resources.atriptech.com/api-wen-dang/pai-zhang-yu-zhi-chi/errors-handing/sou-suo-cuo-wu)
* [验价、下单与出票错误](https://resources.atriptech.com/api-wen-dang/pai-zhang-yu-zhi-chi/errors-handing/yan-jia-xia-dan-yu-chu-piao-cuo-wu)
* [支付错误](https://resources.atriptech.com/api-wen-dang/pai-zhang-yu-zhi-chi/errors-handing/zhi-fu-cuo-wu)
* [退款、查询与预订后错误](https://resources.atriptech.com/api-wen-dang/pai-zhang-yu-zhi-chi/errors-handing/tui-kuan-cha-xun-yu-yu-ding-hou-cuo-wu)

### 按流程快速定位

#### 通用与访问

请求在业务处理前失败时，先看这组。

* `900` / `902` 凭证错误或越权访问
* `901` 请求体不是 JSON
* `9999` 平台侧非预期错误

#### 搜索

适用于 `search.do`、`smartSearch.do`、`getOffers.do`。

* 账号限制：`103` `104` `105` `106` `111`
* 流量限制：`109` `110` `123`
* 余额或结算：`107` `124`
* 超时或系统波动：`112` `115` `116` `127`
* 航司状态：`108` `113` `114`

#### 验价

搜索成功后，报价确认失败时看这组。

* 标识符问题：`200` `201` `202`
* 库存变化：`206` `207` `208` `210` `211` `213`
* 请求参数：`212`
* 行李获取失败：`222`
* 平台或航司瞬时异常：`205` `299`

#### 下单

`order.do` 失败时看这组。

* 会话过期：`301`
* 航班、库存或价格变化：`302` `305` `306` `308` `312` `313` `315`
* 乘客或附加服务错误：`307` `309` `310` `311` `320` `323` `327`
* 航司侧异常：`316` `317` `324`
* 重复订单：`318`
* 航司侧 deposit 不足：`326`

#### 支付与出票

`pay.do`、出票轮询和出票结果异常看这组。

* 不应再次支付：`402` `404` `615`
* 支付方式或卡问题：`403` `413` `414` `616` `623`
* 订单前置条件不足：`406` `407` `408` `409` `410` `411` `415`
* 出票阶段变化：`601` `602` `603` `606` `607` `611` `631`
* 风控或航司系统：`613` `632` `633` `634` `699` `6051`

#### 查询、退款与预订后

* 订单查询：`703` `704` `705`
* 退款主流程：`800` `803` `805` `807` `809` `810` `811` `812` `815` `824` `8041`
* 预订后附加服务常见限制：出票未完成、segment 不匹配、ancillary 不支持

### 关键有效期和状态规则

这些问题很常见，但常被误判成平台故障。

* `routingIdentifier` 有效期是 **6 小时**
* `sessionId` 有效期是 **2 小时**
* `refundOfferId` 过期后必须重新取最新值
* `order_status=1` 只是 **TktInProcess**
* 只有 `order_status=2` 才是 **Ticketed**

**推荐做法**

1. 收到 `202` 时，重新搜索，拿新的 `routingIdentifier`
2. 收到 `301` 或 `214` 时，重新验价，拿新的 `sessionId`
3. 付款后看到 `order_status=1`，继续轮询 `orderQuery.do`
4. 轮询间隔建议 `30s`
5. 最大轮询时长建议 `30 分钟`

### 无错误码也要排查集成模式

附件里新增了一批 **behavioral pattern issues**。\
这类问题可能没有错误码，或只返回泛化错误。

#### 高优先级模式

* **停止轮询过早**\
  看到第一次 `TktInProcess` 就停止查询。最终票出了，但客户端永远收不到 `Ticketed`。
* **复用过期 `routingIdentifier`**\
  超过 6 小时继续验价，会稳定触发 `202`。
* **复用过期 `sessionId`**\
  超过 2 小时继续下单，会稳定触发 `301`。
* **没有处理 gzip 解压**\
  响应体看起来像乱码，但其实是客户端没有解压。
* **请求里带了 `Accept: application/json`**\
  这可能让压缩兼容失效。在部分链路上会被兼容处理，但会增加额外开销；在不兼容的链路上，可能触发告警或响应异常。这个问题更常见于生产环境切换不同 API 地址时。排查压缩问题时，先检查客户端是否默认附带了这个请求头。
* **收到 `110` 后立即重试**\
  不做退避会让限流更严重。建议从 `1s` 开始指数退避，最多到 `30s`。
* **跨会话复用 ancillary `productCode`**\
  常见结果是 `309` 或 `409`。应只使用当前验价返回的产品编码。

#### 需要特别注意的支付模式

* **把沙箱凭证用到生产**\
  常见结果是 `900` 或 `902`。
* **收到 `615` 后再次支付**\
  可能造成重复扣款。正确动作是查单，不是重试支付。
* **FR 下单后直接付款**\
  没有先做 `orderCommit.do`，通常会得到 `415`。

#### 架构层面模式

* **只依赖轮询，不配 webhook**\
  会增加负载，也容易漏掉退款、航变和取消。
* **单程权限账号发往返搜索**\
  常见结果是 `103` 或 `104`。

### 推荐排查顺序

1. 先确认失败发生在哪个流程阶段
2. 再判断错误属于哪种重试类别
3. 检查标识符和会话是否过期
4. 重试支付前先查订单状态
5. 如果没有错误码，检查集成模式是否正确
6. 同一问题持续复现时，带上请求上下文升级处理

### 相关页面

* [搜索](https://resources.atriptech.com/api-wen-dang/ji-cheng-zhi-nan/yu-ding-liu-cheng-gai-lan/sou-suo)
* [验价](https://resources.atriptech.com/api-wen-dang/ji-cheng-zhi-nan/yu-ding-liu-cheng-gai-lan/yan-jia)
* [创建订单](https://resources.atriptech.com/api-wen-dang/ji-cheng-zhi-nan/yu-ding-liu-cheng-gai-lan/chuang-jian-ding-dan)
* [支付与出票](https://resources.atriptech.com/api-wen-dang/ji-cheng-zhi-nan/yu-ding-liu-cheng-gai-lan/zhi-fu-yu-chu-piao)
* [查询订单](https://resources.atriptech.com/api-wen-dang/ji-cheng-zhi-nan/yu-ding-liu-cheng-gai-lan/cha-xun-ding-dan)
* [退款](https://resources.atriptech.com/api-wen-dang/ji-cheng-zhi-nan/yu-ding-hou-gai-lan/yu-ding-hou-cao-zuo/tui-kuan)

### 原始错误码表

下面保留原始英文错误码表，便于和 API 返回值逐字对照。

<details>

<summary>展开原始错误码表</summary>

Atlas 使用下面的错误码和对应错误信息。

#### General Error Codes

| Code   | Description                   | Explanation                                                                                                 | Solution                                                                      |
| ------ | ----------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `-1`   | Common error                  |                                                                                                             | Atlas will investigate and add the relevant error code.                       |
| `100`  | Missing required request data | Missing mandatory parameters.                                                                               | Check the mandatory parameters.                                               |
| `900`  | Unauthorized access           | Incorrect credentials Or the account status is incorrect Or try to access other customer's data.            | Check credentials. If the error still persists, contact your account manager. |
| `901`  | illegal request data          | Check the format of request.                                                                                | The request format should be Json.                                            |
| `902`  | Access denied                 | Incorrect credentials Or the account status is incorrect Or you are trying to access other customer's data. | Check credentials. If the error still persists, contact your account manager. |
| `9999` | System error                  | This is unexpected error.                                                                                   | Atlas will investigate and add the relevant error code.                       |

#### Search Error Codes

| Code  | Description                                    | Explanation                                                                                                                                                                                                                | Solution                                                                                                                                        |
| ----- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `101` | Illegal request data                           | Check the format of request.                                                                                                                                                                                               | The format should be Json.                                                                                                                      |
| `102` | Illegal request param: {0}                     | Please check the messages below.                                                                                                                                                                                           |                                                                                                                                                 |
|       | The adult count should not be less than 1      | The adult count is "0".                                                                                                                                                                                                    | Add an adult passenger type.                                                                                                                    |
|       | Allow up to 9 passengers                       | The total number of passengers are more than 9.                                                                                                                                                                            | Reduce the total number of passengers to a maximum of 9.                                                                                        |
|       | Unknown city code                              | The city code is incorrect.                                                                                                                                                                                                | Check and correct the city code.                                                                                                                |
|       | The fromCity or fromAirport must not be empty  | The destination from where the fare needs to be searched is empty.                                                                                                                                                         | Add the city or airport code.                                                                                                                   |
|       | The toCity or toAirport must not be empty      | The destination to where the fare needs to be searched is empty.                                                                                                                                                           | Add the city or airport code.                                                                                                                   |
|       | The fromDate must not be empty                 | The travel start date is empty.                                                                                                                                                                                            | Add the travel start date.                                                                                                                      |
|       | The retDate should not be empty                | The return date is empty for a fare with tripType 2.                                                                                                                                                                       | Add the return date.                                                                                                                            |
|       | Invalid fromDate format                        | The date format is incorrect.                                                                                                                                                                                              | Change the format to YYYYMMDD.                                                                                                                  |
| `103` | Round-trip search is not supported             | Only one-way itineraries can be searched.                                                                                                                                                                                  | Check with your account manager if there is a restriction to your account.                                                                      |
| `104` | Round-trip search is not allowed               | Only one-way fares will be returned. A customer cannot use the tag "2) for "tripType" in search.                                                                                                                           | Check with your account manager if there is a restriction to your account.                                                                      |
| `105` | OD is not in client's round-trip white list    | This city pair has not been whitelisted.                                                                                                                                                                                   | Check with your account manager if there is a restriction to your account.                                                                      |
| `106` | Search is not allowed                          |                                                                                                                                                                                                                            | Check with your account manager if there is a restriction to your account.                                                                      |
| `107` | Insufficient balance                           | The account balance is below the agreed threshold.                                                                                                                                                                         | Top-up your account on a priority.                                                                                                              |
| `108` | Route is restricted / System limitations       | The airline has flights and quotations, but Atlas has closed sales for some reasons. The reasons can be 1) The sales were manually closed 2) The system has detected a risk of sold out 3) Prohibitions on nearby flights. | Try booking after some time.                                                                                                                    |
| `109` | The number of searches exceeded the limit      | The searches per day have exceeded the allowed limit.                                                                                                                                                                      | Check with your account manager if there is a restriction to your account.                                                                      |
| `110` | Too many concurrent requests                   | The QPS (Queries Per Second) is higher than the allowed limit.                                                                                                                                                             | If your business requires more resources, please contact your account manager.                                                                  |
| `111` | Real time search is not allowed                | This feature is not activated for your account.                                                                                                                                                                            | Connect with your account manager if you require this service.                                                                                  |
| `112` | Timed out                                      | The search request has timed-out.                                                                                                                                                                                          | For further details please refer to FAQs --> Atlas API General Information.                                                                     |
| `113` | Airline is under maintenance                   | Airline is in "Inactive" or "Maintenance" status with Atlas. This does not necessarily mean that there is an issue with the Airline website itself.                                                                        | Wait for the status to change to “active”.                                                                                                      |
| `114` | No flights present                             | This may happen when the airline does not fly on that date for the searched city pair.                                                                                                                                     | Check the airline website to see if the flight is operational for that date.                                                                    |
| `115` | Unexpected results                             | System error.                                                                                                                                                                                                              | Try again. If the error persists, raise a service request.                                                                                      |
| `116` | Search data not captured                       | An error was reported during the search data stoprage at Atlas' end.                                                                                                                                                       | If this error is not constantly reported, you can try trying again. If the error persists, then it is necessary to contact the account manager. |
| `123` | Too many requests but too few paid orders      | The service has been blocked as the search requests are too many and the paid orders are very less.                                                                                                                        | Ony search the required city pairs.                                                                                                             |
| `124` | Unsupported settlement currency                | The settlement currency is different than what is accepted by Atlas.                                                                                                                                                       | Change the currency to the currency accepted by Atlas for settlement.                                                                           |
| `126` | requestId does not exist or has already ended. | An incorrect requestId has been used or the requestId is no longer valid.                                                                                                                                                  | Check the requestId or conduct a new Smart Search and use the new requestId.                                                                    |
| `127` | Search timeout                                 | The search has timed-out.                                                                                                                                                                                                  | Conduct a new search.                                                                                                                           |

#### Verify Error Codes

| Code  | Description                      | Explanation                                                                                                                                                                                                                                                                                            | Solution                                                                                                               |
| ----- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `200` | Illegal routing identifier       | The "routingIdentifier" tag's information does not match the routing identifier received in the search response.                                                                                                                                                                                       | Check the routing identifier and resend the verification request with the correct “routingIdentifier”.                 |
| `201` | Invalid routing                  | The airline has flights and quotations, but Atlas has closed sales for some reasons. The reasons can be 1) The sales were manually closed 2) The system has detected a risk of sold out 3) Prohibitions on nearby flights.                                                                             | Try booking after some time.                                                                                           |
| `202` | Routing identifier expired       | The "routingIdentifier" has a validity of 6 hrs. If the “routingIdentifier” is used after this time period, then this error is displayed.                                                                                                                                                              | Conduct “Search” again and use the new “routingIdentifier”.                                                            |
| `203` | Airline closed                   | The airline is no longer is business.                                                                                                                                                                                                                                                                  |                                                                                                                        |
| `205` | Timed out                        | There is a time-out set at Atlas’ end for the verify response. The verify response has taken a longer time.                                                                                                                                                                                            | For further details please refer to FAQs --> Atlas API General Information.                                            |
| `206` | No flights                       | The required flight cannot be found from the airline's side, possibly due to the flight being sold out.                                                                                                                                                                                                | Conduct the search again.                                                                                              |
| `207` | The target flight does not exist | The required flight cannot be found from the airline's side, possibly due to the flight being sold out                                                                                                                                                                                                 | Conduct the search again.                                                                                              |
| `208` | Cabin changed                    | Booking class changed.                                                                                                                                                                                                                                                                                 | Conduct the search again.                                                                                              |
| `209` | Seat Strong Verify failed        | Seat verification during price verification has been enabled.                                                                                                                                                                                                                                          | Contact yopur account manager.                                                                                         |
| `210` | Fare Family sold out             | The flight or the fare family is no longer available with the airline.                                                                                                                                                                                                                                 | Conduct the search again and rebook.                                                                                   |
| `211` | Flight or FareFamily not found   | The flight or the fare family is no longer available with the airline.                                                                                                                                                                                                                                 | Conduct the search again and rebook.                                                                                   |
| `212` | Illegal Request Parameter        | Some parameter missing or additional.                                                                                                                                                                                                                                                                  | Check the verify request.                                                                                              |
| `299` | Verify failed                    | This is an error for which Atlas needs to take action. In some uncontrollable situations, such as network issues, upgrades, and restarts, 299 errors may occur. It is possible that the airline is not available or there are challenges at Atlas' end. Atlas needs to handle these errors internally. | Retry verification. If you get the same error, then start from search. If the error still persists, escalate to Atlas. |

#### Order Error Codes

| Code   | Description                                                                                        | Explanation                                                                                                                                                                                                                                                                                                | Solution                                                                                                                                                        |
| ------ | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `300`  | Invalid session information                                                                        | The "sessionID" is not the right one.                                                                                                                                                                                                                                                                      | Check the session ID and enter the correct one.                                                                                                                 |
| `301`  | Session does not exist or timed out                                                                | The "sessionID" has a validity of 2 hrs. If the “sessionID” is used after this time period, then this error is displayed                                                                                                                                                                                   | Check the session ID and enter the correct one. If the timeframe is over 2 hrs, then start from the verify stage (if less than 6 hrs. of verification response) |
| `302`  | The target flight does not exist                                                                   | In the period between verify and book, the flight has been sold out. This can also be due to the number of passengers booked. The number of pax when booking and the number of pax when verifying may be different. When create a booking, the price is verified based on the actual number of pax booked. | Conduct the search again and rebook.                                                                                                                            |
| `303`  | Airline closed                                                                                     | Airline has either ceased to exist or not operational.                                                                                                                                                                                                                                                     |                                                                                                                                                                 |
| `304`  | Verify failed                                                                                      | In some uncontrollable situations, such as network issues, upgrades, and restarts, 304 error may occur, but not many. If there are many 304 errors, it is possible that the airline is not available or some technical issue at Atlas' end.                                                                | Contact your account manager if this error keeps on repeating.                                                                                                  |
| `305`  | Invalid routing                                                                                    | When generating an order, the system found that the flight was no longer sold for various reasons, such as 1) L2B 2) The system has identified that there may be a risk of the flight being sold out 3) The airline's sales have been closed                                                               | Conduct the search again and rebook.                                                                                                                            |
| `306`  | Cabin changed                                                                                      | Booking class changed.                                                                                                                                                                                                                                                                                     | Conduct the search again.                                                                                                                                       |
| `307`  | Illegal booking request parameters:                                                                | One request parameter has a problem. Please check the message.                                                                                                                                                                                                                                             | Check the error message. Correct the same and resubmit the booking.                                                                                             |
|        | passengers->name                                                                                   | The passenger name seems incorrect.                                                                                                                                                                                                                                                                        | Check the passenger name, correct it and resubmit the booking.                                                                                                  |
|        | passengers->passengerType                                                                          | The passenger type is incorrect.                                                                                                                                                                                                                                                                           | Check the passenger name, correct it and resubmit the booking.                                                                                                  |
|        | passengers->birthday                                                                               | The date of birth is in incorrect format or missing.                                                                                                                                                                                                                                                       | Correct the format and resubmit the booking.                                                                                                                    |
|        | passengers->gender                                                                                 | The gender is incorrect or missing.                                                                                                                                                                                                                                                                        | Correct or add the information and resubmit the booking.                                                                                                        |
|        | passengers->cardExpired                                                                            | The identity card expiry date format is incorrect or missing.                                                                                                                                                                                                                                              | Correct or add the information and resubmit the booking.                                                                                                        |
|        | Additional baggage exceeds limit. Max allowed: 1                                                   | The amount of ancillary baggage is more than the allowed limit.                                                                                                                                                                                                                                            | Correct the baggage quantity and resubmit the booking.                                                                                                          |
|        | Ancillaries not equal to the number of segments(inbound)                                           | The number of segments and ancillaries do not match.                                                                                                                                                                                                                                                       | Check the ancillaries and segments and resubmit the booking.                                                                                                    |
|        | XXX field not valid                                                                                | The field is not correctly entered.                                                                                                                                                                                                                                                                        | Check the field and resubmit the request.                                                                                                                       |
| `308`  | Price changed                                                                                      |                                                                                                                                                                                                                                                                                                            | Regenerate booking or create an entirely new booking.                                                                                                           |
| `309`  | Ancillary not found                                                                                | Incorrect ancillary product code has been entered.                                                                                                                                                                                                                                                         | Check and enter the correct ancillary product code.                                                                                                             |
| `310`  | Infant not allowed                                                                                 |                                                                                                                                                                                                                                                                                                            | Create a new booking without infant passenger type. The infant passenger can be added “offline” via the airline website.                                        |
| `311`  | Seat Strong Verify failed                                                                          | Check verify response for maximum seats allowed.                                                                                                                                                                                                                                                           | Adjust the passenger numbers as per the verification response and create a new booking.                                                                         |
| `312`  | Too many seats booked                                                                              | The number of pax booked exceeds the remaining (or allowed) seats on the current flight.                                                                                                                                                                                                                   | Rebook the itinerary.                                                                                                                                           |
| `313`  | Fare family sold out                                                                               |                                                                                                                                                                                                                                                                                                            | Create a new booking.                                                                                                                                           |
| `314`  | Unable to regenerate order: The original order is ticketing or ticketed                            |                                                                                                                                                                                                                                                                                                            | Check the order with the same passenger and flight details.                                                                                                     |
| `315`  | Not enough seats                                                                                   | Seats have been sold out                                                                                                                                                                                                                                                                                   | Rebook the itinerary                                                                                                                                            |
| `316`  | Timed out                                                                                          | There is a time-out error at the airline’s end. Please check the FAQs (General Information) for more details regarding timeouts.                                                                                                                                                                           | Rebook the itinerary.                                                                                                                                           |
| `317`  | Booking unsuccessful with Airline                                                                  | An error has happened at the airline’s end.                                                                                                                                                                                                                                                                | Rebook the itinerary.                                                                                                                                           |
| `318`  | Duplicate Booking                                                                                  |                                                                                                                                                                                                                                                                                                            | Check if a booking with the same passenger details and flight numbers exists. After confirming, ignore this booking.                                            |
| `320`  | The requested seats were not found or they are already occupied.                                   |                                                                                                                                                                                                                                                                                                            | Rebook seats and submit a new order.                                                                                                                            |
| `324`  | Airline system issues                                                                              |                                                                                                                                                                                                                                                                                                            | Retry after some time. If the issue persists, please contact our operations team.                                                                               |
| `326`  | Your account balance on the airline side is insufficient                                           | The deposit balance for the BYOA customer is invalid in the account held with the relevant airline.                                                                                                                                                                                                        | Top-up the balance and then retry after the balance has been updated.                                                                                           |
| `327`  | Passenger information does not meet the requirements.                                              | All the mandatory requirements have not been fulfilled.                                                                                                                                                                                                                                                    | Check the booking requirements from the verfy response and ensure that all the requirements have been fulfilled.                                                |
| `410`  | Use the correct format "XXXX-XXXXXXXX" for contact phone. Example: 0001-87291810, 0086-13928109091 | Incorrect phone number format.                                                                                                                                                                                                                                                                             | Check the phone number format and rectify the same.                                                                                                             |
| `6051` | The passenger is on government-imposed credit blacklist                                            | The passenger is on "No fly" list of the government.                                                                                                                                                                                                                                                       | Inform the passenger and cancel the order.                                                                                                                      |

#### Payment Error Codes

| Code  | Description                                                                                        | Explanation                                                                                                                                                | Solution                                                                                  |
| ----- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `400` | Illegal request param                                                                              | Some request parameters are illegal. For the specific reason(s), check the "msg" field returned by the API.                                                | Adjust the parameters based on the error message and re-invoke the API.                   |
| `401` | Time out of payment                                                                                | Payment for the booking was initiated later than the payment deadline. The default payment deadline is 30 minutes after creating the order.                | Regenerate the existing order or create a new booking.                                    |
| `402` | Order status does not support payment                                                              | The order status maybe “ticketing” or “ticketed” where the payment has already been made.                                                                  | Check if the order has been paid. If “yes”, do not send the payment request.              |
| `403` | Unsupported payment method                                                                         | The payment method is not supported for this airline.                                                                                                      | Change to an alternative payment method.                                                  |
| `404` | The order is already paid                                                                          | The order has already been paid.                                                                                                                           | Check if the order has been paid. If “yes”, do not send the payment request.              |
| `406` | Payment operation is in progress                                                                   | The previous payment request is still in process.                                                                                                          | Wait for the airline PNR to be received in the PNR details response.                      |
| `407` | Some error messages indicating incorrect passenger information                                     | Some mandatory element for the passenger has not been submitted.                                                                                           | Check the information and correct the same and resubmit.                                  |
| `408` | Passenger can not board alone                                                                      | Only a child passenger is booked in this order.                                                                                                            | Create a new order and add an adult passenger with the child passenger.                   |
| `409` | Additional baggage does not match the flight segmemt                                               | The “productCode” of the additional baggage does not match the product codes available for this flight.                                                    | Check the “productCode” and update it with the correct code.                              |
| `410` | Use the correct format "XXXX-XXXXXXXX" for contact phone. Example: 0001-87291810, 0086-13928109091 | The contact information is not in the correct format.                                                                                                      | Check the contact information and confirm that it matches the required format.            |
| `411` | Generic payment error                                                                              | The error happened when we checked your account. For example, “not enough balance”.                                                                        | Check the balance or as per the message received in the error.                            |
| `413` | Card is not supported.                                                                             | When paying with MoR, the card type passed in is not within the range supported by Atlas.                                                                  | Change a card.                                                                            |
| `414` | Card mismatch.                                                                                     | The card type is inconsistent with the (**cardType**) passed in when generating the order.                                                                 | Change a card to make it consistent with the card type passed in when creating the order. |
| `415` | Order is not confirmed by user.                                                                    | When integration with FR, it is necessary to call the **orderCommit.do** API creating the order (**order.do**) and before making the payment (**pay.do**). |                                                                                           |

#### Seat Availability Codes

| Code  | Description                                        | Explanation                                                    | Solution                                                                                  |
| ----- | -------------------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `214` | Session ID invalid or expired                      | Session ID invalid or expired.                                 | Send a new seat availability request                                                      |
| `216` | Seat selection failed                              | Fail to get seat availability information.                     | Try after some time. If the problem persists, please raise a service request.             |
| `217` | Unknown error                                      | Unknown error                                                  |                                                                                           |
| `218` | The airline don’t support seat selection currently | Seat selection is not available for this airline at the moment | Check with your account manager when seat availability will be supported for this airline |

#### Ticket Error Codes

| Code  | Description                                                                                               | Explanation                                                                                                                                                                                             | Solution                                                                                                                                                         |
| ----- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `601` | Fare changed                                                                                              |                                                                                                                                                                                                         |                                                                                                                                                                  |
| `602` | Flight not found                                                                                          | The flight is no longer available on the airlines platform.                                                                                                                                             | Create a new booking.                                                                                                                                            |
| `603` | Flight sold out                                                                                           | The flight is sold out, and there are no available seats. This occurred after the payment was completed but before the ticket was issued.                                                               | Create a new booking.                                                                                                                                            |
| `604` | Pass-through card payment failed                                                                          | VCC not accepted by the airline.                                                                                                                                                                        | Try a different card for payment.                                                                                                                                |
| `605` | Incorrect passenger information                                                                           | The information in the "passengers" array is incorrect.                                                                                                                                                 | Check the passenger details and resubmit after correction.                                                                                                       |
| `606` | Flight information updated                                                                                | Between search and book, the airline made a schedule change for the same flight number.                                                                                                                 | Start from search again.                                                                                                                                         |
| `607` | Seat sold out                                                                                             |                                                                                                                                                                                                         | Start from search again.                                                                                                                                         |
| `608` | Duplicate booking                                                                                         |                                                                                                                                                                                                         | Check if a booking with the same passenger details and flight numbers exists. After confirming, ignore this booking.                                             |
| `609` | Contact email is blocked by airline                                                                       | Airline has blocked your email id as per their policy.                                                                                                                                                  | Create a new booking with a different email id OR provide authority to Atlas to use Atlas’ email id. Please refer to “Atlas API Order” FAQs for further details. |
| `611` | PNR canceled or expired                                                                                   | The PNR has been cancelled by the airline or the payment exceeds the time-limit.                                                                                                                        | Start from search again.                                                                                                                                         |
| `613` | Rejected by Airline Risk Control                                                                          | The airline has blocked the order as per their business rules.                                                                                                                                          | Try making a payment with a different VCC. If the issue persists, due the "deposit" to make the payment.                                                         |
| `614` | Wrong age                                                                                                 | The age of the child passenger is not correct.                                                                                                                                                          | Check the age and resubmit the booking.                                                                                                                          |
| `615` | Payment completed but failed to get the PNR number from the airline                                       | Sometimes for the VCC payment, the airline fails to respond and hence the PNR is not received. In such a scenario, Atlas will deal with the airline manually and get the PNR and add it to the booking. |                                                                                                                                                                  |
| `616` | 3DS Authetication                                                                                         | The card used requires a 3DS authentication. Atlas does not support this feature at the moment.                                                                                                         | Use a different card which does not have 3DS authentication OR pay via deposit mode of payment.                                                                  |
| `617` | Insufficient balance                                                                                      | The deposit balance is below the minimum threshold.                                                                                                                                                     | Check your balance and top-up on a priority.                                                                                                                     |
| `618` | Baggage weight cannot match with airline                                                                  | The weight of the baggage does not include one of the options which the airline has.                                                                                                                    | Check with the Atlas ops team                                                                                                                                    |
| `619` | Missing payment information                                                                               | Some information in the pay.do request is missing/incorrect.                                                                                                                                            | Check the pay.do request and resubmit.                                                                                                                           |
| `620` | Abnormal return fare type                                                                                 | Roundtrip fares are limited to basic by the airline and cannot be combined with other fare types.                                                                                                       | Book only one-way itineraries or create 1 booking per direction.                                                                                                 |
| `621` | Infant not supported                                                                                      | Atlas does not suppport the "infant" passenger type for this airline.                                                                                                                                   | Create a new booking without the infant passenger.                                                                                                               |
| `623` | Insufficient card balance/card consumption limit                                                          | The VCC provided has insufficient balance/card consumption limit.                                                                                                                                       | Please pay using a different VCC with sufficient card balance.                                                                                                   |
| `624` | Round trip is not supported temporarily                                                                   | Roundtrip functionality for this airline is currently not supported                                                                                                                                     | Book 2 one way as separate orders.                                                                                                                               |
| `625` | ffp Manual Issuance.                                                                                      | Frequent flyer is not supported and at the moment and can only be handled manually.                                                                                                                     |                                                                                                                                                                  |
| `626` | There are unpaid services in the current order.                                                           | The airline identied that there were unpaid transactions under this PNR, leading to subsequent business operations failure..                                                                            | Make payment for any unpaid orders                                                                                                                               |
| `627` | The current order does not support post-ticketing ancillary purchase.                                     | Post-ticketing ancillaries are not allowed for this order.                                                                                                                                              | Remove the ancillaries and create a new order.                                                                                                                   |
| `628` | The flight information of the post-ticketing ancillary purchase order does not match the original flight. | The flight details are incorrect.                                                                                                                                                                       | Check the flight details and create a new order.                                                                                                                 |
| `631` | Baggage fare changed.                                                                                     | The baggage price has changed at the time of fulfillment.                                                                                                                                               | Start the process from verify.                                                                                                                                   |
| `632` | Baggage fare changed.                                                                                     | Ticketing failed due to airline risk control.                                                                                                                                                           | Start the process from verify. If the problem still exists please contact our operations team.                                                                   |
| `633` | Payment declined by airline.                                                                              | Payment declined due to airline risk control.                                                                                                                                                           | Use "deposit" as the payment mode and retry.                                                                                                                     |
| `634` | Airline system issues                                                                                     |                                                                                                                                                                                                         | Create a new order. If the issue persists, please contact our operations team.                                                                                   |
| `699` | System issues.                                                                                            |                                                                                                                                                                                                         | Retry after some time. If the issue persists, please contact support.                                                                                            |

#### Query Order Error Codes

| Code  | Description                                                                                         | Explanation                                                           | Solution                                                                  |
| ----- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `701` | Multi-order are identified, please request again with extra parameters added                        | More than 1 order having the same Record Locator has been identified. | Add the additional parameters and try again.                              |
| `702` | airlinePNR and carrier are mandatory to fill in for order retrieval, please check and request again | The record locator and the airline code are mandatory in the request. | Add the mentioned parameters and try again.                               |
| `703` | No order found, please check the parameter                                                          | The order number does not seem to be correct.                         | Check the order number and try again.                                     |
| `704` | Parameters don't match, please check and retry                                                      | The parameters entered are not correct.                               | Check the parameters, correct them and try again.                         |
| `705` | Timeout                                                                                             | The response has timed-out                                            | Try again after some time. If the issue persists, please contact support. |
| `800` | Order does not exist                                                                                | The relevant order does not exist.                                    | Please re-check the order number and retry.                               |

#### Refund Quotation Error Codes

| Code   | Description                                                                          | Explanation                                                                           | Solution                                                                                     |
| ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `801`  | Order does not exist                                                                 | Incorrect order number has been entered.                                              | Check the order number and enter the correct one.                                            |
| `802`  | Children cannot travel alone                                                         | Only ADT pax cannot be refunded. The CHD pax should also be refunded together.        | Request refund for the full order including child passenger.                                 |
| `803`  | The passengers have already submitted a refund for a pax and/or segment              | Incorrect order number has been entered.                                              | Check the order number and enter the correct one.                                            |
| `807`  | Passenger does not exist.                                                            | Incorrect passenger name has been entered.                                            | Check the passenger name and correct the same, if required.                                  |
| `809`  | Order not ticketed.                                                                  | The ticket issuance for this order is under process or the payment has not been made. | Wait for the order to be ticketed or make a payment for this order.                          |
| `810`  | Illegal request param: xxx                                                           | One of the request parameters is incorrect.                                           | Check the request and correct the required parameter.                                        |
| `811`  | Completed itineraries are not entered. Please enter the full itinerary and retry.    | This can happen due to a variety of reasons.                                          | Check if any of the scenarios listed below are applicable and take relevant action.          |
|        |                                                                                      | For a roundtrip itinerary, the full ticket needs to be refunded.                      | If the ticket is fully unused, please enter details of the whole itinerary and retry.        |
|        |                                                                                      | For connecting flights, both the segments need to be refunded together.               | Check if both the segments are available in the request and retry.                           |
|        |                                                                                      | One sector has been flown in the journey.                                             | Check with the airline. Atlas does not support the refund for "partially" flown itineraries. |
| `812`  | Unable to match pax xxx with order.                                                  | The name of the passenger does not match with the order.                              | Check the rpassenger name and resubmit the request.                                          |
| `815`  | Ticket not found.                                                                    |                                                                                       | Check the ticket number and retry.                                                           |
| `824`  | Refund not supported for ancillary orders. Please provide the original order number. | Only the main order is allowed for refund.                                            | Check and confirm whether the order number is of the original order.                         |
| `902`  | Access denied.                                                                       |                                                                                       |                                                                                              |
| `8041` | Segment does not exist.                                                              | One of the segments in the request does not exist.                                    | Check the segments and only provide the segments for that refund request.                    |

#### Refund Submission Error Codes

| Code   | Description                                                                          | Explanation                                                                           | Solution                                                                                        |
| ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `801`  | Order does not exist                                                                 | Incorrect order number has been entered.                                              | Check the order number and enter the correct one.                                               |
| `802`  | Children cannot travel alone                                                         | Only ADT pax cannot be refunded. The CHD pax should also be refunded together.        | Request refund for the full order including child passenger.                                    |
| `803`  | The passengers have already submitted a refund for a pax and/or segment              | Incorrect order number has been entered.                                              | Check the order number and enter the correct one.                                               |
| `805`  | RefundOfferId has expired.                                                           | The “refundOfferId” has expired.                                                      | Send a new refund request to get the latest “refundOfferId”.                                    |
| `807`  | Passenger does not exist.                                                            | Incorrect passenger name has been entered.                                            | Check the passenger name and correct the same, if required.                                     |
| `809`  | Order not ticketed.                                                                  | The ticket issuance for this order is under process or the payment has not been made. | Wait for the order to be ticketed or make a payment for this order.                             |
| `810`  | Illegal request param: xxx                                                           | One of the request parameters is incorrect.                                           | Check the request and correct the required parameter.                                           |
| `811`  | Completed itineraries are not entered. Please enter the full itinerary and retry.    | This can happen due to a variety of reasons.                                          | Check if any of the scenarios listed below are applicable and take relevant action.             |
|        |                                                                                      | For a roundtrip itinerary, the full ticket needs to be refunded.                      | If the ticket is fully unused, please enter details of the whole itinerary and retry.           |
|        |                                                                                      | For connecting flights, both the segments need to be refunded together.               | Check if both the segments are available in the request and retry.                              |
|        |                                                                                      | One sector has been flown in the journey.                                             | Check with the airline. Atlas does not support the refund for "partially" flown itineraries.    |
| `812`  | Unable to match pax xxx with order.                                                  | The name of the passenger does not match with the order.                              | Check the rpassenger name and resubmit the request.                                             |
| `814`  | The refund submission is in progress. Please wait.                                   | The refund process is in progress. Please wait for some time.                         | Retry after some time. If the problem keeps on repeating, please contact your account manager.  |
| `815`  | Ticket not found.                                                                    |                                                                                       | Check the ticket number and retry.                                                              |
| `816`  | Refund request already submitted.                                                    | The refund request has already been submitted.                                        | No action required. You may check the refund status using the queryRefundOrders.do API request. |
| `817`  | Atlas refund applied.                                                                | The refund request has already been submitted.                                        | No action required. You may check the refund status using the queryRefundOrders.do API request. |
| `818`  | Refund claim applied.                                                                | The refund claim has already been submitted.                                          | No action required. You may check the refund status using the queryRefundOrders.do API request. |
| `820`  | Ticket status is used.                                                               | The sector has already been flown.                                                    | Check is the sector has been flown. Contact our ops team if the sector has not been flown.      |
| `821`  | Exceed the ticket refund deadline.                                                   | The refund submission has been done after the refund deadline.                        | Contact our ops team if you have any questions.                                                 |
| `822`  | Exceed the ticket void deadline.                                                     | The void submission has been done after the deadline.                                 | Contact our ops team if you have any questions.                                                 |
| `823`  | Void not all pax.                                                                    |                                                                                       |                                                                                                 |
| `824`  | Refund not supported for ancillary orders. Please provide the original order number. | Only the main order is allowed for refund.                                            | Check and confirm whether the order number is of the original order.                            |
| `902`  | Access denied.                                                                       |                                                                                       |                                                                                                 |
| `905`  | Submission is too frequent, please try again later.                                  |                                                                                       |                                                                                                 |
| `8041` | Segment does not exist.                                                              | One of the segments in the request does not exist.                                    | Check the segments and only provide the segments for that refund request.                       |

#### Refund Query Error Codes

| Code  | Description                | Explanation                                 | Solution                                              |
| ----- | -------------------------- | ------------------------------------------- | ----------------------------------------------------- |
| `801` | Order does not exist       | Incorrect order number has been entered.    | Check the order number and enter the correct one.     |
| `810` | Illegal request param: xxx | One of the request parameters is incorrect. | Check the request and correct the required parameter. |
| `902` | Access denied.             |                                             |                                                       |

#### Post-booking Ancillary Search Error Codes

| Code  | Description                                                               | Explanation                                                               | Solution                                                                                           |
| ----- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `117` | Baggage is not allowed for this order as it is not in the ticketed status | The ticket has still not been issued.                                     | Wait for the status to changhe to "ticketed" and then search for ancillary.                        |
| `118` | Atlas currently does not support seat or baggage for this airline         |                                                                           | Check with the airline for ancillary baggage or open a Service Request with Atlas for the same.    |
| `119` | Baggage or seat selection is not supported for orders with infants        | There is an infant passenger in the booking.                              | Book ancillary baggage directly with the airline or open a Service Request with Atlas for the same |
| `120` | Baggage or seat selection for the flight has been closed                  | The airline no longer accepts the addition for ancillary for that flight. | Check with the airline or open a Service Request with Atlas for the same.                          |

#### Post-booking Ancillary Order Error Codes

| Code  | Description                                                                              | Explanation                                                                         | Solution                                                                                                   |
| ----- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `501` | Add purchase not allowed                                                                 | Ancillary addition is not allowed for this order.                                   | Check with the airline or open a Service Request with Atlas for the same.                                  |
| `502` | The price has increased, and the order creation has failed. Please perform a new search. | There is a price change from the time the ancillary order search was conducted.     | Search ancillary order again.                                                                              |
| `503` | Incorrect baggage selection                                                              | Please check the messages below.                                                    |                                                                                                            |
|       | Adding the same type of baggage repeatedly.                                              | Each passenger can only select one baggage per segment.                             | Remove duplicate baggage of the same type.                                                                 |
|       | Baggage for different segments of an itinerary is inconsistent.                          | For some airlines in each itinerary, the baggage for each segment must be the same. | Make the baggage for each segment in this itinerary consistent.                                            |
|       | Product code does not match the segment search results.                                  | The product code must match the segment search results.                             | Use the correct product code from the search results.                                                      |
| `504` | Additional baggage not allowed. Ancillary baggage already exists in the original order   | Atlas only allows the attachment of ancillary baggage only once                     | Book ancillary baggage directly with the airline or open a Service Request with Atlas for the same         |
| `505` | Additional baggage not allowed. Baggage already booked as post-ticket ancillary.         | Atlas only allows the attachment of ancillary baggage only once                     | Book ancillary baggage directly with the airline or open a Service Request with Atlas for the same         |
| `506` | Seat selection is not supported for orders with infants                                  | There is an infant passenger in the booking.                                        | Book ancillary baggage or seat directly with the airline or open a Service Request with Atlas for the same |

</details>
