Перейти к содержимому

Управление заказами

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

Без такого сервиса статус заказа хранится в учётной системе, таблице и почте, и к обеду они расходятся. Планёрка уходит на выяснение, какие заказы действительно отгружены и кто за что отвечает. Зависшие заказы замечают только на следующей смене, при передаче между складом, доставкой и поддержкой не остаётся ни времени, ни ответственного, а отчёт по исполнению каждый понедельник собирают заново.

  • Держит один статус заказа. Все координаторы видят одни и те же данные из одного источника, без ручной сверки.
  • Следит за возрастом заказа. Заказы, которые приближаются к нормативу обработки, помечаются заранее, а не после жалобы клиента.
  • Распределяет заказы. Правила по региону, категории или каналу продаж назначают ответственного, а неназначенные заказы выделяются отдельно.
  • Фиксирует передачи между командами. Переход «склад → доставка → поддержка» записывается со временем и исполнителем и виден в истории заказа.
  • Проверяет переходы. Нельзя перевести заказ в «Отгружен» без трек-номера или закрыть его без подтверждения доставки.
  • Даёт живые отчёты. Сохранённые представления по дате, статусу и ответственному заменяют еженедельную выгрузку.
  • Система учёта заказов уже есть. Заказы обычно живут в CMS интернет-магазина, маркетплейсах, 1С или МойСклад, и для небольшого потока их интерфейса хватает. Приложение на Filament оправдано, когда каналов несколько, процесс нестандартный или нужна единая очередь поверх разных систем. Данные забирают через API и синхронизацию, источник остаётся главным.
  • Единый справочник статусов. Статусы всех каналов приводят к одному набору через таблицу соответствий, которая обновляется при каждой синхронизации. Неизвестный статус не угадывают, а показывают как ошибку сопоставления.
  • Норматив зависит от типа заказа. Срок обработки задают по типу, приоритету или каналу; предупреждение приходит, например, при 75% норматива, а не в момент нарушения.
  • Неназначенный заказ — отдельная очередь. Заказы без ответственного дольше пары часов выделяют и эскалируют руководителю смены.
  • Разные линии — разные процессы. Для товаров под заказ, предзаказа и обычной отгрузки допустимы свои наборы статусов и правил, но в одной панели с отдельными представлениями.
  • Доступ по ролям на сервере. Склад видит листы сборки и позиции, координаторы — статусы, руководитель — весь поток с показателями. Ограничение действует в таблицах, виджетах и выгрузках.
  • Правки двух систем. Если координатор меняет статус в приложении, изменение должно уйти обратно в источник или быть запрещено. Иначе две системы снова разойдутся. Направление записи для каждого поля определяют до начала разработки: что приложение только читает, а что имеет право менять.
  • Начинать с исключений. Первый полезный срез — не полная копия заказа, а очередь проблем: зависшие, неназначенные и просроченные заказы. Остальное добавляют, когда команда начнёт работать в приложении каждый день.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному: каждый шаг даёт результат, который можно проверить до перехода к следующему.

Создай модели и миграции для управления заказами: Order (внешний id,
канал продаж, клиент, сумма, тип, приоритет, единый статус, норматив
обработки, ответственный, трек-номер, время синхронизации), OrderItem
(заказ, товар, количество, собрано), OrderEvent (заказ, из статуса,
в статус, команда, пользователь, время, комментарий), StatusMapping
(канал, внешний статус, единый статус). Добавь фабрики с демо-данными
для двух каналов продаж.
Сгенерируй Filament-ресурс для Order. В таблице покажи возраст заказа,
долю израсходованного норматива, канал и ответственного. Добавь вкладки
«Не назначены», «Под угрозой», «Нарушен норматив», «Отгружены сегодня»
и фильтры по каналу, типу, региону и ответственному.
Добавь действия смены статуса с правилами: перевод в «Отгружен» требует
трек-номер, закрытие — подтверждение доставки. Каждый переход записывай
в OrderEvent. В карточке заказа покажи позиции и ленту событий через
relation managers.

Попробуйте отгрузить заказ без трек-номера: действие должно отказать с понятным сообщением.

Сделай фоновую задачу, которая загружает заказы из API каналов продаж,
сопоставляет статусы через StatusMapping, не создаёт дублей и пишет
ошибки сопоставления в отдельный список. Добавь правила автоназначения
по региону и категории из конфига и уведомление руководителю смены
о заказах без ответственного дольше двух часов.
Настрой роли: кладовщик видит позиции и листы сборки, координатор —
заказы своего региона, руководитель — всё. Добавь виджеты заказов
по статусам, нарушений норматива по дням и экспорт исполнения
за период.