# 新订 ## 适用业务 用于当前邮件要求创建新的: - 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 复核。