graph TD
%% ══════════════════════════════════════════════
%% 获客 Acquisition
%% ══════════════════════════════════════════════
subgraph ACQ ["获客 Acquisition"]
direction TB
OAUTH["OAuth连接"]
SEO["SEO Agent"]
GBP_OPT["GBP优化"]
CONTENT["Content Agent"]
SAFETY["安全过滤"]
PUBLISH["内容发布"]
REVIEW_A["Review Agent"]
REV_POLL["评价轮询"]
REV_EVAL["评价评估"]
REV_REPLY["自动回复"]
COMP["Competitor Agent"]
COMP_SNAP["竞品快照"]
OAUTH --> SEO
OAUTH --> CONTENT
OAUTH --> REVIEW_A
SEO --> GBP_OPT
CONTENT --> SAFETY --> PUBLISH
REVIEW_A --> REV_POLL --> REV_EVAL --> REV_REPLY
COMP --> COMP_SNAP
end
style ACQ fill:#0d1117,stroke:#3b82f6,color:#3b82f6
%% ══════════════════════════════════════════════
%% 转化 Conversion
%% ══════════════════════════════════════════════
subgraph CONV ["转化 Conversion"]
direction TB
ONLINE["Online Booking"]
KIOSK["Kiosk Walk-in"]
PHONE["Phone Bot"]
AGENT_CHAT["Agent Chat"]
FRONT["前台手动"]
CONFLICT["冲突检测"]
APT_CREATE["预约创建"]
NOTIFY["通知确认"]
ONLINE --> CONFLICT
KIOSK --> CONFLICT
PHONE --> CONFLICT
AGENT_CHAT --> CONFLICT
FRONT --> CONFLICT
CONFLICT --> APT_CREATE --> NOTIFY
end
style CONV fill:#0d1117,stroke:#8b5cf6,color:#8b5cf6
%% ══════════════════════════════════════════════
%% 服务交付 Delivery
%% ══════════════════════════════════════════════
subgraph DELV ["服务交付 Delivery"]
direction TB
CHECKIN_K["Kiosk签到"]
CHECKIN_F["前台签到"]
CHECKIN_A["自动签到"]
QUEUE["签到队列"]
ASSIGN["分配技师"]
IN_SVC["服务中"]
SVC_DONE["服务完成"]
CHECKIN_K --> QUEUE
CHECKIN_F --> QUEUE
CHECKIN_A --> QUEUE
QUEUE --> ASSIGN --> IN_SVC --> SVC_DONE
end
style DELV fill:#0d1117,stroke:#06b6d4,color:#06b6d4
%% ══════════════════════════════════════════════
%% 收款 Payment
%% ══════════════════════════════════════════════
subgraph PAY ["收款 Payment"]
direction TB
CHECKOUT["结账发起"]
PRICE["价格计算"]
PAY_POS["POS刷卡"]
PAY_CASH["现金"]
PAY_SPLIT["分账"]
PAY_GIFT["礼卡抵扣"]
PAY_DONE["支付完成"]
RECEIPT["收据"]
INVOICE["发票"]
TIP_ALLOC["小费分配"]
COMM_CALC["佣金计算"]
CASH_DRW["现金抽屉"]
PTS_ADD["积分累计"]
CHECKOUT --> PRICE
PRICE --> PAY_POS --> PAY_DONE
PRICE --> PAY_CASH --> PAY_DONE
PRICE --> PAY_SPLIT --> PAY_DONE
PRICE --> PAY_GIFT --> PAY_DONE
PAY_DONE --> RECEIPT
PAY_DONE --> INVOICE
PAY_DONE --> TIP_ALLOC
PAY_DONE --> COMM_CALC
PAY_DONE --> CASH_DRW
PAY_DONE --> PTS_ADD
end
style PAY fill:#0d1117,stroke:#22c55e,color:#22c55e
%% ══════════════════════════════════════════════
%% 留存复购 Retention
%% ══════════════════════════════════════════════
subgraph RET ["留存复购 Retention"]
direction TB
LOYALTY_PTS["积分累计"]
TIER_EVAL["等级评估"]
MEMBER_UP["会员升级"]
REFER_CODE["推荐码"]
REFER_TRACK["追踪"]
REFER_REWARD["奖励"]
GIFT_BUY["礼卡购买"]
GIFT_DELIVER["礼卡配送"]
GIFT_CLAIM["礼卡领取"]
GIFT_USE["礼卡使用"]
TAG_EVAL["标签评估"]
TRIGGER["触发器"]
MKT_SEND["营销发送"]
RECALL["召回"]
REV_REQ["评价请求"]
LOYALTY_PTS --> TIER_EVAL --> MEMBER_UP
REFER_CODE --> REFER_TRACK --> REFER_REWARD
GIFT_BUY --> GIFT_DELIVER --> GIFT_CLAIM --> GIFT_USE
TAG_EVAL --> TRIGGER --> MKT_SEND --> RECALL
end
style RET fill:#0d1117,stroke:#f59e0b,color:#f59e0b
%% ══════════════════════════════════════════════
%% 运营管理 Operations
%% ══════════════════════════════════════════════
subgraph OPS ["运营管理 Operations"]
direction TB
SCHED_TPL["排班模板"]
SHIFT["班次"]
CLOCK["打卡"]
TIMECARD["工时卡"]
COMM_IN["佣金汇入"]
TIP_IN["小费汇入"]
PAYROLL["薪酬计算"]
CSV_EXP["CSV导出"]
REPORT["报表引擎"]
AI_INSIGHT["AI洞察"]
SCHED_TPL --> SHIFT
CLOCK --> TIMECARD
COMM_IN --> PAYROLL
TIP_IN --> PAYROLL
TIMECARD --> PAYROLL
PAYROLL --> CSV_EXP
REPORT --> AI_INSIGHT
end
style OPS fill:#0d1117,stroke:#ef4444,color:#ef4444
%% ══════════════════════════════════════════════
%% 跨域边 Cross-domain Edges
%% ══════════════════════════════════════════════
%% E1: 获客 → 转化 (GBP booking URL) -- 部分连通
GBP_OPT -->|"booking URL"| ONLINE
%% E2: 转化 → 交付 (预约→签到) -- 已连通
APT_CREATE --> CHECKIN_K
APT_CREATE --> CHECKIN_F
APT_CREATE --> CHECKIN_A
%% E3: 交付 → 收款 (完成→结账) -- 已连通
SVC_DONE --> CHECKOUT
%% E4: 收款 → 留存 (支付→积分) -- 已连通
PTS_ADD --> LOYALTY_PTS
%% E5: 收款 → 运营 (交易→报表/佣金) -- 已连通
COMM_CALC --> COMM_IN
TIP_ALLOC --> TIP_IN
PAY_DONE --> REPORT
%% E6: 交付 → 留存 (完成→评价请求) -- 部分连通
SVC_DONE --> REV_REQ
%% E7: 留存 → 转化 (召回→新预约) -- 部分连通
RECALL --> ONLINE
%% E8: 留存 → 获客 (好评→SEO) -- 断裂
REV_REQ --> REV_POLL
%% E9: 交付 → 运营 (工时数据) -- 已连通
IN_SVC --> CLOCK
%% 礼卡使用回流到收款
GIFT_USE --> PAY_GIFT
%% ══════════════════════════════════════════════
%% linkStyle: 跨域边着色
%% 按照边出现顺序编号 (subgraph内部边先计数)
%%
%% ACQ 内部边: 0-9 (10条)
%% OAUTH→SEO, OAUTH→CONTENT, OAUTH→REVIEW_A,
%% SEO→GBP_OPT,
%% CONTENT→SAFETY, SAFETY→PUBLISH,
%% REVIEW_A→REV_POLL, REV_POLL→REV_EVAL, REV_EVAL→REV_REPLY,
%% COMP→COMP_SNAP
%% = 10 edges (indices 0-9)
%%
%% CONV 内部边: 10-16 (7条)
%% ONLINE→CONFLICT, KIOSK→CONFLICT, PHONE→CONFLICT,
%% AGENT_CHAT→CONFLICT, FRONT→CONFLICT,
%% CONFLICT→APT_CREATE, APT_CREATE→NOTIFY
%% = 7 edges (indices 10-16)
%%
%% DELV 内部边: 17-22 (6条)
%% CHECKIN_K→QUEUE, CHECKIN_F→QUEUE, CHECKIN_A→QUEUE,
%% QUEUE→ASSIGN, ASSIGN→IN_SVC, IN_SVC→SVC_DONE
%% = 6 edges (indices 17-22)
%%
%% PAY 内部边: 23-37 (15条)
%% CHECKOUT→PRICE,
%% PRICE→PAY_POS, PAY_POS→PAY_DONE,
%% PRICE→PAY_CASH, PAY_CASH→PAY_DONE,
%% PRICE→PAY_SPLIT, PAY_SPLIT→PAY_DONE,
%% PRICE→PAY_GIFT, PAY_GIFT→PAY_DONE,
%% PAY_DONE→RECEIPT, PAY_DONE→INVOICE,
%% PAY_DONE→TIP_ALLOC, PAY_DONE→COMM_CALC,
%% PAY_DONE→CASH_DRW, PAY_DONE→PTS_ADD
%% = 15 edges (indices 23-37)
%%
%% RET 内部边:
%% LOYALTY_PTS→TIER_EVAL, TIER_EVAL→MEMBER_UP,
%% REFER_CODE→REFER_TRACK, REFER_TRACK→REFER_REWARD,
%% GIFT_BUY→GIFT_DELIVER, GIFT_DELIVER→GIFT_CLAIM, GIFT_CLAIM→GIFT_USE,
%% TAG_EVAL→TRIGGER, TRIGGER→MKT_SEND, MKT_SEND→RECALL
%% = 10 edges (indices 38-47)
%%
%% OPS 内部边:
%% SCHED_TPL→SHIFT, CLOCK→TIMECARD,
%% COMM_IN→PAYROLL, TIP_IN→PAYROLL, TIMECARD→PAYROLL,
%% PAYROLL→CSV_EXP, REPORT→AI_INSIGHT
%% = 7 edges (indices 48-54)
%%
%% Cross-domain edges:
%% 55: GBP_OPT→ONLINE (E1, warn)
%% 56: APT_CREATE→CHECKIN_K (E2, ok)
%% 57: APT_CREATE→CHECKIN_F (E2, ok)
%% 58: APT_CREATE→CHECKIN_A (E2, ok)
%% 59: SVC_DONE→CHECKOUT (E3, ok)
%% 60: PTS_ADD→LOYALTY_PTS (E4, ok)
%% 61: COMM_CALC→COMM_IN (E5, ok)
%% 62: TIP_ALLOC→TIP_IN (E5, ok)
%% 63: PAY_DONE→REPORT (E5, ok)
%% 64: SVC_DONE→REV_REQ (E6, warn)
%% 65: RECALL→ONLINE (E7, warn)
%% 66: REV_REQ→REV_POLL (E8, fail)
%% 67: IN_SVC→CLOCK (E9, ok)
%% 68: GIFT_USE→PAY_GIFT (gift loop, ok)
%% E1: warn
linkStyle 55 stroke:#f59e0b,stroke-width:2px,stroke-dasharray:5
%% E2: ok
linkStyle 56 stroke:#22c55e,stroke-width:2px
linkStyle 57 stroke:#22c55e,stroke-width:2px
linkStyle 58 stroke:#22c55e,stroke-width:2px
%% E3: ok
linkStyle 59 stroke:#22c55e,stroke-width:2px
%% E4: ok
linkStyle 60 stroke:#22c55e,stroke-width:2px
%% E5: ok
linkStyle 61 stroke:#22c55e,stroke-width:2px
linkStyle 62 stroke:#22c55e,stroke-width:2px
linkStyle 63 stroke:#22c55e,stroke-width:2px
%% E6: warn
linkStyle 64 stroke:#f59e0b,stroke-width:2px,stroke-dasharray:5
%% E7: warn
linkStyle 65 stroke:#f59e0b,stroke-width:2px,stroke-dasharray:5
%% E8: fail
linkStyle 66 stroke:#ef4444,stroke-width:2px,stroke-dasharray:5
%% E9: ok
linkStyle 67 stroke:#22c55e,stroke-width:2px
%% Gift loop: ok
linkStyle 68 stroke:#22c55e,stroke-width:2px