Путь роли по экранам (user-flow). Узлы — экраны S-NN, события и решения; тип кодируется цветом (словарь §5). Внешние системы — пунктиром. Граф 1:1 с Mermaid-каноном courier-delivery.md.
user-flows/courier-delivery.md.
%%{init:{"theme":"base","themeVariables":{"fontFamily":"Hanken Grotesk, ui-sans-serif, sans-serif","fontSize":"14px","lineColor":"#5a4d3d","primaryColor":"#f6e6cd","primaryBorderColor":"#d5842a","primaryTextColor":"#241b12","clusterBkg":"#fbf7ef","clusterBorder":"#d0c1a6","edgeLabelBackground":"#fbf7ef"},"flowchart":{"curve":"basis","nodeSpacing":40,"rankSpacing":52,"htmlLabels":true,"useMaxWidth":false,"padding":16}}}%%
flowchart TD
Start(["Курьер открывает список доставок"]) --> S29["S-29 · Мои доставки (список)"]
DISP(["🟡 Диспетчер назначает курьера
(нет экрана слоя 2 — _landscape.md §6)"]) -. "карточка появляется
в статусе «Назначен»" .-> S29
S29 --> ORIGIN{"Карточка свободна
или уже назначена?"}
ORIGIN -->|"свободна"| SELF["«Назначить себя»
(прямое право курьера)"]
ORIGIN -->|"уже назначена"| TAP["Тап по карточке «Назначен»"]
SELF --> TAP
TAP --> PINGATE["PIN-гейт: открытие доставки
(авто-шаг авторизации)"]
PINGATE --> DETAIL["S-29 · Деталь доставки
(адрес, состав пречека)"]
DETAIL --> PRINT["«Печать пречека»"]
PRINT --> ST1["Степпер: отметить «Принял»"]
ST1 --> ST2["Степпер: отметить «В пути»"]
ST2 --> ST3["Степпер: отметить «Доставлен»"]
ST3 --> SLAGATE{"Общее время > 45 мин
(SLA-норматив, E-07)?"}
SLAGATE -->|"да"| OVER["«▨ просрочено» —
SLA превышен (штрихом, не цветом)"]
SLAGATE -->|"нет"| INTIME["В норме"]
OVER --> DONE(["Доставка закрыта —
KPI посчитан (🟡 слой 3)"])
INTIME --> DONE
DONE --> S29
classDef screen fill:#e5ecf6,stroke:#5b7bb0,color:#243a5f;
classDef gate fill:#f8e8cf,stroke:#c9791f,color:#7a4a10;
classDef event fill:#dcefe1,stroke:#3c8a5b,color:#1c4a30;
classDef warn fill:#faedd0,stroke:#d99a2b,color:#7a4d06;
classDef auth fill:#ede7f6,stroke:#7e57c2,color:#4527a0;
class S29,SELF,TAP,DETAIL,PRINT,ST1,ST2,ST3,INTIME screen;
class ORIGIN,SLAGATE gate;
class Start,DISP,DONE event;
class OVER warn;
class PINGATE auth;