Путь роли по экранам (user-flow). Узлы — экраны S-NN, события и решения; тип кодируется цветом (словарь §5). Внешние системы — пунктиром. Граф 1:1 с Mermaid-каноном cook-ticket-bump.md.
user-flows/cook-ticket-bump.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
PAY(["Оплаченный заказ (E-02)"]) -.-> S09["S-09 · Доска тикетов KDS —
новый тикет, статус queued"]
TBL(["Заказ за столом — отправлен
официантом до оплаты (E-09 · 🟡 Этап 2)"]) -.-> S09
S09 -->|"«В работу»
(queued → preparing)"| COOK["Повар готовит блюда тикета
(статус preparing)"]
COOK -->|"«Готово · bump»
(preparing → ready)"| READY["Тикет готов (ready) —
уходит с активной ленты"]
READY -.->|"алерт"| NOTIFY(["Уведомление: касса / выдача —
заказ готов"])
READY --> ERRQ{"Тикет сбит
по ошибке?"}
ERRQ -->|"да — recall"| RECALL["«Recall» — вернуть тикет
на активную ленту (ready → preparing)"]
RECALL --> COOK
ERRQ -->|"нет"| SERVED(["Заказ выдан гостю — served
(кассир/выдача, вне этого флоу)"])
NOTIFY --> SERVED
classDef screen fill:#e5ecf6,stroke:#5b7bb0,color:#243a5f;
classDef gate fill:#f8e8cf,stroke:#c9791f,color:#7a4a10;
classDef event fill:#dcefe1,stroke:#3c8a5b,color:#1c4a30;
class S09,COOK,READY,RECALL screen;
class ERRQ gate;
class PAY,TBL,NOTIFY,SERVED event;