# 新订

## 适用业务

用于当前邮件要求创建新的：

- FIT Reservation
- Group Block
- Allotment / Control Block
- QBD/LianTai 当前新订行
- Parent Group 完整拆成 Child Groups 时的 child group

## 判断

- 小于 5 间通常按 FIT。
- 5 间及以上通常按 Group Block。
- 独立新建请求明确 allotment、allocation、control block、控房、配额、取配、配合房时，按控房/配额对象优先。
- Parent Group 完整拆成 Child Groups 是上述控房/配额对象优先规则的明确例外：每个 child 固定输出 `New Booking`，`extracted_fields.booking_object_type=Group Block`；不得因为 split evidence 出现 allocation、allotment 或 `AMEND TO` 就把 child 归为 `Allotment / Control Block` 或普通 Update。
- 独立新建 `Allotment / Control Block` 就是新建 Parent Group；其 `case_keys.group_code` 与 `case_keys.block_code` 必须按 `31-allotment-control-block.md` 归一为同一 code。Child 和普通 Group Block 仍只填 `group_code`。

## 不适用

- 修改既有订单。
- 取消。
- 只有 voucher 或 payment evidence。
- 只有 Rooming List。
- 旧 Group Code 改新 Group Code。
- 只有 Trace 或 extra bed。
- 动作只在历史邮件中。

## 必要证据

普通候选事件需要：

- 当前创建动作。
- 目标 key 或足够清楚的新对象身份。
- 按 `54-stay-date-parsing.md` 可安全识别的入住/离店、房型房量、客人或团队信息等最小新订字段。
- 系统上下文没有 existing valid record、pending/open task、lock 或 active workflow 阻塞。
- 涉及必需房型、Rate Code 或 Fix Charge 时，必须有对应 reference 唯一支持；业务必需字段不唯一时不得用 downstream hard validation 代替人工确认。

## 抽取字段

保留：

- group code / confirmation number，如有
- arrival / departure / nights
- date evidence：`hotel_date_raw`、`tour_date_raw`、`action_date_raw`、`sheet_month_year`、`date_inference_basis`
- guest or group name
- room items，保留 raw room type 和 mapped room code
- supplier / channel
- booking object type
- QBD/LianTai row evidence
- parent allocation context
- Rate Code / settlement price evidence
- Fix Charge evidence

## Linked Trace

New Booking 同事件出现 extra bed、Meeting、meal、arrival notice、room preference/setup、已确定的 payment information 或其他具体预订补充信息时，按目标额外生成一个 linked `Trace`。补充信息即使只是告知，也生成 Trace；主任务已经完整承接的入住日期、房型、房量等核心参数不得重复生成 Trace。

同一目标的多条补充信息合并到一个 Trace；多个目标分别生成 Trace。Extra bed 不计入房量，不影响 FIT/Group，不作为 PMS 房型，不决定 Rate Code。

## 业务复核

当前证据已经能确定 `event_type=New Booking` 和 `booking_object_type` 时，以下问题不得把事件改成 Fallback。保留 `New Booking` 及其 subtype 判别字段，并使用非空、完整的 `manual_review`：

- key identity 不清。
- 已有订单、pending task、open task 或 active workflow。
- current/history boundary 不清，但当前创建动作和对象类型已经确定。
- 多对象无法安全拆分。
- QBD/LianTai 当前行已确定为 New，但必要行证据不可读。
- 必需 room mapping、Rate Code 或 settlement price 不唯一。
- Fix Charge 无法安全解析。
- Parent split 的 child 身份和 Group Block subtype 已确定，但 child line 的必需字段不完整。

保留所有已确认字段；无法确定的 PMS 房型或其他必需值保持 `null`，并在 `manual_review.missing_fields[]` 中使用指向当前 event 的 RFC 6901 JSON Pointer。

只有当前证据无法确定是 New、Update、Cancel 或 group-code change，或者无法确定 `booking_object_type` subtype 时，才输出 `event_type=Need Manual Review` 的 Fallback 复核。
