# 接口变更记录 — 2026-03-20（小程序出行人修改级联处理）

> **类型** feature

---

## 功能说明

小程序端用户可以在**行程开始前**随时修改出行人信息。修改后系统自动执行以下流程：

1. **退保** — 作废已购买的保险单
2. **作废合同** — 作废已签署/已创建的合同
3. **重置待办** — INSURANCE、CONTRACT 待办回到待处理
4. **流程状态回退** — processStatus 回退到 `PENDING_INSURANCE`
5. **自动重新投保+签约** — 如果订单已付款，系统自动用新出行人信息重新投保和签约

## 使用的接口（无变更）

### `PUT` /mp/order/{orderId}/edit — 小程序编辑订单

请求参数不变：

| 字段 | 类型 | 说明 |
|------|------|------|
| `departureDate` | String(日期) | 出发日期（可选） |
| `travelers` | Array | 出行人列表（可选，传则全量替换） |

出行人对象：

| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `name` | String | 是 | 姓名 |
| `idCardType` | String | 是 | 证件类型：`ID_CARD`/`PASSPORT`/`OTHER` |
| `idCardNo` | String | 是 | 证件号 |
| `phone` | String | 否 | 手机号 |
| `gender` | Integer | 否 | 性别：1=男，2=女 |
| `birthday` | String(日期) | 否 | 出生日期 |
| `travelerType` | String | 否 | 类型：`ADULT`/`CHILD`/`BABY` |
| `nationality` | String | 否 | 国籍（默认中国） |
| `emergencyContact` | String | 否 | 紧急联系人 |
| `emergencyPhone` | String | 否 | 紧急联系人电话 |

## 前端注意事项

| 项目 | 说明 |
|------|------|
| **可编辑状态** | 待支付、已付定金、已全额支付、已确认、待付尾款、待出行 |
| **不可编辑状态** | 旅行中、已完成、已取消、退款中、已退款 |
| **修改后的提示** | 修改出行人后，如果订单已付款，告知用户"系统正在重新处理保险和合同" |
| **全量替换** | 传 `travelers` 时是全量替换，请传所有出行人（不是增量修改） |
| **自动重新处理** | 后端自动退保→重新投保、作废合同→重新签约，前端无需额外调用 |
