Перейти к содержанию

Спецификация 00. Обзор системы: контекст и контейнеры

Статус: ревизия №2 по итогам аудита корпуса · 10.10.2026. Числовые факты сопровождаются ссылками; канонические перечисления — в «Модели данных», §0.

Техническая спецификация платформы с визуальными схемами (Mermaid). Серия: 00 обзор → 01 доменная модель → 02 процессы → 03 контракты API → 04 деплой и офлайн. База: ../components/12-data-model.md.

1. Контекст системы (кто и что взаимодействует с платформой)

flowchart LR
    subgraph Гости["Гости"]
        G1["Гость в зале"]
        G2["Гость онлайн (сайт/приложение)"]
    end

    subgraph Персонал["Персонал точки"]
        W1["Кассир / официант"]
        W2["Повар"]
        W3["Курьер"]
        W4["Управляющий точкой"]
    end

    subgraph Сеть["Сеть / УК"]
        U1["Операционный директор УК"]
        U2["Франчайзи"]
        U3["Закупщик"]
    end

    LOVII[("Платформа lovii")]

    subgraph Внешние["Внешние системы"]
        AGG["Агрегаторы доставки"]
        OFD["ОФД / ФНС"]
        GOV["ЕГАИС / Честный ЗНАК / Меркурий"]
        BANK["Банк: эквайринг, СБП"]
        EDO["Оператор ЭДО"]
        ROUTE["Сервис маршрутизации"]
        SMS["СМС / мессенджеры"]
    end

    G1 -->|заказ у кассы| LOVII
    G2 -->|онлайн-заказ| LOVII
    W1 --> LOVII
    W2 --> LOVII
    W3 --> LOVII
    W4 --> LOVII
    U1 --> LOVII
    U2 --> LOVII
    U3 --> LOVII

    AGG <-->|заказы, стоп-листы| LOVII
    LOVII -->|фискальные документы| OFD
    LOVII <-->|алкоголь, маркировка, ВСД| GOV
    LOVII <-->|платежи| BANK
    LOVII <-->|УПД, акты| EDO
    LOVII -->|маршруты| ROUTE
    LOVII -->|статусы, чеки, отзывы| SMS

2. Контейнерная схема (из чего состоит платформа)

flowchart TB
    subgraph Фронт["Рабочие места (офлайн-первый)"]
        POS["Кассовый терминал (веб-приложение + драйвер ККТ)"]
        KDS["Кухонный экран (веб)"]
        BOSS["Бэк-офис точки и УК (веб)"]
        COURIER["Приложение курьера (мобильное)"]
        GUEST["Витрина гостя: сайт, мини-апп, киоск"]
    end

    subgraph Ядро["Сервисы ядра (облако РФ)"]
        API["API-шлюз (авторизация, тенанты, лимиты)"]
        ORDERS["Сервис заказов и меню"]
        INV["Сервис склада и производства"]
        DELIV["Сервис доставки"]
        GUESTCRM["Сервис гостей и лояльности"]
        FRANCH["Сервис франшизы и аудитов"]
        FIN["Финансовый сервис и роялти"]
        BUS["Событийная шина"]
    end

    subgraph Данные["Данные"]
        DB[("Основная БД: транзакции и справочники")]
        LOG[("Журнал событий: остатки, аудит, вебхуки")]
        VIT[("Витрины отчётов")]
    end

    POS --> API
    KDS --> API
    BOSS --> API
    COURIER --> API
    GUEST --> API

    API --> ORDERS
    API --> INV
    API --> DELIV
    API --> GUESTCRM
    API --> FRANCH
    API --> FIN

    ORDERS --> BUS
    INV --> BUS
    DELIV --> BUS
    GUESTCRM --> BUS
    FRANCH --> BUS
    FIN --> BUS

    BUS --> DB
    BUS --> LOG
    LOG --> VIT

3. Назначение контейнеров

Контейнер Назначение Офлайн
Кассовый терминал заказы, оплаты, смены; драйверы ККТ обязательный (буфер событий)
Кухонный экран тикеты, тайминги, стоп-лист обязательный (локальная очередь)
Бэк-офис меню/ТТК, склад, персонал, финансы, аудиты не требуется
Приложение курьера назначения, маршруты, статусы, фото устойчивость в «мёртвых зонах»
Витрина гостя меню, корзина, оплата, статусы не требуется
Сервисы ядра бизнес-логика по доменам —
Событийная шина единый поток фактов; источник остатков и витрин —

4. Принципы (неизменяемые)

  1. Один контракт заказа для всех каналов (см. Спецификацию 03).
  2. Остаток склада = проекция журнала движений; остатков «вручную» не существует.
  3. Выручка для роялти — только из фискальных документов.
  4. Данные тенанта изолированы; агрегаты УК — только по точкам договора.
  5. Хранение ПДн в РФ (см. Разбор 4).