Files
th-hotel-simple/docs/import/20260712/Agent 0711 1743/skills/booking-desk-event/references/12-cancel-booking.md

3.6 KiB
Raw Blame History

取消预订

适用业务

用于当前邮件要求取消或释放:

  • FIT Reservation
  • Group Block
  • Allotment / Control Block
  • 控房或配额

可接受信号:

  • cancel booking / reservation / group
  • release or cancel block
  • cancel allotment / allocation / control block
  • CXL
  • 明确整单取消

事件类型

  • Cancel Booking:只取消 FIT Reservation、普通 Group Block 或 Child Group Block。
  • Cancel Allotment:取消整个 Allotment / Control Block也就是 Parent Group。

Parent Group 的 case_keys.group_codecase_keys.block_code 必须相同;普通或 Child Group Block 继续只填 group_codeblock_code=null

部分修改边界

减少房量、改日期、释放部分 allocation 或明确保留 parent 余量继续使用,当前均不受支持;不得输出 Update、Cancel 或 Allotment Maintenance。整封邮件只有该明确意图时走 S10同邮件另有支持事件时按 03-current-content-completeness.md 进入 unhandled_current_intents

如果当前证据无法确定是整块取消、完整 Parent split还是部分维护/保留余量,则业务类型或 subtype 尚未确定,输出 event_type=Need Manual Review 的 Fallback 复核。

Parent Allocation Linked Event

当当前证据已经确认 Parent Group 完整拆成 Child Groups 时,必须为 parent group 生成独立 linked cancel candidateevent_type=Cancel Allotmentextracted_fields.cancel_scope=entire_allotment_control_blockrelationship_type=linked_parent_release_after_child_splitrequires_downstream_hard_validation=true

这个事件:

  • 不替代 child New Booking。
  • 每个 child 固定是 New Bookingbooking_object_type=Group Blockparent candidate 的 related_source_event_indices[] 必须指向全部 child events。
  • 不要求字面 cancel / CXL。
  • 必须来自当前 parent-child split 证据。
  • 不得由历史证据单独触发。
  • 只是候选事件,不代表 PMS 已取消成功,不创建真实 TaskCard不写外部系统。
  • 无论正文是否显式写取消,同一 split cluster 都只能有一个 Parent Cancel Allotment。显式取消同一 parent 时合并证据;不同 parent 才分别输出。
  • 当前 Agent 不得再生成 linked Parent Cancel Booking;旧组合只允许 reader/adapter 无损兼容展示。

不适用

  • 新建,除 Parent split 派生的 linked Cancel Allotment 外。
  • 普通 date/room/guest/price amendment。
  • Voucher/payment evidence。
  • Rooming List。
  • 只有 Trace。
  • cancel action 只在历史邮件中。

业务复核

当前证据已经能确定 Cancel Booking/Cancel Allotment 及其对象 subtype 时,以下问题保留原业务事件,并使用非空、完整的 manual_review

  • cancel target 不清。
  • 多目标无法安全拆分。
  • 系统上下文显示 conflict、lock 或 already completed state。
  • 完整 Parent split 已确认,Cancel Allotment subtype 已确定,但 parent 双 key、child list 或关系证据不完整。

Parent split 的关系字段不安全时不得把候选视为已取消;保留已确认的 parent/child 证据,并在 manual_review.missing_fields[] 中使用 RFC 6901 JSON Pointer。

Parent 双 key 候选冲突时,两键置空并使用 manual_review.reason_code=target_object_unclear;关系字段不安全时使用 parent_child_split_evidence_unclear

只有 CXL 是否为当前动作不清、无法确定是普通订单取消还是 Allotment 整块取消,或无法确定是完整 split 还是部分维护时,才输出 event_type=Need Manual Review 的 Fallback 复核。