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

График смен

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

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

  • Показывает все смены на одной доске. Назначения и открытые смены по всем точкам видны сразу, с фильтром по точке и должности.
  • Проводит обмен через согласование. Сотрудник просит обмен из своей смены, руководитель согласует, история сохраняется.
  • Предупреждает о дырах заранее. Незакрытые смены выделяются минимум за сутки, пока есть время найти замену.
  • Считает часы на лету. Накопленные часы за неделю видны при назначении, и назначение сверх лимита блокируется или требует подтверждения.
  • Помогает найти замену. При отказе смена становится открытой, и можно отфильтровать свободных сотрудников нужной должности на этой точке.
  • Разделяет точки. Руководитель точки ведёт свой график, руководство видит сводку по всем.
  • Порог предупреждения — сутки. Если незакрытая смена всплывает за час до начала, система бесполезна. Порог выносят в настройки.
  • Обмен только через доску. Договорённости в мессенджере не видны ни руководителю, ни расчёту зарплаты. Любой обмен проходит согласование и попадает в историю.
  • Лимиты задаёт трудовое право. Предельные часы, отдых между сменами и суммированный учёт — это требования Трудового кодекса и локальных актов. Их согласуют с кадровиком и хранят в настройках, а доска лишь помогает не нарушать.
  • Доступность устаревает. Сотрудники сами обновляют свою доступность раз в неделю; записи старше недели помечаются как устаревшие.
  • Внезапный отказ — рабочий сценарий. Сотрудник заболел утром: смену отмечают как открытую, руководитель сразу получает уведомление и видит список свободных сотрудников нужной должности на этой точке с учётом их часов. Замена находится за минуты, без обзвона по списку.
  • Несколько точек — одна модель. У каждой смены есть точка, поэтому руководитель точки работает со своим графиком, а сводка по всем точкам строится без отдельных файлов.
  • Табель и зарплату это не заменяет. Фактически отработанное время, табель и расчёт зарплаты остаются в 1С:ЗУП или кадровой системе. Доска передаёт туда план и отметки, а не считает зарплату.
  • Готовых сервисов много. Для типовой розницы или общепита существуют сервисы планирования смен, которые закрывают задачу без разработки. Своё приложение нужно, когда график связан с нарядами, заказами или складскими операциями, либо данные графика уже живут в собственной базе.

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

Создай модели и миграции для графика смен: Location (название,
часовой пояс), Position (должность), Employee (пользователь, точка,
должности, недельный лимит часов), Availability (сотрудник, день
недели, время, обновлено), Shift (точка, должность, начало, окончание,
сотрудник или пусто, статус), SwapRequest (смена, инициатор, кому
передаётся, статус, кто согласовал, время). Добавь фабрики с демо-данными
на две точки и неделю вперёд.

Проверьте, что время смен хранится с учётом часового пояса точки.

Сгенерируй Filament-ресурс для Shift с таблицей, сгруппированной
по дням, и фильтрами по точке, должности и сотруднику. Добавь вкладки
«Открытые смены», «Не закрыты в ближайшие 24 часа», «Мои смены».
При назначении показывай накопленные часы сотрудника за неделю.
Добавь действие «Назначить сотрудника» со списком свободных сотрудников
нужной должности на этой точке с учётом их доступности. Блокируй
назначение сверх недельного лимита и пересекающиеся смены; разреши
исключение только руководителю с обязательным комментарием.

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

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