Resto

Все функции, которые уже реализованы

Сайт, панель, касса и кухня работают с одним API. Здесь собрано то, что можно показать и проверить: от публичного меню и оплаты до склада, техкарт и отчётов.

51 функций в работе 8 блоков Открыть меню

Корзина и оформление

Гостям

Клиент собирает заказ, сервер пересчитывает состав, скидку и доставку.

Корзина с опциями

готово

Одинаковые блюда с разными заменами и добавками — отдельные строки.

Доставка и самовывоз

готово

Тип заказа влияет на адрес, стоимость и кухонный маршрут.

Промокод

готово

Код проверяется на сервере: лимиты, период, дни и минимальная сумма.

Идемпотентность

готово

Повторная отправка формы не создаёт второй заказ.

Онлайн-оплата

готово

Ссылка на оплату банка, возврат и повторная оплата неоплаченного заказа.

Показать POST /order/:id/pay

Доставка

Гостям

Зоны, стоимость и ограничения считает бэкенд; сайт только показывает результат.

Зоны доставки

готово

Полигоны и радиусы, иерархия и приоритеты зон.

GET /delivery/public/quote

Стоимость и минимум

готово

Цена доставки, минимальная сумма заказа и бесплатная доставка от суммы.

Время доставки

готово

Оценка времени из настроек зоны показывается до оплаты.

Адреса клиента

готово

Сохранённые адреса с подъездом, этажом и квартирой.

Показать /delivery/addresses

Геокодинг

готово

Координаты адреса определяются на сервере, если клиент их не передал.

Заказы

Гостям

Статусы, оплата и отмена — в личном кабинете клиента.

Мои заказы

готово

История заказов с суммой, статусом и статусом оплаты.

Показать GET /order/my

Детали заказа

готово

Состав, модификаторы, скидка, доставка и адрес в одном экране.

Статусы

готово

new → accepted → cooking → ready → served → closed, отдельно canceled.

Отмена до готовки

готово

Клиент отменяет новый или принятый заказ, списание откатывается.

Показать POST /order/:id/cancel

Предзаказ

готово

Заказ вне часов работы создаётся на ближайшее открытие точки.

Аккаунт клиента

Гостям

Вход по телефону и коду, короткая сессия и продление без потери корзины.

Вход по коду

готово

Код подтверждения приходит по SMS; в dev доступен тестовый код.

Access и refresh

готово

Access-токен живёт 15 минут, сессию продлевает refresh-токен.

Профиль

готово

Телефон и роль клиента в шапке сайта.

Адреса доставки

готово

Создание, изменение, удаление и адрес по умолчанию.

Панель управления

Ресторану

Внутренний контур ресторана: каталог, производство, склад, продажи и отчёты.

Организации и точки

готово

Реквизиты, расписание, исключения и адреса точек.

Меню

готово

Категории, карточки, размеры, цены, замены и добавки.

Ингредиенты и номенклатура

готово

Продукты и заготовки, базовая единица, эквиваленты и лимиты.

Техкарты

готово

Состав, потери, выход, себестоимость и выпуск заготовок.

Склад

готово

Остатки, партии, сроки годности, приходные накладные и поставщики.

Движения и перемещения

готово

Журнал append-only и перенос себестоимости между складами.

Инвентаризация

готово

Пересчёт, недостача, излишек и корректирующие движения.

Закупки

готово

Количество и цена за базовую единицу, история цен и сравнение поставщиков.

Скидки и промокоды

готово

Процент, фикс, категория и бесплатная доставка с лимитами.

Отчёты

готово

Продажи по дням, food cost по позициям и минимальные остатки.

Сотрудники и роли

готово

Админ, менеджер, кассир и повар; доступ только к своей точке.

Настройки учёта

готово

FEFO/FIFO/средневзвешенная себестоимость и политика просрочки.

Заказы точки

готово

Очередь, принятие, смена статуса и ручное списание.

Зоны доставки

готово

Геометрия, условия и приоритеты в панели.

Касса и кухня

Ресторану

Бэкенд для смен, оплаты на месте и заказов без аккаунта уже готов.

Кассовые смены

готово

Открытие, X-отчёт, закрытие и расхождение по наличным.

/cash/shifts

Оплата на месте

готово

Наличные или карта только в открытой смене.

POST /order/:id/pay-manual

Заказ с кассы

готово

Клиент без аккаунта, стол, гости и промокод.

POST /order/staff

Экран кухни

дальше

KDS на планшетах: очередь и переходы статусов.

Терминал кассира

дальше

Рабочее место кассира и локальный агент кассы.

Фискализация

дальше

Чеки и фискальный адаптер — после выбора метода.

Платформа и API

Платформе

Общие правила, на которых держатся все четыре фронтенда.

Публичный и служебный контуры

готово

Клиент не видит служебные ручки, сотрудник — только свою точку.

Роли и access-токены

готово

Bearer access, refresh, scope и матрица ролей.

Идемпотентность

готово

Заказы, платежи и накладные защищены ключом идемпотентности.

Транзакции

готово

Единый TxRunner: заказ, списание и платёж не расходятся.

Вебхуки с подписью

готово

RS256-подпись провайдера, запрет неподписанных в production.

Деньги в копейках

готово

int64, без float; количества — в базовой единице.

Проверки

готово

go build, vet, test и vue-tsc на каждом шаге.

Наблюдаемость

готово

Healthz, единый формат ошибок и коды для фронтенда.

GET /healthz

API-справочник

готово

Маршруты и типы генерируются из кода бэкенда.

Docker

готово

Отдельные образы для API и каждого фронтенда.

Готовые экраны живут на этом сайте: меню, корзина, оформление, заказы, адреса. Панель управления — отдельное приложение с каталогом, складом и отчётами. Касса и кухня подключаются к тем же ручкам.