Files

2.8 KiB
Raw Permalink Blame History

Stay Date Parsing

用途

统一解析 QBD/LianTai 表格里的酒店入住、离店和晚数。适用于当前邮件附件、表格、OCR 或抽取证据中出现的酒店日期、行程日期和动作日期。

字段

保留以下日期证据:

  • hotel_date_raw:酒店列开头的住期范围,例如 14-1515-1731-02
  • tour_date_raw:行程日期列原文,例如 2026/05/11\n2026/05/16
  • action_date_raw:备注或状态中的动作日期,例如 11/05 AMD12/05 NEW BOOKING
  • sheet_month_yearworkbook sheet 名中的月份年份,例如 BOOKING 05-2026
  • arrival_date
  • departure_date
  • nights
  • date_inference_basis

识别优先级

  1. 优先使用酒店列开头的酒店住期范围作为 arrival_date / departure_date
  2. 酒店列内有完整日期时,使用该完整日期范围。
  3. 行程日期列用于补全年/月和校验,不得直接覆盖酒店住期。
  4. sheet 名用于补全年/月;当行程日期可读时,优先用行程日期选择能落在行程范围内的酒店住期。
  5. 备注中的动作日期只作为 action_date_raw,不是入住日期,也不是标黄行过滤条件。

年月补全

  • 15-17BOOKING 05-2026 且行程日期落在 2026 年 5 月时,解析为 2026-05-152026-05-17
  • 31-02 这类跨月范围必须按跨月处理;如果行程日期或 sheet 名无法唯一确定跨到哪个月,按本节“业务复核”处理。
  • 当酒店日期范围缺年/月时,用行程日期补全;行程日期缺失时,用 sheet 名补全。
  • 如果补全后酒店住期不在行程日期范围内,保留 raw evidence 并按本节“业务复核”处理。

晚数

  • 15-17 表示入住 15 日、离店 17 日,nights=2
  • 14-15 表示入住 14 日、离店 15 日,nights=1
  • nights = departure_date - arrival_date
  • 表格里的 5N6D5N7D 是行程晚数线索,不得覆盖酒店住期晚数。

业务复核

以下日期问题 reason code 使用 stay_date_inference_unclear

  • 酒店日期范围不可读。
  • 酒店日期、行程日期和 sheet 名无法唯一补全年/月。
  • 酒店住期与行程日期明显冲突且无法解释。
  • 跨月、跨年或格式异常导致 arrival / departure 无法安全确定。

当所属业务 event_type 和 subtype 已知时,保留原业务事件、全部 raw date evidence 和已确认日期字段,并附非空、完整的 manual_review;无法确定的日期字段为 nullmanual_review.missing_fields[] 使用对应字段的 RFC 6901 JSON Pointer。不得仅因日期不安全改成 Fallback。

只有当前行或材料不可读到连业务类型或 subtype 也无法确定时,才输出 event_type=Need Manual Review 的 Fallback 复核。