Путь роли по экранам (user-flow). Узлы — экраны S-NN, события и решения; тип кодируется цветом (словарь §5). Внешние системы — пунктиром. Граф 1:1 с Mermaid-каноном cashier-refund.md.
user-flows/cashier-refund.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(["Гость просит вернуть товар"]) --> S02["S-02 · Экран заказа"]
S02 --> OPENRET(["Нажать «Возврат / Ticket»"])
OPENRET --> S07["S-07 · Возврат — выбор чека/позиции"]
S07 --> FPD{"ФПД найден и валиден?
(скан QR / номер чека)"}
FPD -->|"нет / без чека"| ESC["Блок на кассе →
эскалация в бухгалтерию"]
FPD -->|да| RIGHT{"Есть право
на возврат?"}
RIGHT -->|нет| AUTH["Авторизация:
прокатка MSR-карты"]
AUTH --> SHIFT
RIGHT -->|да| SHIFT{"Чек из текущей
или прошлой смены?"}
SHIFT -->|"текущая"| STO["Сторнировать чек / позицию"]
SHIFT -->|"прошлая (закрытая)"| AUM["Авториз. уполномоченного (холодный чек);
возврат по вчерашнему чеку (в текущей смене)"]
STO --> PAY{"Выдать по тендерам — на свой источник
(сплит-чек → несколько веток)"}
AUM --> PAY
PAY -->|"карта / Kaspi QR"| RCARD["Реверс на ту же карту (эквайер)"]
PAY -->|"наличные"| CASH["Нал из ящика
(прошлая смена → + объяснительная + коммент)"]
PAY -->|"бонусами (Этап 2)"| RBON["На бонусный баланс (CRM)"]
PAY -. "возврат чека" .-> WK["WebKassa"]
WK -. "подтверждение" .-> D1
RCARD --> D1(["Возврат оформлен"])
CASH --> D1
RBON --> D1
ESC --> D3(["Возврат вне кассы"])
D1 --> S02
D3 --> S02
classDef screen fill:#e5ecf6,stroke:#5b7bb0,color:#243a5f;
classDef ext fill:#f6efe2,stroke:#94866f,color:#5a4d3d,stroke-dasharray:5 3;
classDef gate fill:#f8e8cf,stroke:#c9791f,color:#7a4a10;
classDef event fill:#dcefe1,stroke:#3c8a5b,color:#1c4a30;
classDef auth fill:#ede7f6,stroke:#7e57c2,color:#4527a0;
classDef stop fill:#f6dcd5,stroke:#bc3f2b,color:#7a241c;
class S02,S07,STO,RCARD,CASH,RBON screen;
class WK ext;
class FPD,RIGHT,SHIFT,PAY gate;
class AUTH,AUM auth;
class ESC stop;
class Start,OPENRET,D1,D3 event;