{
  "schema": "lwts",
  "schemaVersion": "1.0",
  "template": {
    "key": "interior_doors_windows_25d_management",
    "name": "室内门窗商家25天交付管理",
    "description": "适用于现场条件成熟的家装室内门窗订单，从需求量尺、复尺下单、定制生产、配送安装到验收归档的25天目标流程。特殊工艺、异形产品、现场整改或重大变更按实际调整。",
    "version": 1
  },
  "nodes": [
    {
      "key": "needs_measurement",
      "name": "需求确认与首次量尺",
      "description": "确认订单范围、使用需求和现场条件，完成首次量尺并识别影响尺寸、开启方式和安装的待确认事项。",
      "order": 0,
      "startStrategy": "auto"
    },
    {
      "key": "remeasure_order",
      "name": "复尺、配置确认与下单",
      "description": "在洞口及相关完成面条件基本稳定后完成最终复尺，确认开启、材质、颜色、玻璃和五金等实际配置并锁定生产版本。",
      "order": 1,
      "startStrategy": "auto"
    },
    {
      "key": "production_qc",
      "name": "定制生产与出厂齐套",
      "description": "依据最终确认资料组织门扇、门套、框体、玻璃及五金等生产或备货，并完成出厂一致性和齐套检查。",
      "order": 2,
      "startStrategy": "auto"
    },
    {
      "key": "delivery_prep",
      "name": "配送与安装准备",
      "description": "确认成品齐套、送货时间、客户时间、物业搬运和安装现场条件，减少到场后等待、缺件或交叉施工。",
      "order": 3,
      "startStrategy": "auto"
    },
    {
      "key": "site_installation",
      "name": "到货、安装与调试",
      "description": "完成到货清点、洞口复核、门框门套或相关框体安装、门扇及玻璃五金安装，并进行启闭和整体调试。",
      "order": 4,
      "startStrategy": "auto"
    },
    {
      "key": "acceptance_closeout",
      "name": "验收、整改与交付",
      "description": "按订单和现场交付结果完成验收、问题闭环、合同约定结算核对及使用维护说明。",
      "order": 5,
      "startStrategy": "auto"
    },
    {
      "key": "archive_aftersales",
      "name": "资料归档与售后",
      "description": "归档量尺、最终订单、变更、发货安装和验收资料，为后续补件、维修和售后查询保留依据。",
      "order": 6,
      "startStrategy": "auto"
    }
  ],
  "events": [
    {
      "key": "customer_requirements_confirm",
      "nodeKey": "needs_measurement",
      "name": "确认客户需求与订单范围",
      "description": "确认房间、门洞或室内窗位置、使用需求、风格方向、装修进度及拟购买品类；未确定的产品参数保持待确认。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "none",
      "flowRole": "main"
    },
    {
      "key": "initial_site_measurement",
      "nodeKey": "needs_measurement",
      "name": "首次上门量尺与现场勘察",
      "description": "记录洞口宽高厚、墙体及完成面状态、门窗位置、开启空间、地面高差及其他影响安装的现场条件。",
      "order": 1,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "opening_condition_note",
      "nodeKey": "needs_measurement",
      "name": "记录洞口与完成面风险",
      "description": "记录洞口不方正、墙厚变化、完成面未确定、地面未完成或其他可能影响最终尺寸的事项，避免将初尺作为生产尺寸。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "opening_direction_check",
      "nodeKey": "needs_measurement",
      "name": "确认开启方向与使用冲突",
      "description": "结合家具、开关插座、过道和相邻门扇位置确认开启方向或推拉方式，发现冲突先在方案阶段处理。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "preliminary_solution_quote",
      "nodeKey": "needs_measurement",
      "name": "初步方案与报价范围确认",
      "description": "根据初尺形成主要品类、样式和配置方向，明确包含项、选配项及待复尺或待选样项目，不预设具体品牌和价格。",
      "order": 4,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "contract_scope_confirm",
      "nodeKey": "needs_measurement",
      "name": "合同或订单范围确认",
      "description": "确认产品范围、安装边界、预计周期、变更处理和售后约定，具体材质、配置、金额和付款条件以实际合同或订单为准。",
      "order": 5,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "initial_payment_check",
      "nodeKey": "needs_measurement",
      "name": "按合同核对首个收款条件",
      "description": "仅按实际合同确认是否达到相应收款节点，不预设定金比例、金额或支付方式；没有对应约定时标记无需处理。",
      "order": 6,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "remeasure_readiness_check",
      "nodeKey": "remeasure_order",
      "name": "确认现场具备最终复尺条件",
      "description": "确认影响门窗尺寸的洞口、墙地面、门套接口或其他相关完成面基本稳定；仍可能变化时不要锁定生产尺寸。",
      "order": 0,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "final_site_remeasurement",
      "nodeKey": "remeasure_order",
      "name": "生产前最终复尺",
      "description": "重新核对每个洞口的宽高厚、垂直与方正情况、完成面、地面标高和开启空间，并记录与初尺的差异。",
      "order": 1,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "opening_rectification_check",
      "nodeKey": "remeasure_order",
      "name": "洞口异常处理确认（如有）",
      "description": "如洞口尺寸、平整度或完成面条件影响安装，应在下单前明确由相关责任方处理；无异常时标记无事项。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "product_spec_confirm",
      "nodeKey": "remeasure_order",
      "name": "确认产品品类、材质与外观配置",
      "description": "按实际订单确认门扇或框体类型、材质、颜色、表面效果和套线等配置，不在模板中固定品牌、型号或工艺。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "glass_config_confirm",
      "nodeKey": "remeasure_order",
      "name": "确认玻璃配置（如有）",
      "description": "订单包含玻璃门、室内窗或玻璃部件时，确认玻璃类型、纹理、透明效果和安全相关要求；无玻璃产品时标记无此项。",
      "order": 4,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "hardware_lock_confirm",
      "nodeKey": "remeasure_order",
      "name": "确认锁具、合页与功能五金",
      "description": "确认订单范围内锁具、合页、门吸、滑轨、拉手及其他功能五金的适配关系，不适用的配置不强制填写。",
      "order": 5,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "final_quote_confirm",
      "nodeKey": "remeasure_order",
      "name": "最终报价与变更确认",
      "description": "结合最终复尺和配置核对数量、增减项、选配项和最终报价范围，确保客户确认、报价和生产资料保持一致。",
      "order": 6,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "production_order_release",
      "nodeKey": "remeasure_order",
      "name": "正式下单并冻结生产版本",
      "description": "以最终复尺和确认配置作为生产依据正式下单；下单后发生的客户或现场变更先评估对已生产内容、费用和交期的影响。",
      "order": 7,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "post_order_change_review",
      "nodeKey": "remeasure_order",
      "name": "下单后变更复核（如有）",
      "description": "如发生尺寸、颜色、开启方式或五金变更，先确认受影响产品、费用和交期后再执行；无变更时标记无事项。",
      "order": 8,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "production_data_review",
      "nodeKey": "production_qc",
      "name": "生产资料与订单拆分复核",
      "description": "核对每个洞口对应的产品、尺寸、开启方式、颜色、玻璃、锁具和五金配置，确保生产资料与最终确认版本一致。",
      "order": 0,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "main_product_production",
      "nodeKey": "production_qc",
      "name": "门扇、门套及主要框体生产",
      "description": "按最终生产资料组织订单范围内主要门扇、门套、垭口套或室内门窗框体加工，具体品类按实际订单执行。",
      "order": 1,
      "expectedDurationDays": 11,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "glass_part_prepare",
      "nodeKey": "production_qc",
      "name": "玻璃及相关部件准备（如有）",
      "description": "对订单中包含的玻璃门、室内窗或玻璃嵌件进行加工或备货，无玻璃产品时标记无此项。",
      "order": 2,
      "expectedDurationDays": 7,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "hardware_accessory_prepare",
      "nodeKey": "production_qc",
      "name": "锁具、五金与配件齐套",
      "description": "按最终订单核对锁具、合页、门吸、滑轨、拉手及安装配件的型号和数量，避免安装阶段因缺件停工。",
      "order": 3,
      "expectedDurationDays": 5,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "production_midpoint_check",
      "nodeKey": "production_qc",
      "name": "生产中段进度与异常检查",
      "description": "检查主要产品、玻璃和五金配套是否按计划推进，发现缺料、返工或交期风险时及时调整配送与安装安排。",
      "order": 4,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "factory_quality_check",
      "nodeKey": "production_qc",
      "name": "出厂前订单一致性与质量检查",
      "description": "检查产品数量、对应洞口标识、外观、配件和包装情况，发现错件、缺件或明显异常先处理再进入发货准备。",
      "order": 5,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "packaging_room_marking",
      "nodeKey": "production_qc",
      "name": "按房间分类包装与标识",
      "description": "按项目、房间和洞口分类包装主要产品、玻璃和五金配件，保持标识清晰并形成发货清单。",
      "order": 6,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "pre_delivery_payment_check",
      "nodeKey": "production_qc",
      "name": "按合同核对发货前收款条件",
      "description": "如合同设有发货前收款节点，在安排发货前核对是否满足；没有对应约定时标记无需处理。",
      "order": 7,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "delivery_install_schedule",
      "nodeKey": "delivery_prep",
      "name": "确认送货与安装排期",
      "description": "结合成品齐套、客户时间和装修现场状态确定送货与安装日期，避免成品到场后长期堆放。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "property_logistics_check",
      "nodeKey": "delivery_prep",
      "name": "核对物业、搬运和进场条件",
      "description": "如项目存在物业报备、电梯、搬运时段、停车或特殊运输限制，在发货前完成确认；无要求时标记无需处理。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "old_door_removal_check",
      "nodeKey": "delivery_prep",
      "name": "旧门拆除与洞口交接确认（如有）",
      "description": "改造项目如需拆除旧门窗，提前确认拆除完成时间和洞口交接状态；新房或无需拆除时标记无此项。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "site_install_readiness",
      "nodeKey": "delivery_prep",
      "name": "安装前现场条件确认",
      "description": "确认洞口具备安装条件、安装区域可施工、相关完成面和地面状态明确，并与其他工种协调交叉作业。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "delivery_receipt_check",
      "nodeKey": "site_installation",
      "name": "配送到场、清点与外观检查",
      "description": "按发货清单和洞口标识核对门扇、门套、框体、玻璃和五金配件，发现运输损伤、错件或缺件及时记录。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "site_protection_opening_recheck",
      "nodeKey": "site_installation",
      "name": "成品保护与安装前洞口复核",
      "description": "做好地面、墙面和相邻成品保护，并再次核对洞口尺寸、墙厚、标高和开启条件与最终资料是否一致。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "frame_casing_install",
      "nodeKey": "site_installation",
      "name": "门框、门套或相关框体安装",
      "description": "按订单和现场条件完成门框、门套、垭口套或相关框体的定位、校正和固定，安装方式按产品及现场要求执行。",
      "order": 2,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "door_leaf_install",
      "nodeKey": "site_installation",
      "name": "门扇或活动扇安装",
      "description": "按最终确认的开启方向和对应洞口完成门扇或活动扇安装，检查与框体、地面和相邻构件的配合关系。",
      "order": 3,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "glass_install",
      "nodeKey": "site_installation",
      "name": "玻璃部件安装（如有）",
      "description": "订单包含玻璃门、室内窗或玻璃嵌件时按产品要求完成安装与保护；无玻璃产品时标记无此项。",
      "order": 4,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "hardware_lock_install_adjust",
      "nodeKey": "site_installation",
      "name": "锁具、合页、滑轨及五金安装调试",
      "description": "完成订单范围内锁具、合页、门吸、滑轨、拉手等安装并调试启闭，确保对应配件齐全且功能正常。",
      "order": 5,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "sealing_finishing_check",
      "nodeKey": "site_installation",
      "name": "收口、接缝与外观检查",
      "description": "检查门套、框体、墙面和地面衔接处的收口、接缝及外观状态；具体材料和工艺按产品及现场要求执行。",
      "order": 6,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "overall_operation_self_check",
      "nodeKey": "site_installation",
      "name": "整体启闭、牢固与安装自检",
      "description": "检查门窗开启关闭、锁具和五金功能、框扇配合、安装牢固、外观及配件完整性，形成需处理问题清单。",
      "order": 7,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "site_clean_acceptance_prep",
      "nodeKey": "site_installation",
      "name": "现场清理与验收准备",
      "description": "清理包装和安装产生的垃圾，整理待验收区域，并准备最终订单、变更记录和已知问题清单。",
      "order": 8,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "customer_final_acceptance",
      "nodeKey": "acceptance_closeout",
      "name": "客户现场验收",
      "description": "按合同、最终订单和现场交付逐项核对，重点检查外观、开启关闭、锁具五金、玻璃、收口及约定范围完成情况。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "acceptance_issue_close",
      "nodeKey": "acceptance_closeout",
      "name": "验收问题确认与闭环",
      "description": "有问题时形成明确清单并安排补件、调整或复核；无问题时记录无待整改事项，再确认交付完成。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "final_payment_check",
      "nodeKey": "acceptance_closeout",
      "name": "按合同核对尾款或最终结算",
      "description": "依据实际合同核对最终应收、已收及变更调整事项，不在模板中预设尾款比例、金额或结算方式。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "handover_use_maintenance",
      "nodeKey": "acceptance_closeout",
      "name": "交付使用与维护说明",
      "description": "向客户说明门窗启闭、锁具五金及表面维护的基本注意事项，并确认后续问题反馈渠道。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "project_archive",
      "nodeKey": "archive_aftersales",
      "name": "项目资料归档",
      "description": "归档初尺、复尺、最终订单、变更、发货、安装和验收资料，保证后续补件或售后能够准确对应房间和洞口。",
      "order": 0,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "aftersales_info_confirm",
      "nodeKey": "archive_aftersales",
      "name": "售后信息与问题入口确认",
      "description": "确认客户售后联系信息及问题记录方式，后续维修、调整或补件以实际售后政策和订单资料为依据。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    }
  ],
  "relations": [
    {
      "key": "relation_001",
      "fromEventKey": "customer_requirements_confirm",
      "toEventKey": "initial_site_measurement",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_002",
      "fromEventKey": "initial_site_measurement",
      "toEventKey": "opening_condition_note",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_003",
      "fromEventKey": "initial_site_measurement",
      "toEventKey": "opening_direction_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_004",
      "fromEventKey": "initial_site_measurement",
      "toEventKey": "preliminary_solution_quote",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_005",
      "fromEventKey": "preliminary_solution_quote",
      "toEventKey": "contract_scope_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_006",
      "fromEventKey": "contract_scope_confirm",
      "toEventKey": "initial_payment_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_007",
      "fromEventKey": "preliminary_solution_quote",
      "toEventKey": "remeasure_readiness_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_008",
      "fromEventKey": "remeasure_readiness_check",
      "toEventKey": "final_site_remeasurement",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_009",
      "fromEventKey": "final_site_remeasurement",
      "toEventKey": "opening_rectification_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_010",
      "fromEventKey": "final_site_remeasurement",
      "toEventKey": "product_spec_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_011",
      "fromEventKey": "final_site_remeasurement",
      "toEventKey": "glass_config_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_012",
      "fromEventKey": "final_site_remeasurement",
      "toEventKey": "hardware_lock_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_013",
      "fromEventKey": "final_site_remeasurement",
      "toEventKey": "final_quote_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_014",
      "fromEventKey": "product_spec_confirm",
      "toEventKey": "final_quote_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_015",
      "fromEventKey": "glass_config_confirm",
      "toEventKey": "final_quote_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_016",
      "fromEventKey": "hardware_lock_confirm",
      "toEventKey": "final_quote_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_017",
      "fromEventKey": "final_quote_confirm",
      "toEventKey": "production_order_release",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_018",
      "fromEventKey": "production_order_release",
      "toEventKey": "post_order_change_review",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_019",
      "fromEventKey": "production_order_release",
      "toEventKey": "production_data_review",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_020",
      "fromEventKey": "production_data_review",
      "toEventKey": "main_product_production",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_021",
      "fromEventKey": "production_data_review",
      "toEventKey": "glass_part_prepare",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_022",
      "fromEventKey": "production_data_review",
      "toEventKey": "hardware_accessory_prepare",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_023",
      "fromEventKey": "main_product_production",
      "toEventKey": "production_midpoint_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_024",
      "fromEventKey": "main_product_production",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_025",
      "fromEventKey": "glass_part_prepare",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_026",
      "fromEventKey": "hardware_accessory_prepare",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_027",
      "fromEventKey": "factory_quality_check",
      "toEventKey": "packaging_room_marking",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_028",
      "fromEventKey": "packaging_room_marking",
      "toEventKey": "pre_delivery_payment_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_029",
      "fromEventKey": "packaging_room_marking",
      "toEventKey": "delivery_install_schedule",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_030",
      "fromEventKey": "delivery_install_schedule",
      "toEventKey": "property_logistics_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_031",
      "fromEventKey": "delivery_install_schedule",
      "toEventKey": "old_door_removal_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_032",
      "fromEventKey": "delivery_install_schedule",
      "toEventKey": "site_install_readiness",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_033",
      "fromEventKey": "delivery_install_schedule",
      "toEventKey": "delivery_receipt_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_034",
      "fromEventKey": "delivery_receipt_check",
      "toEventKey": "site_protection_opening_recheck",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_035",
      "fromEventKey": "site_protection_opening_recheck",
      "toEventKey": "frame_casing_install",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_036",
      "fromEventKey": "frame_casing_install",
      "toEventKey": "door_leaf_install",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_037",
      "fromEventKey": "door_leaf_install",
      "toEventKey": "glass_install",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_038",
      "fromEventKey": "door_leaf_install",
      "toEventKey": "hardware_lock_install_adjust",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_039",
      "fromEventKey": "glass_install",
      "toEventKey": "hardware_lock_install_adjust",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_040",
      "fromEventKey": "hardware_lock_install_adjust",
      "toEventKey": "sealing_finishing_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_041",
      "fromEventKey": "hardware_lock_install_adjust",
      "toEventKey": "overall_operation_self_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_042",
      "fromEventKey": "sealing_finishing_check",
      "toEventKey": "overall_operation_self_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_043",
      "fromEventKey": "overall_operation_self_check",
      "toEventKey": "site_clean_acceptance_prep",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_044",
      "fromEventKey": "overall_operation_self_check",
      "toEventKey": "customer_final_acceptance",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_045",
      "fromEventKey": "customer_final_acceptance",
      "toEventKey": "acceptance_issue_close",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_046",
      "fromEventKey": "customer_final_acceptance",
      "toEventKey": "final_payment_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_047",
      "fromEventKey": "customer_final_acceptance",
      "toEventKey": "handover_use_maintenance",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_048",
      "fromEventKey": "customer_final_acceptance",
      "toEventKey": "project_archive",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_049",
      "fromEventKey": "handover_use_maintenance",
      "toEventKey": "aftersales_info_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_050",
      "fromEventKey": "project_archive",
      "toEventKey": "aftersales_info_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    }
  ],
  "nodeStartConditions": [
    {
      "key": "condition_001",
      "targetNodeKey": "remeasure_order",
      "sourceEventKey": "preliminary_solution_quote"
    },
    {
      "key": "condition_002",
      "targetNodeKey": "production_qc",
      "sourceEventKey": "production_order_release"
    },
    {
      "key": "condition_003",
      "targetNodeKey": "delivery_prep",
      "sourceEventKey": "packaging_room_marking"
    },
    {
      "key": "condition_004",
      "targetNodeKey": "site_installation",
      "sourceEventKey": "delivery_install_schedule"
    },
    {
      "key": "condition_005",
      "targetNodeKey": "acceptance_closeout",
      "sourceEventKey": "overall_operation_self_check"
    },
    {
      "key": "condition_006",
      "targetNodeKey": "archive_aftersales",
      "sourceEventKey": "customer_final_acceptance"
    }
  ],
  "reminderRules": [
    {
      "key": "reminder_001",
      "eventKey": "initial_site_measurement",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天上门初尺：确认客户时间、地址和现场可进入，并准备逐个记录洞口、墙厚、地面及开启条件。",
      "enabled": true
    },
    {
      "key": "reminder_002",
      "eventKey": "initial_site_measurement",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天初尺：除宽高厚外，注意完成面状态、开启空间和待确认条件，初尺不要直接作为生产尺寸。",
      "enabled": true
    },
    {
      "key": "reminder_003",
      "eventKey": "preliminary_solution_quote",
      "offsetDays": 0,
      "time": "14:00",
      "message": "今天整理初步方案：把不同房间对应的品类、开启方式、待复尺项和待选配置明确区分。",
      "enabled": true
    },
    {
      "key": "reminder_004",
      "eventKey": "remeasure_readiness_check",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天确认复尺条件：洞口、墙地面和相关完成面仍可能变化时，不要锁定生产尺寸。",
      "enabled": true
    },
    {
      "key": "reminder_005",
      "eventKey": "final_site_remeasurement",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天最终复尺：带上初尺记录和当前订单配置，逐个洞口对照复核。",
      "enabled": true
    },
    {
      "key": "reminder_006",
      "eventKey": "final_site_remeasurement",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天最终复尺：宽高厚、墙体状态、完成面、地面标高和开启空间都要再次确认。",
      "enabled": true
    },
    {
      "key": "reminder_007",
      "eventKey": "opening_rectification_check",
      "offsetDays": 0,
      "time": "14:30",
      "message": "如发现洞口异常，今天明确是否需要整改及完成时间；未解决前不要强行下单。",
      "enabled": true
    },
    {
      "key": "reminder_008",
      "eventKey": "product_spec_confirm",
      "offsetDays": 0,
      "time": "15:00",
      "message": "今天确认产品配置：品类、材质、颜色、表面效果和套线等必须与客户选择一致。",
      "enabled": true
    },
    {
      "key": "reminder_009",
      "eventKey": "glass_config_confirm",
      "offsetDays": 0,
      "time": "15:30",
      "message": "订单如含玻璃门或室内窗，今天确认玻璃配置；无玻璃产品直接标记无需处理。",
      "enabled": true
    },
    {
      "key": "reminder_010",
      "eventKey": "hardware_lock_confirm",
      "offsetDays": 0,
      "time": "16:00",
      "message": "今天核对锁具和五金：合页、门吸、滑轨、拉手等与对应产品逐项匹配。",
      "enabled": true
    },
    {
      "key": "reminder_011",
      "eventKey": "final_quote_confirm",
      "offsetDays": 0,
      "time": "17:00",
      "message": "最终报价确认前，再核对数量、增减项、选配项及变更，避免报价版本与生产版本不一致。",
      "enabled": true
    },
    {
      "key": "reminder_012",
      "eventKey": "production_order_release",
      "offsetDays": 0,
      "time": "10:00",
      "message": "今天正式下单：确认使用最终复尺和客户确认版本；下单后的任何变更先评估费用和交期。",
      "enabled": true
    },
    {
      "key": "reminder_013",
      "eventKey": "production_data_review",
      "offsetDays": 0,
      "time": "09:30",
      "message": "今天生产资料复核：逐个洞口核对尺寸、开启、颜色、玻璃和五金，避免错洞口、错配置。",
      "enabled": true
    },
    {
      "key": "reminder_014",
      "eventKey": "main_product_production",
      "offsetDays": 4,
      "time": "10:00",
      "message": "生产进入前半段：检查主要产品、玻璃和五金配套是否同步推进，及时发现缺料或延期风险。",
      "enabled": true
    },
    {
      "key": "reminder_015",
      "eventKey": "main_product_production",
      "offsetDays": 8,
      "time": "10:00",
      "message": "生产进入后半段：提前核对预计完成和齐套情况，为质检、包装及安装排期做准备。",
      "enabled": true
    },
    {
      "key": "reminder_016",
      "eventKey": "factory_quality_check",
      "offsetDays": -1,
      "time": "16:30",
      "message": "明天出厂检查：提前汇总各房间、各洞口产品和配件的齐套状态。",
      "enabled": true
    },
    {
      "key": "reminder_017",
      "eventKey": "factory_quality_check",
      "offsetDays": 0,
      "time": "09:00",
      "message": "今天出厂检查：数量、洞口标识、外观、玻璃和五金配件异常处理完再包装。",
      "enabled": true
    },
    {
      "key": "reminder_018",
      "eventKey": "packaging_room_marking",
      "offsetDays": 0,
      "time": "15:00",
      "message": "今天包装：按项目、房间和洞口分类标识，发货清单要与实际包装对应。",
      "enabled": true
    },
    {
      "key": "reminder_019",
      "eventKey": "pre_delivery_payment_check",
      "offsetDays": 0,
      "time": "10:00",
      "message": "如合同设有发货前收款节点，今天核对是否满足；无对应约定则标记无需处理。",
      "enabled": true
    },
    {
      "key": "reminder_020",
      "eventKey": "delivery_install_schedule",
      "offsetDays": 0,
      "time": "09:30",
      "message": "今天锁定送货安装排期：客户时间、物业搬运、旧门拆除和现场施工状态一起确认。",
      "enabled": true
    },
    {
      "key": "reminder_021",
      "eventKey": "site_install_readiness",
      "offsetDays": -1,
      "time": "17:30",
      "message": "明天安装前复查现场：洞口应具备安装条件，安装区域可施工，并确认与其他工种无明显冲突。",
      "enabled": true
    },
    {
      "key": "reminder_022",
      "eventKey": "delivery_receipt_check",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天送货：再次确认地址、联系人、搬运条件和成品堆放保护位置。",
      "enabled": true
    },
    {
      "key": "reminder_023",
      "eventKey": "delivery_receipt_check",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天到货先清点：按房间和洞口核对门扇、门套、框体、玻璃及五金，异常先记录。",
      "enabled": true
    },
    {
      "key": "reminder_024",
      "eventKey": "frame_casing_install",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天安装框体：确认洞口复核、成品保护和安装基准已经完成。",
      "enabled": true
    },
    {
      "key": "reminder_025",
      "eventKey": "frame_casing_install",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天安装门框门套或相关框体：先定位校正，再按产品和现场要求固定。",
      "enabled": true
    },
    {
      "key": "reminder_026",
      "eventKey": "door_leaf_install",
      "offsetDays": 0,
      "time": "09:30",
      "message": "今天安装门扇或活动扇：再次核对开启方向和对应洞口，避免装错位置。",
      "enabled": true
    },
    {
      "key": "reminder_027",
      "eventKey": "hardware_lock_install_adjust",
      "offsetDays": 0,
      "time": "13:30",
      "message": "今天完成锁具和五金调试：启闭、锁闭、滑动及配件功能要现场逐项检查。",
      "enabled": true
    },
    {
      "key": "reminder_028",
      "eventKey": "sealing_finishing_check",
      "offsetDays": 0,
      "time": "15:00",
      "message": "安装收尾时检查门套、框体与墙地面的接缝和外观，发现异常及时处理。",
      "enabled": true
    },
    {
      "key": "reminder_029",
      "eventKey": "overall_operation_self_check",
      "offsetDays": 0,
      "time": "16:00",
      "message": "正式验收前先自检：开启关闭、牢固性、五金、玻璃、收口、外观和配件完整性逐项确认。",
      "enabled": true
    },
    {
      "key": "reminder_030",
      "eventKey": "customer_final_acceptance",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天客户验收：准备最终订单、变更记录和问题处理结果，已知问题尽量提前闭环。",
      "enabled": true
    },
    {
      "key": "reminder_031",
      "eventKey": "customer_final_acceptance",
      "offsetDays": 0,
      "time": "09:00",
      "message": "今天验收：按最终订单逐项核对外观、启闭、锁具五金、玻璃和收口，有问题当场形成清单。",
      "enabled": true
    },
    {
      "key": "reminder_032",
      "eventKey": "final_payment_check",
      "offsetDays": 0,
      "time": "15:00",
      "message": "按实际合同核对尾款或最终结算，不按模板预设付款比例和金额。",
      "enabled": true
    },
    {
      "key": "reminder_033",
      "eventKey": "project_archive",
      "offsetDays": 0,
      "time": "16:00",
      "message": "项目完成后归档初尺、复尺、最终订单、变更、发货、安装和验收资料，便于后续补件售后。",
      "enabled": true
    }
  ],
  "extensions": {
    "cn.lejia": {
      "events": {
        "initial_site_measurement": {
          "eventKind": "booking",
          "completionPurpose": "none"
        },
        "final_site_remeasurement": {
          "eventKind": "booking",
          "completionPurpose": "none"
        },
        "main_product_production": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "factory_quality_check": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "delivery_receipt_check": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "frame_casing_install": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "door_leaf_install": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "hardware_lock_install_adjust": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "customer_final_acceptance": {
          "eventKind": "acceptance",
          "completionPurpose": "none"
        },
        "initial_payment_check": {
          "eventKind": "payment",
          "completionPurpose": "none"
        },
        "pre_delivery_payment_check": {
          "eventKind": "payment",
          "completionPurpose": "none"
        },
        "final_payment_check": {
          "eventKind": "payment",
          "completionPurpose": "none"
        }
      }
    }
  }
}