收口V4 Trace卡后端契约

This commit is contained in:
andy
2026-07-21 17:47:25 +07:00
parent 0c4f5e298d
commit 38661257d1
16 changed files with 1054 additions and 21 deletions

View File

@@ -462,17 +462,18 @@ Fit 条件字段:
| --- | --- | --- | --- |
| `trace_items[]` | Trace | 是 | 同一订单一张 Trace 卡,卡内多条事项 |
| `item_type` | Trace item | 是 | `GENERAL``EXTRA_BED` |
| `text` | GENERAL | 是,可为 `null` | 普通备注内容 |
| `text` | GENERAL | 是 | 普通备注内容Trace 普通事项正式字段统一使用 `trace_items[].text`,不使用 `content` |
| `department_code` | GENERAL / EXTRA_BED | 是 | 第一版固定为 `FO` / `HSK` / `FO+HSK`,分别表示前厅、客房和前厅 + 客房组合 |
| `target_room_type_code` | EXTRA_BED | 是,可为 `null` | 加床目标房型 |
| `target_room_type_code` | EXTRA_BED | 是 | 加床目标房型;第一版必须存在于当前酒店 Room Type 目录 |
| `extra_bed_room_count` | EXTRA_BED | 是 | 加床房间数量 |
### 14.3 规则
- Trace 普通事项内容字段统一为 `trace_items[].text`SuperAgent、后端存储和 API 展示均不使用 `trace_items[].content` 作为正式字段。
- EXTRA_BED 不输出自由 `content`;信息系统固定显示 `SET EXTRA BED`
- EXTRA_BED 不输出 `adult_after_extra_bed`;信息系统按当前 / 基础 Adult +1 计算,页面确认前允许用户纠正。
- Department code 由 Agent 必传。第一版先固定为 `FO``HSK``FO+HSK` 三个值,不接受自由文本;正式 Department 目录和 lookup API 后续单独扩展。
- 加床目标房型不在当前订单时,Trace 卡不能确认,并提示用户核对目标房型和订单关联
- 加床目标房型第一版只校验是否存在于当前酒店 Room Type 目录;暂不要求必须属于当前订单已有房型。目录不存在时 Trace 卡不能确认,并提示用户核对目标房型。
- 只有订单定位本身不可信时,才触发共享查单门槛阻断整个订单上下文。
## 15. ROOMING_LIST

View File

@@ -266,7 +266,8 @@ V4 当前不做 OPERA / PMS 执行,但仍需要保留同订单处理顺序,
- 除 Basic Information 必须先确认外,第一版不强制业务卡之间逐张顺序确认;业务卡可独立确认,但页面仍按固定顺序展示。
- 同类型多张业务卡按 `source_event_index` 排序。
- `SOURCE_MESSAGE_DISPLAY` 只读、不阻塞V4 任务详情页固定放在最下方,用于查看当前触发该订单任务的 SourceMessage 正文和附件摘要。
- Trace 卡 `trace_items[].department_code` 第一版固定为 `FO``HSK``FO+HSK` 三个值前端可先做固定下拉,后端正式 Department 目录、lookup API 和目录校验后续单独 checkpoint 扩展
- Trace 卡普通事项内容字段统一使用 `trace_items[].text`,不使用 `trace_items[].content` 作为正式字段;`trace_items[].department_code` 第一版固定为 `FO``HSK``FO+HSK` 三个值前端做固定下拉,不调用 Department lookup,也不允许自由文本
- Trace `EXTRA_BED``target_room_type_code` 第一版只校验当前酒店 Room Type 目录存在,暂不要求必须属于当前订单已有房型;当前订单已有房型约束后置。
- Rooming List 卡第一版没有可编辑业务字段;页面展示为轻量事项确认卡,用户点击“确认卡片”仅表示已人工处理当前 Rooming List 事项不代表名单已解析、Excel 已生成或 PMS 已导入。
- Room Information 卡下一阶段采用业务展示模型,不再只依赖通用 `fields[]` 扁平渲染具体规则见“Room Information 卡展示模型”。
@@ -592,7 +593,7 @@ V4 任务详情页第一版字段白名单:
| `ROOM_INFORMATION` / `NEW_BOOKING` | `group_block_name``fit_name``arrival_date``departure_date``rate_code``room_items[].room_type_code``room_items[].room_count`、Group 的 `group_booking_status`、无法从 Fit Rate Code 派生时的 `breakfast_included` | `nights`、Group 固定 `breakfast_included=true`、Fit 可由 Rate Code 派生的 `breakfast_included`、Adult、Block ID、Confirmation Number、Agent 原始 `target_order` |
| `ROOM_INFORMATION` / `UPDATE_BOOKING` | 修改后的 `arrival_date``departure_date``room_items[].room_type_code``room_items[].room_count`、Group 的 `group_booking_status`、无法从 Fit Rate Code 派生时的 `breakfast_included` | 当前值、本次变化摘要、`nights` 差异、Rate Code、Adult、Block ID、Confirmation Number、Agent 原始 `target_order` |
| `ROOM_INFORMATION` / `CANCEL_BOOKING` | 无;用户只确认取消事项 | 本地订单投影当前值、`nights``breakfast_included`、Group Booking Status、Rate Code、房型房量、Block ID、Confirmation Number |
| `TRACE_RESERVATION_NOTES` | `trace_items[].content``trace_items[].department_code` | Department 第一版只允许 `FO``HSK``FO+HSK`不允许自由文本 |
| `TRACE_RESERVATION_NOTES` | GENERAL`trace_items[].text``trace_items[].department_code`EXTRA_BED`trace_items[].target_room_type_code``trace_items[].extra_bed_room_count``trace_items[].department_code` | `department_code` 第一版只允许 `FO``HSK``FO+HSK`字段返回 `fixed_options[]` 三个固定选项,不允许自由文本;`target_room_type_code` 校验当前酒店 Room Type 目录;`extra_bed_room_count` 必须为正整数;不返回或确认 `content``target_order`、邮件正文、附件 URL、raw evidence 或 AI 原始 payload |
| `ROOMING_LIST` | 无;用户只确认 Rooming List 事项 | 来源邮件正文和附件摘要通过底部 `SOURCE_MESSAGE_DISPLAY` 查看;确认后 Group 自动置为 `DEF` |
| `PAYMENT` | 无;用户只确认附件关联事项 | `attachment_ids[]``payment_attachments[]` 安全摘要、图片缩略图、文件名、类型、大小、预览 / 下载可用性 |
| `SOURCE_MESSAGE_DISPLAY` | 无 | 当前触发该 V4 order task 的 SourceMessage 正文,只读且默认长度折叠,可展开全文 |