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

Мониторинг задержек доставки

Рабочий экран логиста и диспетчера для компаний, которые отправляют товар через нескольких перевозчиков: СДЭК, Почту России, Деловые Линии, собственный транспорт, курьерские службы. Он показывает, какие отправления задерживаются, какие заказы и клиенты от этого страдают и кто разбирается с каждым случаем.

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

  • Сводит отправления всех перевозчиков. Статусы из разных служб видны в одной таблице с единым набором статусов.
  • Связывает задержку с последствиями. У каждой задержки видны заказ, клиент, сумма и обещанный срок доставки.
  • Предупреждает до нарушения срока. Когда отправление приближается к порогу задержки, оно попадает в очередь исключений.
  • Назначает ответственного. Каждое задержанное отправление получает исполнителя, а его действия — «связались с перевозчиком», «перенаправили», «клиент уведомлён» — записываются в карточку.
  • Фиксирует передачи. Время передачи со склада перевозчику и на последнюю милю записано, поэтому спор о виновнике решается по данным.
  • Единый справочник статусов. «В пути» у одного перевозчика и «Передан в доставку» у другого приводят к одному статусу при загрузке. Неизвестные коды не угадывают, а выводят в список на сопоставление.
  • Два порога, а не один. Предупреждение приходит, когда прошло, например, 70% и 90% срока без отметки о доставке. Пороги задают по перевозчику или маршруту и хранят в настройках.
  • Свежесть трекинга. Статусы опрашивают по расписанию или получают вебхуками. Время последней синхронизации показывают у каждого отправления: статус трёхдневной давности — это не «в пути».
  • Задержка без ответственного не решается. При переходе порога исполнитель назначается автоматически по перевозчику, складу или региону.
  • Очередь по важности, а не по времени. Сортировка по сумме заказа, значимости клиента и остатку времени полезнее хронологического списка.
  • Уведомление клиента — отдельное решение. Автоматическое письмо о каждой задержке раздражает клиента и дублирует сообщения самого перевозчика. Обычно клиента предупреждают, только когда срок доставки точно сорван, а текст и канал согласуют с поддержкой, чтобы не было двух разных версий событий.
  • Готовые агрегаторы доставки. Если отправления уже идут через агрегатор или модуль доставки интернет-магазина со своим трекингом, может хватить его отчётов. Отдельный монитор нужен, когда перевозчиков много, данные разнесены по системам или нужны свои правила эскалации. Данные из ERP или магазина берут через API, без переноса.

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

Создай модели и миграции для монитора задержек: Carrier (название,
код), Shipment (перевозчик, трек-номер, заказ, клиент, склад отправки,
маршрут, единый статус, обещанная дата доставки, время последней
синхронизации, ответственный), ShipmentEvent (отправление, исходный
код статуса перевозчика, единый статус, время события, источник),
StatusMapping (перевозчик, исходный код, единый статус). Добавь фабрики
с демо-данными для трёх перевозчиков.

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

Сгенерируй Filament-ресурс для Shipment. В таблице покажи долю
израсходованного срока, сумму заказа, клиента и время синхронизации.
Добавь вкладки «Под угрозой», «Задержаны», «Нет данных больше суток»
и фильтры по перевозчику, маршруту, складу и ответственному. По
умолчанию сортируй по сумме заказа и остатку времени.
В карточке отправления покажи ленту событий перевозчика и журнал
действий команды. Добавь действия «Связались с перевозчиком»,
«Перенаправили», «Клиент уведомлён» и «Закрыть инцидент» с обязательным
комментарием. Каждое действие записывай со временем и пользователем.
Сделай фоновую задачу по расписанию, которая опрашивает API
перевозчиков и принимает вебхуки, сопоставляет статусы через
StatusMapping и не создаёт дублей событий. Неизвестные коды выводи
в список на сопоставление. При переходе порогов 70% и 90% срока
назначай ответственного по правилам из конфига и отправляй
уведомление.
Настрой доступ: логист склада видит отправления своего склада,
руководитель логистики — все. Добавь сохранённые представления
по перевозчикам, виджеты доли задержек по перевозчикам и маршрутам
за неделю и экспорт задержек за период.

Сравните долю задержек в виджете с выгрузкой за тот же период: цифры должны совпадать.