BR 2.1 — Admin Franchise (Заказы)
Shared Types
- Создать
Orderтип (id, franchise_id, store_id, order_number, order_type, status, total, payment_method, paid_amount, rrn, card_last4, comment, cancel_reason, created_by, paid_at, completed_at, cancelled_at, created_at, updated_at, items) - Создать
OrderItemтип (id, product_id, product_name, quantity, unit_price, total_price, modifiers, notes, created_at) - Создать
OrderListItemтип (id, store_id, order_number, order_type, status, total, payment_method, paid_amount, created_by, created_at, paid_at, completed_at, cancelled_at) - Создать
OrderModifierтип (group_name, option_name, price)
API Functions
-
getOrders(params)— GET /api/v1/admin/orders (с фильтрами: store_id, status, date_from, date_to, page, per_page) -
getOrder(id)— GET /api/v1/admin/orders/:id
BFF Proxy Routes
-
GET /api/v1/admin/orders→ Order ServiceGET /api/v1/orders -
GET /api/v1/admin/orders/:id→ Order ServiceGET /api/v1/orders/:id
Read-only
Админка не создаёт и не изменяет заказы. Только просмотр. Мутации — через POS BFF.
Страницы
ActiveOrdersPage (/orders/active)
- Store selector (дропдаун по роли, как в стоп-листах)
- Таблица активных заказов: №, Время (относительное), Тип, Статус badge, Сумма, Оплата badge, Кассир
- Auto-refresh каждые 30 секунд
- Клик по строке → OrderDetailPage
- Фильтр:
status=new,in_progress,ready - Empty state: “Нет активных заказов”
OrderHistoryPage (/orders/history)
- Store selector (дропдаун по роли)
- Фильтр: диапазон дат (date_from, date_to), статус (closed, cancelled, все)
- Таблица: №, Дата, Тип, Статус badge, Сумма, Оплата badge, Кассир
- Пагинация (20 per page)
- Клик по строке → OrderDetailPage
- Empty state: “Нет заказов за выбранный период”
OrderDetailPage (/orders/:id)
- Header: номер заказа, статус badge, ТТ, дата, кассир, тип
- Таблица позиций: Товар, Кол-во, Цена, Модификаторы, Стоимость, Комментарий
- Итого (total)
- Секция оплаты: способ, сумма, RRN, карта, дата оплаты (если оплачен)
- Секция отмены: причина, дата (если отменён)
- Read-only
Sidebar
- Добавить группу “Заказы” в навигацию (после “Склад”)
- Пункты: “Активные” (/orders/active), “История” (/orders/history)
- Скрыть для роли Кассир
Routing
-
/orders/active→ ActiveOrdersPage -
/orders/history→ OrderHistoryPage -
/orders/:id→ OrderDetailPage