FlowPOS · tochka
hi-fi · схема-флоу L2 · user-flow

Кассир — возврат

Путь роли по экранам (user-flow). Узлы — экраны S-NN, события и решения; тип кодируется цветом (словарь §5). Внешние системы — пунктиром. Граф 1:1 с Mermaid-каноном cashier-refund.md.

FLOW Путь по экранам Тематизированный Mermaid — единый стиль со схемами слоя 1. Граф 1:1 с каноном user-flows/cashier-refund.md.
событие экран S-NN гейт авторизация предупреждение стоп / отказ внешн. система переход message flow
%%{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 -->|да| SHIFT{"Чек из текущей смены?"} RIGHT -->|нет| AUTH["Авторизация:
прокатка MSR-карты"] AUTH --> SHIFT SHIFT -->|"да — текущая смена"| STO["Сторнировать чек / позицию"] SHIFT -->|"нет — прошлая (закрытая) смена"| GPAY{"Исходная оплата?"} GPAY -->|"карта / Kaspi QR"| AUM["Авторизация менеджера →
реверс на карту (эквайер) + сторно WebKassa"] GPAY -->|"наличные"| XBLK["Cross-shift Block: нал запрещён →
безнал (перевод) через бухгалтерию"] AUM --> D1 XBLK --> ACC["Безнал (перевод) через бухгалтерию"] STO -. "сторно" .-> WK["WebKassa"] AUM -. "возврат-чек (протокол — business-rules §5)" .-> WK WK -. "подтверждение" .-> STO STO --> SPLIT{"Сплит-возврат?"} SPLIT -->|да| PRIO["Приоритет — вернуть на карту;
бонусы не трогаем"] SPLIT -->|нет| PAY["Выдать деньги"] PRIO --> PAY PAY --> D1(["Возврат оформлен"]) ACC --> D2(["Возврат оформлен —
вне кассы, через бухгалтерию"]) ESC --> D3(["Возврат вне кассы"]) D1 --> S02 D2 --> 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 warn fill:#faedd0,stroke:#d99a2b,color:#7a4d06; classDef stop fill:#f6dcd5,stroke:#bc3f2b,color:#7a241c; class S02,S07,STO,PRIO,PAY screen; class WK ext; class FPD,RIGHT,SHIFT,SPLIT,GPAY gate; class AUTH,AUM auth; class XBLK,ACC warn; class ESC stop; class Start,OPENRET,D1,D2,D3 event;
◍ тематизированный MermaidТот же граф, что в каноне — тёплая тема поверх (как в схемах L1), граф-паритет 1:1.