> 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-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing.md).

# 错误码

{% hint style="info" %}
💬 **需要帮助？** 如果遇到问题，请在帮助中心咨询 Eva，快速获取诊断建议。

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

使用此页面决定是否重试、从更早的步骤重新开始，或在另一次支付调用前停止。

当您需要以下内容时，从这里开始：

* 识别错误代码通常的含义
* 决定请求是否安全可重试
* 快速跳转到正确的故障排除页面

大多数团队应首先识别失败的步骤。

然后判断问题是由输入、标识符过期、库存变化、支付状态还是平台条件引起的。

### 快速解答

#### 我应该重试这个 Atlas API 错误吗？

仅在失败明显是暂时性的时候重试。

超时、短暂的负载高峰以及某些航司侧故障通常是可重试的。

输入错误、过期标识符、过期的附加服务和重复支付风险则不可重试。

#### 哪些错误通常需要新的标识符？

诸如 `202`、`206`、`207`、`210`、`301`、`302`、`308` 和 `631` 等代码通常意味着当前预订上下文不再有效。

从正确的更早步骤重新开始，而不是重新提交相同的标识符。

#### 何时应避免重试 `pay.do`？

当订单可能已经支付、正在出票或等待航司确认时，不要重试支付。

对于 `402`、`404`、`406` 和 `615` 等情况，先检查订单状态。

#### `getOfferPrice.do` 订单有什么变化？

在履约流程中，更积极地处理支付和出票失败。

有效窗口是 5 分钟，而不是标准的 30 分钟保留模型。

仅在确认订单仍然可支付且仍在有效窗口内后重试。

### 快速找到正确的错误指南

使用与失败阶段匹配的页面。

#### 请求在业务处理前失败

从[常见与访问错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/common-and-access-errors.md)开始。

用于无效 JSON、缺少字段、凭证失败或访问问题。

#### 搜索失败

从[搜索错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/search-errors.md)开始。

用于超时、QPS 限制、路由限制或空结果。

#### 验证、订单或出票失败

从[验证、订单与出票错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/verify-order-and-ticketing-errors.md)开始。

用于过期标识符、过时定价、无效预订输入或出票阶段失败。

#### 支付失败

从[支付错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/payment-errors.md)开始。

用于重复支付风险、不支持的支付方式、VCC 失败或 FR 确认缺失。

#### 退款、查询或预订后失败

从[退款、查询与预订后错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/refund-query-and-post-booking-errors.md)开始。

用于订单查找问题、退款时机、过期退款报价或附加服务限制。

### 所有错误指南

* [常见与访问错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/common-and-access-errors.md)
* [429 vs 110](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/429-vs-110.md)
* [搜索错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/search-errors.md)
* [验证、订单与出票错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/verify-order-and-ticketing-errors.md)
* [支付错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/payment-errors.md)
* [退款、查询与预订后错误](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/refund-query-and-post-booking-errors.md)

### 429 请求限制处理

Atlas 可能会以 Atlas 错误代码 `429` 拒绝超限的预订前请求。

此策略适用于以下池：

* `search.do` 使用 `10 QPS`
* `verify.do` 和 `getOffers.do` 共享 `60 QPM`
* `seatAvailability.do` 和 `getLuggage.do` 共享 `60 QPM`

`order.do` 和 `pay.do` 不在此策略范围内。

#### 响应字段

返回 `429` 时使用这些字段：

* `code` — 错误代码
* `message` — 错误摘要
* `limitType` — 活动的限制桶
* `limit` — 当前配置的限制
* `retryAfter` — 重试前的等待时间（秒）

#### 响应示例

```json
{
  "code": 429,
  "message": "Rate limit exceeded. Please retry after the current window resets",
  "limitType": "SEARCH_QPS",
  "limit": 1,
  "retryAfter": 1
}
```

使用[API 请求限制](/api-wen-dang/product-guides/booking/booking-overview/api-request-limits.md)获取完整策略、计数规则和池映射。

#### 计入限制的内容

以下请求会计入：

* 成功的请求
* 无结果的请求
* 业务失败和航司失败
* 缓存命中响应

以下请求不计入：

* 已被请求限制治理拒绝的请求
* 身份验证失败
* 参数验证失败
* 权限或安全策略拒绝
* 幂等性阻止的从未进入业务处理的重复请求

### 重试策略

在每次重试前使用此规则：

* **是**：立即或在短暂延迟后重试
* **部分**：仅在更改条件后重试
* **否**：先修复输入、流程或账户设置

典型的"部分"情况：

* `429`：等待 `retryAfter`，然后以较低频率重试
* `110`：在重试前添加回退
* `406`：等待正在进行的支付完成
* `415`：先完成 `orderCommit.do`
* `616` 或 `633`：切换支付方式
* `108`、`113`、`324`：稍后重试，不要立即重试

{% hint style="warning" %}
如果支付可能已经开始或完成，在重试前查询订单状态。
{% endhint %}

{% hint style="warning" %}
对于 `getOfferPrice.do` 订单，不要使用通用重试循环。

一旦履约窗口即将耗尽，停止重试。
{% endhint %}

### 快速决策表

当您需要快速确定下一步操作时，使用此表。

| 代码    | 通常含义                          | 可重试性 | 下一步操作                              |
| ----- | ----------------------------- | ---- | ---------------------------------- |
| `429` | 超出请求限制                        | 部分   | 等待 `retryAfter` 并降低请求频率            |
| `107` | 余额低于允许阈值                      | 否    | 充值账户，然后重试                          |
| `108` | 路由暂时受限或关闭                     | 部分   | 稍后重试，不要立即重试                        |
| `110` | 达到搜索 QPS 限制                   | 部分   | 添加指数退避，然后重试                        |
| `112` | 搜索超时                          | 是    | 短暂等待后重试                            |
| `123` | 搜索量对于付费订单来说过高                 | 否    | 减少不必要的搜索流量                         |
| `126` | 智能搜索 `requestId` 无效或过期        | 否    | 开始新的智能搜索                           |
| `127` | 搜索超时且请求已结束                    | 是    | 运行新的搜索                             |
| `202` | `routingIdentifier` 在 6 小时后过期 | 否    | 重新运行搜索并使用新的标识符                     |
| `205` | 验证超时                          | 是    | 短暂等待后重试验证                          |
| `206` | 搜索后航班不再可用                     | 否    | 从搜索重新开始                            |
| `210` | 票价家族已售罄                       | 否    | 从搜索重新开始并重新预订                       |
| `222` | 验证期间行李查询失败                    | 部分   | 重试验证，如果重复则升级                       |
| `299` | 因暂时性平台问题导致验证失败                | 部分   | 重试验证一次，如果需要则从搜索重新开始                |
| `301` | `sessionId` 在 2 小时后过期         | 否    | 重新运行 `verify.do` 并获取新的会话           |
| `302` | 验证和订单之间航班变更或售罄                | 否    | 从搜索重新开始并重新预订                       |
| `307` | 预订输入无效                        | 否    | 修复请求字段并重新提交                        |
| `308` | 验证和订单之间价格变更                   | 否    | 重新生成或重新启动预订流程                      |
| `309` | 附加服务 `productCode` 无效或过时      | 否    | 使用当前验证响应中的 `productCode`           |
| `316` | 预订期间航司侧超时                     | 是    | 短暂等待后重试预订流程                        |
| `317` | 航司侧预订失败                       | 部分   | 小心重试，如果重复则升级                       |
| `324` | 订单期间航司系统问题                    | 部分   | 稍后重试，如果重复则联系运营团队                   |
| `406` | 支付正在进行中                       | 部分   | 等待并在重试前查询订单状态                      |
| `409` | 行李 `productCode` 与航段不匹配       | 否    | 重新检查附加服务映射并重新提交                    |
| `410` | 联系电话格式无效                      | 否    | 修复电话格式并重新提交                        |
| `411` | 由于余额或账户检查导致支付失败               | 否    | 首先验证余额和支付输入                        |
| `415` | FR 订单未确认                      | 部分   | 先调用 `orderCommit.do`，然后重试 `pay.do` |
| `604` | 航司拒绝了 VCC                     | 是    | 使用不同的有效卡重试                         |
| `615` | 支付成功但航司 PNR 仍在等待中             | 否    | 不要重试支付；改为监控订单状态                    |
| `616` | 卡需要 3DS 验证                    | 是    | 使用非 3DS 卡或存款模式                     |
| `617` | 出票时存款余额过低                     | 否    | 在重试前充值余额                           |
| `631` | 行李票价在履约期间变更                   | 否    | 从验证重新开始                            |
| `633` | 航司因风险控制拒绝支付                   | 部分   | 使用存款模式或另一张有效卡重试                    |
| `703` | 未找到订单                         | 否    | 重新检查订单查找值                          |
| `705` | 订单查询超时                        | 是    | 短暂等待后重试                            |
| `805` | `refundOfferId` 过期            | 否    | 请求新的退款报价                           |
| `809` | 在出票完成前尝试退款                    | 否    | 等待出票完成                             |
| `811` | 退款请求缺少必需的行程航段                 | 否    | 提交完整行程                             |
| `824` | 对附加服务订单请求退款                   | 否    | 使用原始主订单号                           |

在依赖完整的传统表之前，对于按流程的详细处理，请先使用上面的分类页面。

{% hint style="warning" %}
不要将每个错误都视为可重试的。

某些错误需要新的标识符。 某些错误需要新的预订流程。 某些错误绝不能触发另一次支付调用。
{% endhint %}

### 高风险错误

以下情况导致最多的可避免的重复失败：

#### `110` 太多并发请求

不要立即重试。

添加指数退避。 从大约 `1s` 开始。 上限大约 `30s`。

#### `429` 超出请求限制

不要立即重试。

首先等待返回的 `retryAfter` 值。

然后减少突发大小、重用缓存，并减慢下一波重试。

#### `202` 路由标识符过期

不要使用相同的 `routingIdentifier` 重试 `verify.do`。

`routingIdentifier` 在 `search.do` 后最长有效 6 小时。

首先重新运行搜索。

#### `301` 会话不存在或已超时

不要重用相同的 `sessionId`。

`sessionId` 在 `verify.do` 后最长有效 2 小时。

重新运行 `verify.do` 以获取新的会话。

#### `406` 支付操作正在进行中

不要在一个支付请求仍在运行时发送另一个。

等待并查询订单状态。

#### `615` 支付完成但未能获取 PNR

**不要**重试支付。

Atlas 将手动跟进 PNR。 使用订单查询监控状态。

#### `415` 用户未确认订单

常见于 FR 流程。

在 `pay.do` 之前调用 `orderCommit.do`。

### 基于模式的检查

如果错误本身不能解释失败原因，请检查集成模式：

* 在首次 `TktInProcess` 后停止轮询
* 重用了过期的 `routingIdentifier`
* 重用了过期的 `sessionId`
* 跨会话重用了附加服务 `productCode`
* 沙箱和生产凭证混合使用
* 未配置 webhook，仅使用轮询作为唯一状态来源

当问题是由实施行为引起，而不仅仅是错误代码时，使用相关的流程页面。

### 推荐的故障排除顺序

1. 识别失败的流程
2. 检查问题是与输入、库存、标识符过期、支付还是平台相关
3. 判断代码是否可重试（是/部分/否）
4. 仅在失败是真正暂时性时重试
5. 如果相同错误重复出现，附上请求上下文升级

### 常见初步检查

* 验证凭证和账户访问
* 确认必填字段存在
* 确认标识符是新鲜的
* 在重试支付前查询订单状态
* 在重试搜索、订单或退款流程前检查余额

### 快速重试参考

#### 立即或在短暂延迟后重试

示例：

* `112`
* `115`
* `127`
* `205`
* `316`
* `604`
* `607`
* `705`

#### 仅在更改条件后重试

示例：

* `429`
* `108`
* `110`
* `116`
* `299`
* `304`
* `317`
* `324`
* `406`
* `415`
* `633`

#### 在输入或流程修复前不要重试

示例：

* `307`
* `309`
* `410`
* `619`
* `810`

#### 不要使用相同的标识符重试

示例：

* `202`
* `206`
* `207`
* `210`
* `302`
* `308`
* `611`
* `631`

#### 不要重试支付

示例：

* `318`
* `402`
* `404`
* `615`

### 常见问题

#### Atlas API 错误代码通常帮助我决定什么？

它们帮助您判断失败是由请求输入、过期标识符、库存变化、支付状态还是暂时性平台条件引起的。

在仅依赖完整的传统表之前，请先使用上述流程特定的指南。

#### 哪些 Atlas API 错误代码通常可以安全重试？

典型的可重试情况包括短暂超时或暂时性平台条件，如 `112`、`127`、`205`、`316` 和 `705`。

始终在需要时应用退避，并避免盲目重试循环。

`429` 仅在返回的 `retryAfter` 延迟之后且以较低的请求频率重试。

当您需要区分请求限制治理和搜索并发压力时，使用 [429 vs 110](/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/429-vs-110.md)。

#### 哪些错误代码意味着我需要新的标识符或新的流程？

诸如 `202`、`206`、`207`、`210`、`301`、`302`、`308` 和 `631` 等代码通常意味着当前标识符、库存状态或预订上下文不再有效。

在这些情况下，从正确的更早步骤重新开始，而不是重新提交相同的请求。

#### 支付错误后我应该重试 `pay.do` 吗？

不总是。

对于 `406`，等待并先查询订单。

对于 `402`、`404` 或 `615`，在确认实际订单状态前不要重试支付。

对于 `616` 或 `633`，先更改支付条件。

对于 `getOfferPrice.do` 订单，还要确认重试仍然符合履约截止时间。

### 完整传统代码表

当您需要原始的完整代码目录时，使用下面的完整表。

Atlas 使用以下 **Enum** 存储**错误代码**和相应的**错误消息**。

**通用错误代码**

| 代码                                    | 描述       | 说明                            | 解决方案                     |
| ------------------------------------- | -------- | ----------------------------- | ------------------------ |
| <mark style="color:blue;">-1</mark>   | 通用错误     |                               | Atlas 将调查并添加相关错误代码。      |
| <mark style="color:blue;">100</mark>  | 缺少必需请求数据 | 缺少必填参数。                       | 检查必填参数。                  |
| <mark style="color:blue;">900</mark>  | 未授权访问    | 凭证不正确或账户状态不正确或尝试访问其他客户的数据。    | 检查凭证。如果错误仍然存在，请联系您的客户经理。 |
| <mark style="color:blue;">901</mark>  | 非法请求数据   | 检查请求格式。                       | 请求格式应为 JSON。             |
| <mark style="color:blue;">902</mark>  | 访问被拒绝    | 凭证不正确或账户状态不正确或您正在尝试访问其他客户的数据。 | 检查凭证。如果错误仍然存在，请联系您的客户经理。 |
| <mark style="color:blue;">9999</mark> | 系统错误     | 这是意外错误。                       | Atlas 将调查并添加相关错误代码。      |

**搜索错误代码**

| 代码                                   | 描述                          | 说明                                                                  | 解决方案                                   |
| ------------------------------------ | --------------------------- | ------------------------------------------------------------------- | -------------------------------------- |
| <mark style="color:blue;">101</mark> | 非法请求数据                      | 检查请求格式。                                                             | 格式应为 JSON。                             |
| <mark style="color:blue;">102</mark> | 非法请求参数：{0}                  | 请检查下面的消息。                                                           |                                        |
|                                      | 成人数量不能少于 1                  | 成人数量为"0"。                                                           | 添加成人乘客类型。                              |
|                                      | 最多允许 9 名乘客                  | 乘客总数超过 9 人。                                                         | 将乘客总数减少到最多 9 人。                        |
|                                      | 未知城市代码                      | 城市代码不正确。                                                            | 检查并更正城市代码。                             |
|                                      | fromCity 或 fromAirport 不能为空 | 需要搜索票价的出发地为空。                                                       | 添加城市或机场代码。                             |
|                                      | toCity 或 toAirport 不能为空     | 需要搜索票价的目地地为空。                                                       | 添加城市或机场代码。                             |
|                                      | fromDate 不能为空               | 旅行开始日期为空。                                                           | 添加旅行开始日期。                              |
|                                      | retDate 不应为空                | 行程类型为 2 时返回日期为空。                                                    | 添加返回日期。                                |
|                                      | fromDate 格式无效               | 日期格式不正确。                                                            | 将格式改为 YYYYMMDD。                        |
| <mark style="color:blue;">103</mark> | 不支持往返搜索                     | 只能搜索单程行程。                                                           | 如果您的账户有限制，请联系您的客户经理。                   |
| <mark style="color:blue;">104</mark> | 不允许往返搜索                     | 仅返回单程票价。客户不能在搜索中对"tripType"使用值"2"。                                  | 如果您的账户有限制，请联系您的客户经理。                   |
| <mark style="color:blue;">105</mark> | OD 不在客户的往返白名单中              | 该城市对尚未被列入白名单。                                                       | 如果您的账户有限制，请联系您的客户经理。                   |
| <mark style="color:blue;">106</mark> | 不允许搜索                       |                                                                     | 如果您的账户有限制，请联系您的客户经理。                   |
| <mark style="color:blue;">107</mark> | 余额不足                        | 账户余额低于约定阈值。                                                         | 优先充值您的账户。                              |
| <mark style="color:blue;">108</mark> | 路由受限 / 系统限制                 | 航司有航班和报价，但 Atlas 因某些原因关闭了销售。原因可能是 1) 手动关闭销售 2) 系统检测到售罄风险 3) 邻近航班限制。 | 过段时间再尝试预订。                             |
| <mark style="color:blue;">109</mark> | 搜索次数超出限制                    | 每天的搜索次数已超出允许限制。                                                     | 如果您的账户有限制，请联系您的客户经理。                   |
| <mark style="color:blue;">110</mark> | 太多并发请求                      | QPS（每秒查询数）高于允许限制。                                                   | 如果您的业务需要更多资源，请联系您的客户经理。                |
| <mark style="color:blue;">111</mark> | 不允许实时搜索                     | 此功能未为您的账户激活。                                                        | 如果您需要此服务，请联系您的客户经理。                    |
| <mark style="color:blue;">112</mark> | 超时                          | 搜索请求已超时。                                                            | 更多详情请参阅常见问题 --> Atlas API 通用信息。        |
| <mark style="color:blue;">113</mark> | 航司正在维护中                     | 航司在 Atlas 中处于"非活跃"或"维护中"状态。这不一定意味着航司网站本身有问题。                        | 等待状态变为"活跃"。                            |
| <mark style="color:blue;">114</mark> | 无航班                         | 可能原因：- 该航司在搜索的城市对日期没有航班。                                            | 查看航司网站，确认该日期是否有航班运营。                   |
| <mark style="color:blue;">115</mark> | 意外结果                        | 系统错误。                                                               | 重试。如果错误仍然存在，提交服务请求。                    |
| <mark style="color:blue;">116</mark> | 搜索数据未捕获                     | Atlas 端存储搜索数据时报告错误。                                                 | 如果此错误不是持续报告，您可以重试。如果错误仍然存在，则需要联系客户经理。  |
| <mark style="color:blue;">123</mark> | 请求太多但付费订单太少                 | 由于搜索请求过多而付费订单太少，服务已被阻止。                                             | 仅搜索需要的城市对。                             |
| <mark style="color:blue;">124</mark> | 不支持的结算货币                    | 结算货币与 Atlas 接受的货币不同。                                                | 将货币更改为 Atlas 接受的结算货币。                  |
| <mark style="color:blue;">126</mark> | requestId 不存在或已结束           | 使用了错误的 requestId 或 requestId 不再有效。                                  | 检查 requestId 或进行新的智能搜索并使用新的 requestId。 |
| <mark style="color:blue;">127</mark> | 搜索超时                        | 搜索已超时。                                                              | 进行新的搜索。                                |

**验证错误代码**

| 代码                                   | 描述         | 说明                                                                                             | 解决方案                                       |
| ------------------------------------ | ---------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------ |
| <mark style="color:blue;">200</mark> | 非法路由标识符    | "routingIdentifier"标签的信息与搜索响应中收到的路由标识符不匹配。                                                     | 检查路由标识符，并使用正确的"routingIdentifier"重新发送验证请求。 |
| <mark style="color:blue;">201</mark> | 无效路由       | 航司有航班和报价，但 Atlas 因某些原因关闭了销售。原因可能是 1) 手动关闭销售 2) 系统检测到售罄风险 3) 邻近航班限制。                            | 过段时间再尝试预订。                                 |
| <mark style="color:blue;">202</mark> | 路由标识符过期    | "routingIdentifier"有效期为 6 小时。如果在此时间段后使用"routingIdentifier"，则显示此错误。                             | 重新进行"搜索"并使用新的"routingIdentifier"。          |
| <mark style="color:blue;">203</mark> | 航司已关闭      | 航司已停止运营。                                                                                       |                                            |
| <mark style="color:blue;">205</mark> | 超时         | Atlas 端为验证响应设置了超时时间。验证响应耗时较长。                                                                  | 更多详情请参阅常见问题 --> Atlas API 通用信息。            |
| <mark style="color:blue;">206</mark> | 无航班        | 航司侧无法找到所需航班，可能是由于航班已售罄。                                                                        | 重新进行搜索。                                    |
| <mark style="color:blue;">207</mark> | 目标航班不存在    | 航司侧无法找到所需航班，可能是由于航班已售罄。                                                                        | 重新进行搜索。                                    |
| <mark style="color:blue;">208</mark> | 舱等变更       | 预订舱等已变更。                                                                                       | 重新进行搜索。                                    |
| <mark style="color:blue;">209</mark> | 座位强验证失败    | 价格验证期间的座位验证已启用。                                                                                | 联系您的客户经理。                                  |
| <mark style="color:blue;">210</mark> | 票价家族已售罄    | 航班或票价家族在航司侧不再可用。                                                                               | 重新进行搜索并重新预订。                               |
| <mark style="color:blue;">211</mark> | 未找到航班或票价家族 | 航班或票价家族在航司侧不再可用。                                                                               | 重新进行搜索并重新预订。                               |
| <mark style="color:blue;">212</mark> | 非法请求参数     | 某些参数缺失或多余。                                                                                     | 检查验证请求。                                    |
| <mark style="color:blue;">299</mark> | 验证失败       | 这是需要 Atlas 采取行动的错误。在某些不可控情况下，如网络问题、升级和重启，可能会发生 299 错误。可能是航司不可用或 Atlas 端存在问题。Atlas 需要在内部处理这些错误。 | 重试验证。如果遇到相同错误，则从搜索重新开始。如果错误仍然存在，升级到 Atlas。 |

**订单错误代码**

| 代码                                    | 描述                                                             | 说明                                                                               | 解决方案                                                      |
| ------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------- |
| <mark style="color:blue;">300</mark>  | 无效会话信息                                                         | "sessionID"不正确。                                                                  | 检查会话 ID 并输入正确的 ID。                                        |
| <mark style="color:blue;">301</mark>  | 会话不存在或已超时                                                      | "sessionID"有效期为 2 小时。如果在此时间段后使用"sessionID"，则显示此错误。                               | 检查会话 ID 并输入正确的 ID。如果时间超过 2 小时，则从验证阶段重新开始（如果验证响应后不到 6 小时）。 |
| <mark style="color:blue;">302</mark>  | 目标航班不存在                                                        | "在验证和预订之间，航班已售罄。这也可能是由于预订的乘客数量导致的。预订时的乘客人数和验证时的乘客人数可能不同。创建预订时，价格基于实际预订的乘客人数进行验证。 | 重新进行搜索并重新预订。                                              |
| <mark style="color:blue;">303</mark>  | 航司已关闭                                                          | 航司已停止存在或不再运营。                                                                    |                                                           |
| <mark style="color:blue;">304</mark>  | 验证失败                                                           | 在某些不可控情况下，如网络问题、升级和重启，可能会发生 304 错误，但数量不会很多。如果有很多 304 错误，可能是航司不可用或 Atlas 端存在技术问题。 | 如果此错误持续重复，请联系您的客户经理。                                      |
| <mark style="color:blue;">305</mark>  | 无效路由                                                           | 生成订单时，系统发现航班因各种原因不再销售，例如 1) L2B 2) 系统已识别出航班可能售罄的风险 3) 航司销售已关闭。                   | 重新进行搜索并重新预订。                                              |
| <mark style="color:blue;">306</mark>  | 舱等变更                                                           | 预订舱等已变更。                                                                         | 重新进行搜索。                                                   |
| <mark style="color:blue;">307</mark>  | 非法预订请求参数：                                                      | 一个请求参数有问题。请检查消息。                                                                 | 检查错误消息。更正相同问题并重新提交预订。                                     |
|                                       | passengers->name                                               | 乘客姓名似乎不正确。                                                                       | 检查乘客姓名，更正后重新提交预订。                                         |
|                                       | passengers->passengerType                                      | 乘客类型不正确。                                                                         | 检查乘客类型，更正后重新提交预订。                                         |
|                                       | passengers->birthday                                           | 出生日期格式不正确或缺失。                                                                    | 更正格式并重新提交预订。                                              |
|                                       | passengers->gender                                             | 性别不正确或缺失。                                                                        | 更正或添加信息并重新提交预订。                                           |
|                                       | passengers->cardExpired                                        | 身份证到期日期格式不正确或缺失。                                                                 | 更正或添加信息并重新提交预订。                                           |
|                                       | 额外行李超出限制。最大允许：1                                                | 附加行李数量超出允许限制。                                                                    | 更正行李数量并重新提交预订。                                            |
|                                       | 附加服务与航段数量不匹配（入境）                                               | 航段和附加服务数量不匹配。                                                                    | 检查附加服务和航段，并重新提交预订。                                        |
|                                       | 一个方向内相连航段的行李选择不一致                                              | 对于中转航班，同一去程或回程方向的所有航段必须选择相同的行李。API 可能按航段返回行李选项，但订单验证会检查整个方向。                     | 在该方向的所有相连航段中使用相同的行李选择，然后重新提交预订。                           |
|                                       | XXX 字段无效                                                       | 字段输入不正确。                                                                         | 检查字段并重新提交请求。                                              |
| <mark style="color:blue;">308</mark>  | 价格变更                                                           |                                                                                  | 重新生成预订或创建全新的预订。                                           |
| <mark style="color:blue;">309</mark>  | 未找到附加服务                                                        | 输入的附加服务产品代码不正确。                                                                  | 检查并输入正确的附加服务产品代码。                                         |
| <mark style="color:blue;">310</mark>  | 不允许婴儿乘客                                                        |                                                                                  | 创建不包含婴儿乘客类型的新预订。婴儿乘客可以通过航司网站在"线下"添加。                      |
| <mark style="color:blue;">311</mark>  | 座位强验证失败                                                        | 检查验证响应以获取最大允许座位数。                                                                | 根据验证响应调整乘客人数并创建新预订。                                       |
| <mark style="color:blue;">312</mark>  | 预订座位过多                                                         | 预订的乘客人数超出当前航班剩余（或允许）的座位数。                                                        | 重新预订行程。                                                   |
| <mark style="color:blue;">313</mark>  | 票价家族已售罄                                                        |                                                                                  | 创建新预订。                                                    |
| <mark style="color:blue;">314</mark>  | 无法重新生成订单：原始订单正在出票或已出票                                          |                                                                                  | 使用相同的乘客和航班详情检查订单。                                         |
| <mark style="color:blue;">315</mark>  | 座位不足                                                           | 座位已售罄。                                                                           | 重新预订行程。                                                   |
| <mark style="color:blue;">316</mark>  | 超时                                                             | 航司端发生超时错误。有关超时的更多详情，请查看常见问题（通用信息）。                                               | 重新预订行程。                                                   |
| <mark style="color:blue;">317</mark>  | 与航司预订不成功                                                       | 航司端发生错误。                                                                         | 重新预订行程。                                                   |
| <mark style="color:blue;">318</mark>  | 重复预订                                                           |                                                                                  | 检查是否存在具有相同乘客详情和航班号的预订。确认后，忽略此预订。                          |
| <mark style="color:blue;">320</mark>  | 请求的座位未找到或已被占用                                                  |                                                                                  | 重新预订座位并提交新订单。                                             |
| <mark style="color:blue;">324</mark>  | 航司系统问题                                                         |                                                                                  | 过段时间重试。如果问题仍然存在，请联系我们的运营团队。                               |
| <mark style="color:blue;">326</mark>  | 您在航司侧的账户余额不足                                                   | BYOA 客户在相关航司账户中的存款余额无效。                                                          | 充值余额，然后在余额更新后重试。                                          |
| <mark style="color:blue;">327</mark>  | 乘客信息不符合要求                                                      | 未满足所有强制要求。                                                                       | 从验证响应中检查预订要求，确保所有要求已满足。                                   |
| <mark style="color:blue;">410</mark>  | 使用正确格式"XXXX-XXXXXXXX"作为联系电话。示例：0001-87291810, 0086-13928109091 | 电话号码格式不正确。                                                                       | 检查电话号码格式并进行修正。                                            |
| <mark style="color:blue;">6051</mark> | 乘客在政府信用黑名单中                                                    | 乘客在政府的"禁飞"名单中。                                                                   | 通知乘客并取消订单。                                                |

**支付错误代码**

| 代码                                   | 描述                          | 说明                                                                          | 解决方案                       |
| ------------------------------------ | --------------------------- | --------------------------------------------------------------------------- | -------------------------- |
| <mark style="color:blue;">400</mark> | 非法请求参数                      | 某些请求参数非法。具体原因请查看 API 返回的"msg"字段。                                            | 根据错误消息调整参数并重新调用 API。       |
| <mark style="color:blue;">401</mark> | 支付超时                        | 预订的支付启动时间晚于支付截止时间。默认支付截止时间是订单创建后 30 分钟。                                     | 重新生成现有订单或创建新预订。            |
| <mark style="color:blue;">402</mark> | 订单状态不支持支付                   | 订单状态可能为"正在出票"或"已出票"，说明已支付。                                                  | 检查订单是否已支付。如果"是"，不要发送支付请求。  |
| <mark style="color:blue;">403</mark> | 不支持的支付方式                    | 此航司不支持该支付方式。                                                                | 更换为其他支付方式。                 |
| <mark style="color:blue;">404</mark> | 订单已支付                       | 订单已支付。                                                                      | 检查订单是否已支付。如果"是"，不要发送支付请求。  |
| <mark style="color:blue;">406</mark> | 支付操作正在进行中                   | 上一个支付请求仍在处理中。                                                               | 等待在 PNR 详情响应中收到航司 PNR。     |
| <mark style="color:blue;">407</mark> | 指示乘客信息不正确的错误消息              | 某些乘客的必填元素未提交。                                                               | 检查信息并更正后重新提交。              |
| <mark style="color:blue;">408</mark> | 乘客不能独自登机                    | 此订单中仅预订了儿童乘客。                                                               | 创建新订单并添加成人乘客与儿童乘客同行。       |
| <mark style="color:blue;">409</mark> | 额外行李与航班航段不匹配                | 额外行李的"productCode"不匹配此航班可用的产品代码。                                            | 检查"productCode"并使用正确的代码更新。 |
| <mark style="color:blue;">410</mark> | 使用正确格式"XXXX-XXXXXXXX"作为联系电话 | 联系信息格式不正确。                                                                  | 检查联系信息并确认其符合要求的格式。         |
| <mark style="color:blue;">411</mark> | 通用支付错误                      | 检查您的账户时发生错误。例如，"余额不足"。                                                      | 检查余额或根据错误消息中的指示操作。         |
| <mark style="color:blue;">413</mark> | 不支持的卡                       | 使用 MoR 支付时，传入的卡类型不在 Atlas 支持范围内。                                            | 更换卡片。                      |
| <mark style="color:blue;">414</mark> | 卡不匹配                        | 卡类型与生成订单时传入的（**cardType**）不一致。                                              | 更换卡片以使其与创建订单时传入的卡类型一致。     |
| <mark style="color:blue;">415</mark> | 用户未确认订单                     | 与 FR 集成时，需要在创建订单（**order.do**）之后、支付（**pay.do**）之前调用 **orderCommit.do** API。 |                            |

**座位可用性代码**

| 代码                                   | 描述          | 说明            | 解决方案                     |
| ------------------------------------ | ----------- | ------------- | ------------------------ |
| <mark style="color:blue;">214</mark> | 会话 ID 无效或过期 | 会话 ID 无效或过期。  | 发送新的座位可用性请求              |
| <mark style="color:blue;">216</mark> | 座位选择失败      | 获取座位可用性信息失败。  | 过段时间重试。如果问题仍然存在，请提交服务请求。 |
| <mark style="color:blue;">217</mark> | 未知错误        | 未知错误          |                          |
| <mark style="color:blue;">218</mark> | 航司目前不支持座位选择 | 目前此航司不可用座位选择。 | 联系您的客户经理，了解此航司何时将支持座位可用性 |

**出票错误代码**

| 代码                                   | 描述                       | 说明                                                                | 解决方案                                                               |
| ------------------------------------ | ------------------------ | ----------------------------------------------------------------- | ------------------------------------------------------------------ |
| <mark style="color:blue;">601</mark> | 票价变更                     |                                                                   |                                                                    |
| <mark style="color:blue;">602</mark> | 未找到航班                    | 航班在航司平台上不再可用。                                                     | 创建新预订。                                                             |
| <mark style="color:blue;">603</mark> | 航班已售罄                    | 航班已售罄，没有可用座位。这发生在支付完成后但出票前。                                       | 创建新预订。                                                             |
| <mark style="color:blue;">604</mark> | 直通卡支付失败                  | 航司不接受 VCC。                                                        | 尝试使用不同的卡支付。                                                        |
| <mark style="color:blue;">605</mark> | 乘客信息不正确                  | "passengers"数组中的信息不正确。                                            | 检查乘客详细信息并在更正后重新提交。                                                 |
| <mark style="color:blue;">606</mark> | 航班信息已更新                  | 在搜索和预订之间，航司对相同航班号进行了时刻变更。                                         | 从搜索重新开始。                                                           |
| <mark style="color:blue;">607</mark> | 座位已售罄                    |                                                                   | 从搜索重新开始。                                                           |
| <mark style="color:blue;">608</mark> | 重复预订                     |                                                                   | 检查是否存在具有相同乘客详情和航班号的预订。确认后，忽略此预订。                                   |
| <mark style="color:blue;">609</mark> | 航司阻止了联系邮箱                | 航司根据其政策阻止了您的邮箱地址。                                                 | 使用不同的邮箱地址创建新预订，或授权 Atlas 使用 Atlas 的邮箱地址。更多详情请参阅"Atlas API 订单"常见问题。 |
| <mark style="color:blue;">611</mark> | PNR 已取消或过期               | PNR 已被航司取消或支付超过时间限制。                                              | 从搜索重新开始。                                                           |
| <mark style="color:blue;">613</mark> | 被航司风险控制拒绝                | 航司根据其业务规则阻止了订单。                                                   | 尝试使用不同的 VCC 支付。如果问题仍然存在，使用"存款"方式支付。                                |
| <mark style="color:blue;">614</mark> | 年龄错误                     | 儿童乘客的年龄不正确。                                                       | 检查年龄并重新提交预订。                                                       |
| <mark style="color:blue;">615</mark> | 支付完成但未能从航司获取 PNR 号码      | 有时对于 VCC 支付，航司未能响应，因此未收到 PNR。在这种情况下，Atlas 将手动与航司处理并获取 PNR 添加到预订中。 |                                                                    |
| <mark style="color:blue;">616</mark> | 3DS 验证                   | 使用的卡需要 3DS 验证。Atlas 目前不支持此功能。                                     | 使用不需要 3DS 验证的不同卡，或通过存款模式支付。                                        |
| <mark style="color:blue;">617</mark> | 余额不足                     | 存款余额低于最低阈值。                                                       | 检查您的余额并优先充值。                                                       |
| <mark style="color:blue;">618</mark> | 行李重量与航司不匹配               | 行李重量不包含航司提供的选项之一。                                                 | 联系 Atlas 运营团队                                                      |
| <mark style="color:blue;">619</mark> | 缺少支付信息                   | pay.do 请求中的某些信息缺失/不正确。                                            | 检查 pay.do 请求并重新提交。                                                 |
| <mark style="color:blue;">620</mark> | 异常返回票价类型                 | 航司的往返票价限制为基础票价，不能与其他票价类型组合。                                       | 仅预订单程行程或按方向各创建一个预订。                                                |
| <mark style="color:blue;">621</mark> | 不支持婴儿乘客                  | Atlas 不支持此航司的"婴儿"乘客类型。                                            | 创建不包含婴儿乘客的新预订。                                                     |
| <mark style="color:blue;">623</mark> | 卡余额不足/卡消费限制              | 提供的 VCC 余额不足/达到卡消费限制。                                             | 使用具有足够卡余额的不同 VCC 支付。                                               |
| <mark style="color:blue;">624</mark> | 暂时不支持往返                  | 目前不支持此航司的往返功能                                                     | 预订 2 个单程作为独立订单。                                                    |
| <mark style="color:blue;">625</mark> | ffp 手动出票                 | 目前不支持常旅客计划，只能手动处理。                                                |                                                                    |
| <mark style="color:blue;">626</mark> | 当前订单中有未支付的服务             | 航司发现此 PNR 下有未支付的交易，导致后续业务操作失败。                                    | 为任何未支付的订单进行支付。                                                     |
| <mark style="color:blue;">627</mark> | 当前订单不支持出票后附加服务购买         | 此订单不允许出票后附加服务。                                                    | 移除附加服务并创建新订单。                                                      |
| <mark style="color:blue;">628</mark> | 出票后附加服务购买订单的航班信息与原始航班不匹配 | 航班详情不正确。                                                          | 检查航班详情并创建新订单。                                                      |
| <mark style="color:blue;">631</mark> | 行李票价变更                   | 履约时行李价格已变更。                                                       | 从验证重新开始流程。                                                         |
| <mark style="color:blue;">632</mark> | 行李票价变更                   | 由于航司风险控制导致出票失败。                                                   | 从验证重新开始流程。如果问题仍然存在，请联系我们的运营团队。                                     |
| <mark style="color:blue;">633</mark> | 航司拒绝支付                   | 由于航司风险控制导致支付被拒绝。                                                  | 使用"存款"作为支付方式并重试。                                                   |
| <mark style="color:blue;">634</mark> | 航司系统问题                   |                                                                   | 创建新订单。如果问题仍然存在，请联系我们的运营团队。                                         |
| <mark style="color:blue;">699</mark> | 系统问题                     |                                                                   | 过段时间重试。如果问题仍然存在，请联系支持。                                             |

**查询订单错误代码**

| 代码                                   | 描述                             | 说明                 | 解决方案                   |
| ------------------------------------ | ------------------------------ | ------------------ | ---------------------- |
| <mark style="color:blue;">701</mark> | 识别到多个订单，请添加额外参数重新请求            | 已识别出多个具有相同记录编号的订单。 | 添加额外参数并重试。             |
| <mark style="color:blue;">702</mark> | airlinePNR 和 carrier 是订单检索的必填项 | 记录编号和航司代码在请求中是必填的。 | 添加提到的参数并重试。            |
| <mark style="color:blue;">703</mark> | 未找到订单，请检查参数                    | 订单号似乎不正确。          | 检查订单号并重试。              |
| <mark style="color:blue;">704</mark> | 参数不匹配，请检查并重试                   | 输入的参数不正确。          | 检查参数，更正后重试。            |
| <mark style="color:blue;">705</mark> | 超时                             | 响应已超时。             | 过段时间重试。如果问题仍然存在，请联系支持。 |
| <mark style="color:blue;">800</mark> | 订单不存在                          | 相关订单不存在。           | 请重新检查订单号并重试。           |

**退款报价错误代码**

| 代码                                    | 描述                    | 说明                         | 解决方案                       |
| ------------------------------------- | --------------------- | -------------------------- | -------------------------- |
| <mark style="color:blue;">801</mark>  | 订单不存在                 | 输入的订单号不正确。                 | 检查订单号并输入正确的订单号。            |
| <mark style="color:blue;">802</mark>  | 儿童不能单独旅行              | 不能仅退还 ADT 乘客。CHD 乘客也应一起退款。 | 请求包含儿童乘客的整单退款。             |
| <mark style="color:blue;">803</mark>  | 乘客已为某乘客和/或航段提交退款      | 输入的订单号不正确。                 | 检查订单号并输入正确的订单号。            |
| <mark style="color:blue;">807</mark>  | 乘客不存在                 | 输入的乘客姓名不正确。                | 检查乘客姓名并在需要时更正。             |
| <mark style="color:blue;">809</mark>  | 订单未出票                 | 此订单的出票正在处理中或支付尚未完成。        | 等待订单出票或为此订单进行支付。           |
| <mark style="color:blue;">810</mark>  | 非法请求参数：xxx            | 其中一个请求参数不正确。               | 检查请求并更正所需参数。               |
| <mark style="color:blue;">811</mark>  | 未输入完整行程。请输入完整行程并重试。   | 可能由多种原因导致。                 | 检查以下场景是否适用并采取相关措施。         |
|                                       |                       | 对于往返行程，需要退全票。              | 如果机票完全未使用，请输入整个行程的详细信息并重试。 |
|                                       |                       | 对于中转航班，两个航段需要一起退款。         | 检查请求中是否包含两个航段并重试。          |
|                                       |                       | 行程中有一个航段已乘坐。               | 联系航司。Atlas 不支持"部分"乘坐行程的退款。 |
| <mark style="color:blue;">812</mark>  | 无法将乘客 xxx 与订单匹配       | 乘客姓名与订单不匹配。                | 检查乘客姓名并重新提交请求。             |
| <mark style="color:blue;">815</mark>  | 未找到票                  |                            | 检查票号并重试。                   |
| <mark style="color:blue;">824</mark>  | 附加服务订单不支持退款。请提供原始订单号。 | 仅允许主订单退款。                  | 检查并确认订单号是否为原始订单的订单号。       |
| <mark style="color:blue;">902</mark>  | 访问被拒绝                 |                            |                            |
| <mark style="color:blue;">8041</mark> | 航段不存在                 | 请求中的某个航段不存在。               | 检查航段，仅提供该退款请求的航段。          |

**退款提交错误代码**

| 代码                                    | 描述                    | 说明                         | 解决方案                                          |
| ------------------------------------- | --------------------- | -------------------------- | --------------------------------------------- |
| <mark style="color:blue;">801</mark>  | 订单不存在                 | 输入的订单号不正确。                 | 检查订单号并输入正确的订单号。                               |
| <mark style="color:blue;">802</mark>  | 儿童不能单独旅行              | 不能仅退还 ADT 乘客。CHD 乘客也应一起退款。 | 请求包含儿童乘客的整单退款。                                |
| <mark style="color:blue;">803</mark>  | 乘客已为某乘客和/或航段提交退款      | 输入的订单号不正确。                 | 检查订单号并输入正确的订单号。                               |
| <mark style="color:blue;">805</mark>  | RefundOfferId 已过期     | "refundOfferId"已过期。        | 发送新的退款请求以获取最新的"refundOfferId"。                |
| <mark style="color:blue;">807</mark>  | 乘客不存在                 | 输入的乘客姓名不正确。                | 检查乘客姓名并在需要时更正。                                |
| <mark style="color:blue;">809</mark>  | 订单未出票                 | 此订单的出票正在处理中或支付尚未完成。        | 等待订单出票或为此订单进行支付。                              |
| <mark style="color:blue;">810</mark>  | 非法请求参数：xxx            | 其中一个请求参数不正确。               | 检查请求并更正所需参数。                                  |
| <mark style="color:blue;">811</mark>  | 未输入完整行程。请输入完整行程并重试。   | 可能由多种原因导致。                 | 检查以下场景是否适用并采取相关措施。                            |
|                                       |                       | 对于往返行程，需要退全票。              | 如果机票完全未使用，请输入整个行程的详细信息并重试。                    |
|                                       |                       | 对于中转航班，两个航段需要一起退款。         | 检查请求中是否包含两个航段并重试。                             |
|                                       |                       | 行程中有一个航段已乘坐。               | 联系航司。Atlas 不支持"部分"乘坐行程的退款。                    |
| <mark style="color:blue;">812</mark>  | 无法将乘客 xxx 与订单匹配       | 乘客姓名与订单不匹配。                | 检查乘客姓名并重新提交请求。                                |
| <mark style="color:blue;">814</mark>  | 退款提交正在进行中。请稍候。        | 退款流程正在进行中。请稍候。             | 过段时间重试。如果问题持续重复，请联系您的客户经理。                    |
| <mark style="color:blue;">815</mark>  | 未找到票                  |                            | 检查票号并重试。                                      |
| <mark style="color:blue;">816</mark>  | 退款请求已提交               | 退款请求已提交。                   | 无需操作。您可以使用 queryRefundOrders.do API 请求检查退款状态。 |
| <mark style="color:blue;">817</mark>  | Atlas 退款已应用           | 退款请求已提交。                   | 无需操作。您可以使用 queryRefundOrders.do API 请求检查退款状态。 |
| <mark style="color:blue;">818</mark>  | 退款索赔已应用               | 退款索赔已提交。                   | 无需操作。您可以使用 queryRefundOrders.do API 请求检查退款状态。 |
| <mark style="color:blue;">820</mark>  | 票状态为已使用               | 该航段已乘坐。                    | 检查该航段是否已乘坐。如果该航段未乘坐，请联系我们的运营团队。               |
| <mark style="color:blue;">821</mark>  | 超出机票退款截止时间            | 退款提交已在退款截止时间之后进行。          | 如果您有任何疑问，请联系我们的运营团队。                          |
| <mark style="color:blue;">822</mark>  | 超出机票作废截止时间            | 作废提交已在截止时间之后进行。            | 如果您有任何疑问，请联系我们的运营团队。                          |
| <mark style="color:blue;">823</mark>  | 未作废所有乘客               |                            |                                               |
| <mark style="color:blue;">824</mark>  | 附加服务订单不支持退款。请提供原始订单号。 | 仅允许主订单退款。                  | 检查并确认订单号是否为原始订单的订单号。                          |
| <mark style="color:blue;">902</mark>  | 访问被拒绝                 |                            |                                               |
| <mark style="color:blue;">905</mark>  | 提交过于频繁，请稍后再试          |                            |                                               |
| <mark style="color:blue;">8041</mark> | 航段不存在                 | 请求中的某个航段不存在。               | 检查航段，仅提供该退款请求的航段。                             |

**退款查询错误代码**

| 代码                                   | 描述         | 说明           | 解决方案            |
| ------------------------------------ | ---------- | ------------ | --------------- |
| <mark style="color:blue;">801</mark> | 订单不存在      | 输入的订单号不正确。   | 检查订单号并输入正确的订单号。 |
| <mark style="color:blue;">810</mark> | 非法请求参数：xxx | 其中一个请求参数不正确。 | 检查请求并更正所需参数。    |
| <mark style="color:blue;">902</mark> | 访问被拒绝      |              |                 |

**预订后附加服务搜索错误代码**

| 代码                                   | 描述                   | 说明                | 解决方案                         |
| ------------------------------------ | -------------------- | ----------------- | ---------------------------- |
| <mark style="color:blue;">117</mark> | 此订单不允许行李，因为尚未出票      | 票仍未出票。            | 等待状态更改为"已出票"，然后搜索附加服务。       |
| <mark style="color:blue;">118</mark> | Atlas 目前不支持此航司的座位或行李 |                   | 联系航司购买附加行李，或向 Atlas 提交服务请求。  |
| <mark style="color:blue;">119</mark> | 带有婴儿的订单不支持行李或座位选择    | 预订中有婴儿乘客。         | 直接向航司预订附加行李，或向 Atlas 提交服务请求。 |
| <mark style="color:blue;">120</mark> | 该航班的行李或座位选择已关闭       | 航司不再接受该航班附加服务的添加。 | 联系航司或向 Atlas 提交服务请求。         |

**预订后附加服务订单错误代码**

| 代码                                   | 描述                     | 说明                      | 解决方案                            |
| ------------------------------------ | ---------------------- | ----------------------- | ------------------------------- |
| <mark style="color:blue;">501</mark> | 不允许附加购买                | 此订单不允许添加附加服务。           | 联系航司或向 Atlas 提交服务请求。            |
| <mark style="color:blue;">502</mark> | 价格已上涨，订单创建失败。请进行新搜索。   | 从附加服务搜索进行时价格已变更。        | 重新搜索附加服务订单。                     |
| <mark style="color:blue;">503</mark> | 行李选择不正确                | 请检查下面的消息。               |                                 |
|                                      | 重复添加相同类型的行李。           | 每位乘客每个航段只能选择一个行李。       | 移除重复的相同类型行李。                    |
|                                      | 行程不同航段的行李不一致。          | 对于某些航司，每个行程中各航段的行李必须相同。 | 使此行程中各航段的行李一致。                  |
|                                      | 产品代码与航段搜索结果不匹配。        | 产品代码必须与航段搜索结果匹配。        | 使用搜索结果中的正确产品代码。                 |
| <mark style="color:blue;">504</mark> | 不允许附加行李。附加行李已存在于原始订单中  | Atlas 只允许附加行李添加一次       | 直接向航司预订附加行李，或向 Atlas 提交服务请求。    |
| <mark style="color:blue;">505</mark> | 不允许附加行李。行李已作为出票后附加服务预订 | Atlas 只允许附加行李添加一次       | 直接向航司预订附加行李，或向 Atlas 提交服务请求。    |
| <mark style="color:blue;">506</mark> | 带有婴儿的订单不支持座位选择         | 预订中有婴儿乘客。               | 直接向航司预订附加行李或座位，或向 Atlas 提交服务请求。 |

### 错误示例

#### 214：会话 ID 无效或过期

#### 请求：

```
{
    "sessionId": "49871954-6aaa-44fa-b768-1a590d21be08"
}
```

#### 响应：

```
{
    "cabins": null,
    "status": 214,
    "msg": "Session ID invalid or expired"
}
```

#### 216：座位选择失败

#### 请求：

```
{
    "mockError": "mockSeatError", 
    "sessionId": "31f1c47c-1fbb-4cfd-8620-49e73ab26f60"
}
```

#### 响应：

```
{
    "cabins": null,
    "status": 216,
    "msg": "Seat selection failed"
}
```

#### 217：未知错误

系统回退异常，通常不会触发。

#### 响应：

```
{
    "cabins": null,
    "status": 217,
    "msg": "Unknown error"
}
```
