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

Диспетчерская выездных работ

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

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

  • Сводит наряды в одну очередь. Заявки, наличие материалов и назначения видны на одном экране и упорядочены по срочности.
  • Показывает статус без планёрки. У каждого наряда один актуальный статус, поэтому планёрка начинается с решений, а не со сверки.
  • Отсчитывает время до срока. У каждого наряда видно, сколько осталось до нарушения срока, и наряды под угрозой поднимаются наверх.
  • Фиксирует каждую передачу. Кто назначил, кто принял, когда бригада выехала и закрыла работу — всё записано со временем и исполнителем.
  • Даёт живую отчётность. Сохранённые представления и виджеты заменяют сводную таблицу, которую раньше пересобирали каждый понедельник.
  • Один справочник статусов. Статусы из учётной системы, мобильного приложения и почты приводят к единому набору при загрузке. Иначе один и тот же наряд в разных местах «в работе», «выехали» и «ждёт запчасть».
  • Срок хранится у наряда. Нормативы различаются по типу работ, приоритету и договору с клиентом, поэтому дедлайн рассчитывается при создании наряда и хранится в записи, а не задаётся одной глобальной настройкой.
  • Эскалация до нарушения. Предупреждение ответственному приходит, когда прошла заметная часть срока (например, три четверти), а не в момент нарушения. Нарушенные наряды автоматически меняют статус и поднимаются в очереди.
  • Лимит загрузки бригады. Для бригады или смены задают предел одновременных нарядов и предупреждают о перегрузке, иначе очередь растёт незаметно.
  • Бригадам нужен телефон, а не приложение. Панель Filament адаптивна: бригада открывает свои наряды в браузере телефона. При плохой связи на объектах стоит заранее обсудить офлайн-режим — это уже отдельная задача.
  • Закрытие наряда подтверждают. Отметка «выполнено» без фото, подписи клиента или списка использованных материалов не даёт основания для акта и спора с клиентом. Обязательные поля закрытия задают по типу работ.
  • Учётную систему не переносят. Если наряды живут в 1С, ERP или сервисной системе, доску строят поверх них через API или read-only подключение к базе. Для небольших команд готовые сервисы управления выездными сотрудниками могут закрыть задачу без разработки.

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

Создай модели и миграции для диспетчерской выездных работ: Crew
(название, участок, лимит одновременных нарядов), WorkOrder (внешний id,
клиент, адрес, тип работ, приоритет, статус из единого справочника,
срок выполнения, бригада, требуемые материалы), WorkOrderEvent (наряд,
событие: назначен, принят, выехали, на объекте, закрыт; пользователь,
время, комментарий). Срок рассчитывай при создании по типу и приоритету
из конфига. Добавь фабрики с демо-данными.

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

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

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