html: embed_local_images: false embed_svg: true offline: false toc: true
print_background: false export_on_save:
flowchart TD
%% 开始
Start([开始服务流程]) --> A
%% 主要服务状态
A[技师出发] --> B[技师到达]
B --> C[开始服务]
C --> D[服务进行中]
D --> E[服务结束]
E --> F[用户确认技师离开]
F --> G[技师撤离]
G --> H[订单结算]
H --> EndNode([订单完成])
%% 技师出发阶段异常
A --> A1{用户取消订单?}
A1 -->|是| A2[客服介入沟通]
A2 --> A3{用户是否继续?}
A3 -->|是| A
A3 -->|否| A4[技师撤离]
A4 --> A5[扣除违约金]
A5 --> EndNode
A --> B1{技师终止订单?}
B1 -->|是| B2[客服介入沟通]
B2 --> B3{技师是否继续?}
B3 -->|是| A
B3 -->|否| B4[客服联系用户]
B4 --> B5{是否更换技师?}
B5 -->|是| B6[重新分配技师]
B6 --> A
B5 -->|否| B7[订单结束]
B7 --> EndNode
%% 技师到达阶段异常
B --> C1{线下用户取消订单?}
C1 -->|是| C2[客服介入沟通]
C2 --> C3{用户是否继续?}
C3 -->|是| B
C3 -->|否| C4[技师撤离]
C4 --> C5[扣除违约金]
C5 --> EndNode
B --> D1{联系不上用户?}
D1 -->|是| D2[技师等待]
D2 --> D3{等待>10分钟?}
D3 -->|否| D2
D3 -->|是| D4[技师撤离]
D4 --> D5[扣除违约金]
D5 --> EndNode
%% 服务进行中操作
D --> E1{用户结束订单?}
E1 -->|是| E2[更新订单状态]
E2 --> E
D --> F1{用户打赏?}
F1 -->|是| F2[创建打赏订单]
F2 --> D
D --> G1{用户加钟?}
G1 -->|是| G2[更新服务时长]
G2 -->G3{是否发生下一个客户服务时间冲突}
G3 -->|是|G4[客服介入]
G3 -->|否| G11
G4 --> G5{技师和下一个用户协商往后延时?}
G5 -->|下一个用户不同意| G6[下一个用户与平台继续协商]
G6 -->G7{是否同意更换技师}
G7 -->|是| G8[更换技师]
G7 -->|否| G9[订单结束]
G5 -->|下一个用户同意| G10[更改下一订单开始服务时间]
G11 --> D
%% 样式定义
classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px
classDef startEnd fill:#b2dfdb,stroke:#004d40,stroke-width:2px
classDef process fill:#c8e6c9,stroke:#1b5e20,stroke-width:2px
classDef decision fill:#fff3e0,stroke:#e65100,stroke-width:2px
%% 应用样式
class Start,EndNode startEnd
class A,B,C,D,E,F,G,H process
class A1,B1,C1,D1,E1,F1,G1,A3,B3,B5,C3,D3 decision
click A href "#技师出发"
click A1 href "#技师出发中,用户取消订单"
click B1 href "#技师出发中,技师终止订单"
click B href "#技师到达"
click C1 href "#技师到达中,用户线下取消订单"
click D1 href "#技师到达,联系不上用户"
click D href "#开始服务"
click E1 href "#服务进行中,用户结束订单"
click F1 href "#服务进行中,用户打赏"
click G1 href "#服务进行中,用户加钟"
click E href "#服务结束"
click F href "#用户确认技师离开"
click G href "#技师撤离"
click H href "#订单结算"
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑:
后台逻辑: