{
  "schema": "lwts",
  "schemaVersion": "1.0",
  "template": {
    "key": "whole_house_custom_28d_management",
    "name": "全屋定制商家28天交付管理",
    "description": "适用于现场条件成熟、标准定制、无重大变更的全屋定制项目，从需求初尺到生产、配送、安装、验收的28天目标管理流程；特殊材料、复杂工艺、跨专业整改等按实际调整。",
    "version": 1
  },
  "nodes": [
    {
      "key": "needs_initial_design",
      "name": "需求、初尺与初步方案",
      "description": "完成客户需求梳理、首次量尺、空间条件记录、初步布局和范围确认，为复尺与深化设计建立基础。",
      "order": 0,
      "startStrategy": "auto"
    },
    {
      "key": "site_remeasure",
      "name": "现场成熟确认与最终复尺",
      "description": "确认影响定制尺寸的现场条件已基本稳定，完成生产前复尺，并核对门窗、墙地面、水电及设备等关键条件。",
      "order": 1,
      "startStrategy": "auto"
    },
    {
      "key": "design_order",
      "name": "深化设计、配置确认与下单",
      "description": "锁定最终布局、材料配置、功能五金、收口和设备适配，核对报价与范围后形成可生产版本并正式下单。",
      "order": 2,
      "startStrategy": "auto"
    },
    {
      "key": "production_qc",
      "name": "拆单、生产与齐套质检",
      "description": "完成生产资料复核，组织柜体、门板、台面及配件等并行生产或备货，并在出厂前完成订单一致性与齐套检查。",
      "order": 3,
      "startStrategy": "auto"
    },
    {
      "key": "delivery_install_prep",
      "name": "配送与安装准备",
      "description": "确认发货、搬运、物业、客户时间和安装现场条件，减少成品到场后等待、混件、缺件和交叉施工风险。",
      "order": 4,
      "startStrategy": "auto"
    },
    {
      "key": "site_install",
      "name": "现场安装、收口与调试",
      "description": "完成到货清点、成品保护、柜体及相关定制件安装、门板五金调试、必要收口和整体自检。",
      "order": 5,
      "startStrategy": "auto"
    },
    {
      "key": "acceptance_handover",
      "name": "验收、交付与售后归档",
      "description": "按最终订单和合同范围完成客户验收、问题闭环、结算条件核对、使用说明和项目资料归档。",
      "order": 6,
      "startStrategy": "auto"
    }
  ],
  "events": [
    {
      "key": "customer_needs_confirm",
      "nodeKey": "needs_initial_design",
      "name": "确认客户需求与项目范围",
      "description": "明确家庭成员、主要收纳、功能空间、风格偏好、装修进度、计划定制区域及已确定的设备信息；未确定参数保持待确认。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "none",
      "flowRole": "main"
    },
    {
      "key": "initial_measurement",
      "nodeKey": "needs_initial_design",
      "name": "首次上门量尺与现场勘察",
      "description": "记录墙面、梁柱、门窗、地面、吊顶、水电、设备位及其他影响定制设计的现场条件，并保留关键位置记录。",
      "order": 1,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "initial_site_risk_note",
      "nodeKey": "needs_initial_design",
      "name": "记录现场限制与待确认事项",
      "description": "把墙体不直、完成面未定、设备未选、施工未完成等可能影响尺寸或交付的事项单独记录，避免在初尺阶段误当最终条件。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "preliminary_design",
      "nodeKey": "needs_initial_design",
      "name": "形成初步布局与功能方案",
      "description": "根据需求和初尺形成各空间柜体布局、主要功能和配置方向，明确哪些内容仍需复尺、选样或设备资料确认。",
      "order": 3,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "initial_quote_scope",
      "nodeKey": "needs_initial_design",
      "name": "确认初步报价范围与包含项",
      "description": "核对计价范围、主要材料配置、选配项、安装边界和待确认项，不在模板中预设品牌、单价、折扣或付款比例。",
      "order": 4,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "contract_scope_confirm",
      "nodeKey": "needs_initial_design",
      "name": "确认合同或订单边界",
      "description": "确认设计范围、产品范围、预计周期、变更规则、安装边界和售后约定，具体配置与金额以实际合同或订单为准。",
      "order": 5,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "initial_payment_check",
      "nodeKey": "needs_initial_design",
      "name": "按合同核对首个收款条件",
      "description": "仅按实际合同确认是否达到对应收款节点，不预设定金比例、金额或支付方式；无对应节点时标记无需处理。",
      "order": 6,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "site_ready_for_remeasure",
      "nodeKey": "site_remeasure",
      "name": "确认现场具备最终复尺条件",
      "description": "确认会影响定制尺寸的墙地面、门窗、水电、吊顶及其他关键施工状态基本稳定；仍在变化时不要锁定生产尺寸。",
      "order": 0,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "final_remeasurement",
      "nodeKey": "site_remeasure",
      "name": "生产前最终复尺",
      "description": "复核各定制空间的净尺寸、墙角、完成面、梁柱、门窗、插座、水管、设备位及开门关系，并记录与初尺的差异。",
      "order": 1,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "utilities_appliance_check",
      "nodeKey": "site_remeasure",
      "name": "核对水电与设备适配条件",
      "description": "核对插座、给排水、空调或其他设备位置，以及嵌入式设备的尺寸、开门、散热和检修空间；专业接线接管由对应工种负责。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "wall_floor_finish_check",
      "nodeKey": "site_remeasure",
      "name": "核对墙地面与收口基准",
      "description": "确认墙面、地面、踢脚、吊顶及门套等与定制产品衔接的完成面或明确基准，异常位置在下单前形成处理意见。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "final_design_freeze",
      "nodeKey": "design_order",
      "name": "深化设计并冻结最终方案",
      "description": "根据最终复尺完成各空间深化，确认柜体结构、分格、门板、收口、开门关系及功能配置，形成客户确认的最终版本。",
      "order": 0,
      "expectedDurationDays": 2,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "material_finish_confirm",
      "nodeKey": "design_order",
      "name": "确认材料、颜色与表面配置",
      "description": "核对订单范围内的板材、门板、颜色、纹理、玻璃或其他表面配置；具体品牌和工艺以实际选样及订单为准。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "hardware_accessory_confirm",
      "nodeKey": "design_order",
      "name": "确认功能五金与配件",
      "description": "核对铰链、滑轨、拉手、拉篮、挂衣、照明等实际选配及数量，不适用项目可标记无对应配置。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "final_quote_change_confirm",
      "nodeKey": "design_order",
      "name": "确认最终报价与变更",
      "description": "依据最终方案核对增减项、选配项和变更后的订单范围，避免设计版本、报价版本和生产版本不一致。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "order_release",
      "nodeKey": "design_order",
      "name": "正式下单并冻结生产版本",
      "description": "以最终复尺和已确认方案作为生产依据正式下单；下单后的客户或现场变更必须先评估对已生产内容、费用和交期的影响。",
      "order": 4,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "post_order_change_review",
      "nodeKey": "design_order",
      "name": "下单后变更复核（如有）",
      "description": "如发生变更，明确受影响空间、部件、费用和交期后再决定是否执行；无变更时标记无事项。",
      "order": 5,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "production_split_review",
      "nodeKey": "production_qc",
      "name": "拆单与生产资料复核",
      "description": "复核各空间尺寸、柜体结构、门板、收口、孔位、五金及配套关系，确保拆单资料与最终确认版本一致。",
      "order": 0,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "main_cabinet_production",
      "nodeKey": "production_qc",
      "name": "主要柜体加工生产",
      "description": "按最终生产资料组织衣柜、玄关柜、餐边柜、书柜、电视柜等订单范围内主要柜体加工，具体品类按实际订单执行。",
      "order": 1,
      "expectedDurationDays": 11,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "door_panel_production",
      "nodeKey": "production_qc",
      "name": "门板与外观件并行生产",
      "description": "按订单组织门板、见光面、装饰件等生产或备货；复杂表面工艺所需时间按实际订单调整，不强行套用标准周期。",
      "order": 2,
      "expectedDurationDays": 9,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "countertop_special_parts",
      "nodeKey": "production_qc",
      "name": "台面及特殊配套件准备",
      "description": "对订单中存在的台面、玻璃、金属件或其他特殊配套件进行加工或备货；没有对应品类时标记无此项。",
      "order": 3,
      "expectedDurationDays": 7,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "hardware_accessory_prepare",
      "nodeKey": "production_qc",
      "name": "五金与功能配件齐套",
      "description": "按最终订单核对铰链、滑轨、拉手、收纳件、灯具及其他配件的型号和数量，避免安装阶段因缺件停工。",
      "order": 4,
      "expectedDurationDays": 5,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "production_midpoint_check",
      "nodeKey": "production_qc",
      "name": "生产中段进度与异常检查",
      "description": "检查主柜体、门板和配套件是否按计划推进，发现缺料、返工或交期风险时及时调整后续配送安装安排。",
      "order": 5,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "factory_quality_check",
      "nodeKey": "production_qc",
      "name": "出厂前订单一致性与质量检查",
      "description": "按订单检查主要部件的数量、外观、尺寸标识、孔位、包装和配件齐套情况，异常处理完成后再进入发货准备。",
      "order": 6,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "packaging_project_marking",
      "nodeKey": "production_qc",
      "name": "分类包装与项目标识",
      "description": "按空间和安装顺序分类包装柜体、门板及配件，保持项目与房间标识清晰，并做好运输保护和发货清单。",
      "order": 7,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "pre_delivery_payment_check",
      "nodeKey": "production_qc",
      "name": "按合同核对发货前收款条件",
      "description": "如合同设有发货前收款节点，在发货安排前核对是否满足；没有对应约定时标记无需处理。",
      "order": 8,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "install_schedule_confirm",
      "nodeKey": "delivery_install_prep",
      "name": "确认送货与安装排期",
      "description": "结合成品齐套状态、客户时间和现场施工计划确认送货与安装日期，避免成品长期堆放或与其他工种冲突。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "property_logistics_check",
      "nodeKey": "delivery_install_prep",
      "name": "核对物业、搬运和进场条件",
      "description": "如项目存在物业报备、电梯、搬运时段、停车或特殊运输要求，在发货前完成确认；无要求时标记无需处理。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "site_install_readiness",
      "nodeKey": "delivery_install_prep",
      "name": "安装前现场条件确认",
      "description": "确认安装区域可施工、地墙面具备保护条件、主要设备及接口状态明确，并与其他工种协调交叉作业。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "delivery_receipt",
      "nodeKey": "site_install",
      "name": "配送到场、清点与外观检查",
      "description": "按发货清单和空间标识核对柜体、门板、配件及特殊件，检查明显运输损伤和缺件，异常先记录再安排处理。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "site_protection_position_check",
      "nodeKey": "site_install",
      "name": "现场保护、放线与定位复核",
      "description": "做好地面、墙面和相邻成品保护，安装前复核柜体定位、完成面、插座、设备位和开门关系是否与最终资料一致。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "main_cabinet_install",
      "nodeKey": "site_install",
      "name": "主要柜体分区安装",
      "description": "按空间和安装顺序完成订单范围内主要柜体定位、连接、调整与固定，持续核对水平垂直、开门空间和相邻完成面。",
      "order": 2,
      "expectedDurationDays": 3,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "door_hardware_install",
      "nodeKey": "site_install",
      "name": "门板、抽屉与功能五金安装",
      "description": "完成订单范围内门板、抽屉、拉手、铰链、滑轨及功能配件安装，并进行初步缝隙、位置和启闭调整。",
      "order": 3,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "special_parts_install",
      "nodeKey": "site_install",
      "name": "台面、玻璃及特殊件安装（如有）",
      "description": "对订单中存在的台面、玻璃、金属件或其他特殊配套件完成现场复核和安装；无对应品类时标记无此项。",
      "order": 4,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "interface_fit_check",
      "nodeKey": "site_install",
      "name": "设备与接口适配复核",
      "description": "复核嵌入设备、插座、水电及其他预留空间与柜体是否匹配；不替代专业电气、燃气或给排水施工。",
      "order": 5,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "overall_adjust_self_check",
      "nodeKey": "site_install",
      "name": "整体调试与安装自检",
      "description": "检查柜体稳定、门板缝隙、抽屉和五金启闭、收口、外观、设备预留及配件完整性，形成待处理问题清单。",
      "order": 6,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "site_clean_acceptance_prep",
      "nodeKey": "site_install",
      "name": "现场清理与验收准备",
      "description": "清理包装和安装垃圾，整理验收区域，并准备最终订单、确认版本、变更记录和已知问题清单。",
      "order": 7,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "customer_acceptance",
      "nodeKey": "acceptance_handover",
      "name": "客户现场验收",
      "description": "按合同、最终方案、订单和实际交付逐项核对，重点检查外观、启闭、配件、收口、设备预留和约定范围完成情况。",
      "order": 0,
      "expectedDurationDays": 1,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "main"
    },
    {
      "key": "acceptance_issue_close",
      "nodeKey": "acceptance_handover",
      "name": "验收问题确认与闭环",
      "description": "有问题时形成明确清单并安排处理和复核；无问题时记录无待整改事项，再确认交付完成。",
      "order": 1,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "final_payment_check",
      "nodeKey": "acceptance_handover",
      "name": "按合同核对尾款或最终结算",
      "description": "依据实际合同核对最终应收、已收及变更调整事项，不在模板中预设尾款比例、金额或结算方式。",
      "order": 2,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "manual",
      "flowRole": "side"
    },
    {
      "key": "handover_use_maintenance",
      "nodeKey": "acceptance_handover",
      "name": "交付使用与维护说明",
      "description": "向客户说明柜门、抽屉、五金、台面或其他定制件的基本使用和维护注意事项，并确认后续问题反馈渠道。",
      "order": 3,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    },
    {
      "key": "project_archive_aftersales",
      "nodeKey": "acceptance_handover",
      "name": "项目资料与售后信息归档",
      "description": "归档初尺、复尺、最终方案、订单、变更、发货、验收及售后联系信息，便于后续维护、补件和复查。",
      "order": 4,
      "expectedDurationDays": 0,
      "preconditionMode": "all",
      "preconditionStrategy": "auto",
      "flowRole": "side"
    }
  ],
  "relations": [
    {
      "key": "relation_001",
      "fromEventKey": "customer_needs_confirm",
      "toEventKey": "initial_measurement",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_002",
      "fromEventKey": "initial_measurement",
      "toEventKey": "initial_site_risk_note",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_003",
      "fromEventKey": "initial_measurement",
      "toEventKey": "preliminary_design",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_004",
      "fromEventKey": "preliminary_design",
      "toEventKey": "initial_quote_scope",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_005",
      "fromEventKey": "preliminary_design",
      "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_design",
      "toEventKey": "site_ready_for_remeasure",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_008",
      "fromEventKey": "site_ready_for_remeasure",
      "toEventKey": "final_remeasurement",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_009",
      "fromEventKey": "final_remeasurement",
      "toEventKey": "utilities_appliance_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_010",
      "fromEventKey": "final_remeasurement",
      "toEventKey": "wall_floor_finish_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_011",
      "fromEventKey": "final_remeasurement",
      "toEventKey": "final_design_freeze",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_012",
      "fromEventKey": "utilities_appliance_check",
      "toEventKey": "final_design_freeze",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_013",
      "fromEventKey": "wall_floor_finish_check",
      "toEventKey": "final_design_freeze",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_014",
      "fromEventKey": "final_design_freeze",
      "toEventKey": "material_finish_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_015",
      "fromEventKey": "final_design_freeze",
      "toEventKey": "hardware_accessory_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_016",
      "fromEventKey": "final_design_freeze",
      "toEventKey": "final_quote_change_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_017",
      "fromEventKey": "material_finish_confirm",
      "toEventKey": "order_release",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_018",
      "fromEventKey": "hardware_accessory_confirm",
      "toEventKey": "order_release",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_019",
      "fromEventKey": "final_quote_change_confirm",
      "toEventKey": "order_release",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_020",
      "fromEventKey": "order_release",
      "toEventKey": "post_order_change_review",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_021",
      "fromEventKey": "order_release",
      "toEventKey": "production_split_review",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_022",
      "fromEventKey": "production_split_review",
      "toEventKey": "main_cabinet_production",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_023",
      "fromEventKey": "production_split_review",
      "toEventKey": "door_panel_production",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_024",
      "fromEventKey": "production_split_review",
      "toEventKey": "countertop_special_parts",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_025",
      "fromEventKey": "production_split_review",
      "toEventKey": "hardware_accessory_prepare",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_026",
      "fromEventKey": "main_cabinet_production",
      "toEventKey": "production_midpoint_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_027",
      "fromEventKey": "main_cabinet_production",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_028",
      "fromEventKey": "door_panel_production",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_029",
      "fromEventKey": "countertop_special_parts",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_030",
      "fromEventKey": "hardware_accessory_prepare",
      "toEventKey": "factory_quality_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_031",
      "fromEventKey": "factory_quality_check",
      "toEventKey": "packaging_project_marking",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_032",
      "fromEventKey": "packaging_project_marking",
      "toEventKey": "pre_delivery_payment_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_033",
      "fromEventKey": "packaging_project_marking",
      "toEventKey": "install_schedule_confirm",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_034",
      "fromEventKey": "install_schedule_confirm",
      "toEventKey": "property_logistics_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_035",
      "fromEventKey": "install_schedule_confirm",
      "toEventKey": "site_install_readiness",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_036",
      "fromEventKey": "install_schedule_confirm",
      "toEventKey": "delivery_receipt",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_037",
      "fromEventKey": "delivery_receipt",
      "toEventKey": "site_protection_position_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_038",
      "fromEventKey": "site_protection_position_check",
      "toEventKey": "main_cabinet_install",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_039",
      "fromEventKey": "main_cabinet_install",
      "toEventKey": "door_hardware_install",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_040",
      "fromEventKey": "door_hardware_install",
      "toEventKey": "special_parts_install",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_041",
      "fromEventKey": "door_hardware_install",
      "toEventKey": "interface_fit_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_042",
      "fromEventKey": "door_hardware_install",
      "toEventKey": "overall_adjust_self_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_043",
      "fromEventKey": "special_parts_install",
      "toEventKey": "overall_adjust_self_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_044",
      "fromEventKey": "interface_fit_check",
      "toEventKey": "overall_adjust_self_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_045",
      "fromEventKey": "overall_adjust_self_check",
      "toEventKey": "site_clean_acceptance_prep",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_046",
      "fromEventKey": "overall_adjust_self_check",
      "toEventKey": "customer_acceptance",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_047",
      "fromEventKey": "customer_acceptance",
      "toEventKey": "acceptance_issue_close",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_048",
      "fromEventKey": "customer_acceptance",
      "toEventKey": "final_payment_check",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_049",
      "fromEventKey": "customer_acceptance",
      "toEventKey": "handover_use_maintenance",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_050",
      "fromEventKey": "acceptance_issue_close",
      "toEventKey": "project_archive_aftersales",
      "type": "mustFinishBefore",
      "offsetDays": 0
    },
    {
      "key": "relation_051",
      "fromEventKey": "handover_use_maintenance",
      "toEventKey": "project_archive_aftersales",
      "type": "mustFinishBefore",
      "offsetDays": 0
    }
  ],
  "nodeStartConditions": [
    {
      "key": "condition_001",
      "targetNodeKey": "site_remeasure",
      "sourceEventKey": "preliminary_design"
    },
    {
      "key": "condition_002",
      "targetNodeKey": "design_order",
      "sourceEventKey": "final_remeasurement"
    },
    {
      "key": "condition_003",
      "targetNodeKey": "production_qc",
      "sourceEventKey": "order_release"
    },
    {
      "key": "condition_004",
      "targetNodeKey": "delivery_install_prep",
      "sourceEventKey": "packaging_project_marking"
    },
    {
      "key": "condition_005",
      "targetNodeKey": "site_install",
      "sourceEventKey": "install_schedule_confirm"
    },
    {
      "key": "condition_006",
      "targetNodeKey": "acceptance_handover",
      "sourceEventKey": "overall_adjust_self_check"
    }
  ],
  "reminderRules": [
    {
      "key": "reminder_001",
      "eventKey": "initial_measurement",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天上门初尺：确认客户时间、地址和现场可进入，并准备记录门窗、梁柱、水电、设备位等关键条件。",
      "enabled": true
    },
    {
      "key": "reminder_002",
      "eventKey": "initial_measurement",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天初尺：除尺寸外同步记录完成面状态和未确定条件，避免把初尺数据直接当生产尺寸。",
      "enabled": true
    },
    {
      "key": "reminder_003",
      "eventKey": "preliminary_design",
      "offsetDays": 0,
      "time": "09:30",
      "message": "今天整理初步方案：各空间布局、主要收纳、待复尺项和待选配置要明确区分。",
      "enabled": true
    },
    {
      "key": "reminder_004",
      "eventKey": "site_ready_for_remeasure",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天检查复尺条件：墙地面、门窗、水电、吊顶等会影响最终尺寸的事项应尽量稳定。",
      "enabled": true
    },
    {
      "key": "reminder_005",
      "eventKey": "final_remeasurement",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天最终复尺：带上初尺记录和当前方案，对现场变化逐项复核。",
      "enabled": true
    },
    {
      "key": "reminder_006",
      "eventKey": "final_remeasurement",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天最终复尺：关键尺寸、完成面、设备位和开门关系出现变化时，先更新设计再下单。",
      "enabled": true
    },
    {
      "key": "reminder_007",
      "eventKey": "utilities_appliance_check",
      "offsetDays": 0,
      "time": "14:00",
      "message": "今天核对设备与水电：嵌入设备尺寸、开门、散热、检修和接口位置不要遗漏。",
      "enabled": true
    },
    {
      "key": "reminder_008",
      "eventKey": "final_design_freeze",
      "offsetDays": 0,
      "time": "09:30",
      "message": "进入深化确认：柜体结构、分格、门板、收口、开门关系和设备适配都应基于最终复尺。",
      "enabled": true
    },
    {
      "key": "reminder_009",
      "eventKey": "final_design_freeze",
      "offsetDays": 1,
      "time": "16:00",
      "message": "最终方案冻结前再核对一次：设计版本、选样、报价和客户确认内容必须一致。",
      "enabled": true
    },
    {
      "key": "reminder_010",
      "eventKey": "order_release",
      "offsetDays": 0,
      "time": "10:00",
      "message": "今天正式下单：确认使用的是最终复尺和最终确认版本；下单后任何变更先评估费用与工期影响。",
      "enabled": true
    },
    {
      "key": "reminder_011",
      "eventKey": "production_split_review",
      "offsetDays": 0,
      "time": "09:30",
      "message": "今天拆单复核：尺寸、结构、孔位、收口、门板和五金配套关系确认无误后再进入生产。",
      "enabled": true
    },
    {
      "key": "reminder_012",
      "eventKey": "main_cabinet_production",
      "offsetDays": 4,
      "time": "10:00",
      "message": "生产进入前半段：检查主柜体、门板、特殊件和五金配件是否同步推进，及时发现缺料或延期风险。",
      "enabled": true
    },
    {
      "key": "reminder_013",
      "eventKey": "main_cabinet_production",
      "offsetDays": 8,
      "time": "10:00",
      "message": "生产进入后半段：提前检查齐套风险和预计完成时间，为质检、包装和安装排期做准备。",
      "enabled": true
    },
    {
      "key": "reminder_014",
      "eventKey": "factory_quality_check",
      "offsetDays": -1,
      "time": "16:30",
      "message": "明天出厂检查：提前汇总各空间柜体、门板、特殊件和五金配件齐套状态。",
      "enabled": true
    },
    {
      "key": "reminder_015",
      "eventKey": "factory_quality_check",
      "offsetDays": 0,
      "time": "09:00",
      "message": "今天出厂检查：订单一致性、数量、外观、标识、孔位和配件异常处理完再包装。",
      "enabled": true
    },
    {
      "key": "reminder_016",
      "eventKey": "packaging_project_marking",
      "offsetDays": 0,
      "time": "15:00",
      "message": "今天包装发货准备：按空间和安装顺序分类标识，发货清单要与实际包装对应。",
      "enabled": true
    },
    {
      "key": "reminder_017",
      "eventKey": "pre_delivery_payment_check",
      "offsetDays": 0,
      "time": "10:00",
      "message": "如合同设有发货前收款节点，今天核对是否满足；无对应约定则标记无需处理。",
      "enabled": true
    },
    {
      "key": "reminder_018",
      "eventKey": "install_schedule_confirm",
      "offsetDays": 0,
      "time": "09:30",
      "message": "今天锁定送货安装排期：客户时间、物业搬运、现场施工状态和安装连续性一起确认。",
      "enabled": true
    },
    {
      "key": "reminder_019",
      "eventKey": "delivery_receipt",
      "offsetDays": -1,
      "time": "17:30",
      "message": "明天送货：再次确认地址、联系人、搬运条件、现场堆放和成品保护条件。",
      "enabled": true
    },
    {
      "key": "reminder_020",
      "eventKey": "delivery_receipt",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天到货先清点：按空间和清单核对柜体、门板、五金及特殊件，缺件或运输损伤先记录。",
      "enabled": true
    },
    {
      "key": "reminder_021",
      "eventKey": "main_cabinet_install",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天进入主要柜体安装：确认现场保护、定位基准和与其他工种的交叉作业已协调。",
      "enabled": true
    },
    {
      "key": "reminder_022",
      "eventKey": "main_cabinet_install",
      "offsetDays": 0,
      "time": "08:30",
      "message": "今天安装前先复核定位和现场条件，再按空间顺序进行柜体连接、调整和固定。",
      "enabled": true
    },
    {
      "key": "reminder_023",
      "eventKey": "main_cabinet_install",
      "offsetDays": 2,
      "time": "17:00",
      "message": "主要柜体安装进入收尾：检查各空间是否存在缺件、错件、尺寸异常或待返工事项，尽早安排处理。",
      "enabled": true
    },
    {
      "key": "reminder_024",
      "eventKey": "door_hardware_install",
      "offsetDays": 0,
      "time": "09:00",
      "message": "今天安装门板和五金：同步调整缝隙、启闭、抽屉和功能配件，不把调试全部留到最后。",
      "enabled": true
    },
    {
      "key": "reminder_025",
      "eventKey": "special_parts_install",
      "offsetDays": -1,
      "time": "17:30",
      "message": "如有台面、玻璃或特殊件，明天安装前先确认现场尺寸和接口条件；无此项直接标记无需处理。",
      "enabled": true
    },
    {
      "key": "reminder_026",
      "eventKey": "interface_fit_check",
      "offsetDays": 0,
      "time": "14:00",
      "message": "今天复核设备与接口适配：发现预留不匹配先记录并协调对应专业工种，不强行修改。",
      "enabled": true
    },
    {
      "key": "reminder_027",
      "eventKey": "overall_adjust_self_check",
      "offsetDays": 0,
      "time": "15:30",
      "message": "安装结束先做整体自检：柜体稳定、门板、抽屉、五金、收口、外观、设备预留和配件逐项检查。",
      "enabled": true
    },
    {
      "key": "reminder_028",
      "eventKey": "customer_acceptance",
      "offsetDays": -1,
      "time": "18:00",
      "message": "明天客户验收：准备最终订单、变更记录和问题处理结果，已知问题尽量提前闭环。",
      "enabled": true
    },
    {
      "key": "reminder_029",
      "eventKey": "customer_acceptance",
      "offsetDays": 0,
      "time": "09:00",
      "message": "今天验收：按合同和最终确认版本逐项核对，有问题当场形成清单，避免仅口头记录。",
      "enabled": true
    },
    {
      "key": "reminder_030",
      "eventKey": "final_payment_check",
      "offsetDays": 0,
      "time": "15:00",
      "message": "按合同核对尾款或最终结算，不按模板预设付款比例和金额。",
      "enabled": true
    },
    {
      "key": "reminder_031",
      "eventKey": "project_archive_aftersales",
      "offsetDays": 0,
      "time": "16:30",
      "message": "项目结束请归档初尺、复尺、最终方案、订单、变更、发货、验收和售后信息。",
      "enabled": true
    }
  ],
  "extensions": {
    "cn.lejia": {
      "events": {
        "initial_measurement": {
          "eventKind": "booking",
          "completionPurpose": "none"
        },
        "final_remeasurement": {
          "eventKind": "booking",
          "completionPurpose": "none"
        },
        "main_cabinet_production": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "factory_quality_check": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "delivery_receipt": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "main_cabinet_install": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "door_hardware_install": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "overall_adjust_self_check": {
          "eventKind": "construction",
          "completionPurpose": "none"
        },
        "customer_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"
        }
      }
    }
  }
}