Расписание смен

Источник требований

BR 1.4.1, раздел 2

Референс

YUMA POS: _reference/yumapos/schedule.md

Расписание — инструмент план/факт учёта рабочего времени. Менеджер или франчайзи заранее планирует, когда сотрудник должен работать. Система сравнивает план с фактом и автоматически присваивает статус.


Концепция план/факт

Тип времениКак вноситсяОписание
ПлановоеВручную, заранее (через расписание в админке)Когда сотрудник должен работать
ФактическоеАвтоматически (POS) или вручную (админка)Когда сотрудник реально работал

Система автоматически сопоставляет план и факт, вычисляя статус каждой смены.


Экран расписания

Новая страница: Сотрудники → Расписание

Визуализация

Таблица-календарь:

  • Строки = сотрудники (ФИО)
  • Столбцы = дни выбранного периода
  • Ячейки = плановые и фактические смены с цветовой кодировкой по статусу
  • Правая колонка “Часы” = план / факт за период по каждому сотруднику

Текущий день выделен красным. Цифры над сменой через /: кол-во запланированных / кол-во отработанных.

Фильтры

ФильтрОбязательностьОписание
ТТ (магазин)ОбязательныйРасписание составляется для конкретной точки
РольНеобязательныйФильтр по роли сотрудника
ПериодОбязательныйНеделя / Месяц
МесяцОбязательныйВыбор месяца
Статус сменыНеобязательныйВсе / По расписанию / Не по расписанию / Пропущено / Вне плана

Шаблоны смен

Заранее настроенные шаблоны для быстрого создания плановых смен.

Сущность шаблона

ПолеТипОбязательностьОписание
НазваниеstringОбязательноНапример: “Утренняя”, “Вечерняя”, “Полный день”
Время началаtimeОбязательноНапример: 08:00
Продолжительностьinteger (минуты)ОбязательноВремя окончания рассчитывается автоматически
Привязка к ТТuuidОбязательноШаблон принадлежит конкретной ТТ

Ограничения

  • Максимум 4 шаблона на ТТ
  • Шаблон можно создать, отредактировать, удалить
  • При удалении шаблона уже созданные по нему плановые смены не удаляются

Создание и редактирование плановых смен

Создание

  • В расписании выбрать ячейки (одну или несколько) → нажать “Редактировать выделенные”
  • Выбрать шаблон из списка ИЛИ задать вручную (время начала + длительность)
  • Время окончания рассчитывается автоматически
  • Массовое создание: выделить несколько ячеек → применить шаблон ко всем

Альтернативный способ

Двойной клик по ячейке → открывается модалка “Рабочее расписание”:

  • Дата (предзаполнена)
  • Сотрудник (предзаполнен)
  • ТТ (предзаполнена)
  • Роль (предзаполнена)
  • Шаблон (выпадающий список) или ручной ввод (время начала + длительность)

Ограничения

  • Плановые смены можно создавать только на будущие дни (не текущий и не прошедший)
  • Редактировать можно только будущие плановые смены
  • Удалять можно только будущие плановые смены
  • Прошедшие плановые смены — только просмотр

Четыре автоматических статуса смены

При наличии плановой и/или фактической смены система автоматически присваивает статус:

СтатусЦветУсловие
По расписаниюЗелёныйФакт начался за ≤30 мин до плана И закончился ≤30 мин после плана
Не по расписаниюЖёлтыйФакт есть, но отклонение от плана >30 мин (начало или конец)
ПропущеноКрасныйПлановая смена существует, но фактическая запись отсутствует
Вне планаСиреневыйПлановой смены не было, но сотрудник отработал (фактическая запись есть)

Правило 30 минут

Чтобы смена получила статус “По расписанию”, сотрудник должен:

  • Отметиться не позже 30 мин до начала плановой смены
  • Завершить не позже 30 мин после окончания плановой смены

Если сотрудник опаздывает или уходит раньше/позже — статус “Не по расписанию”.

Дополнительные правила

  • Статус “Пропущено” присваивается только после того, как плановая смена прошла (по времени окончания)
  • Если по графику плановой смены не было, но сотрудник работал — “Вне плана” (нормальная ситуация: подмена заболевшего)

Корректировка прошедших смен

Прошедшие смены нельзя удалить. Но можно скорректировать отработанные часы:

ПолеТипОбязательностьОписание
ТипenumОбязательноУвеличение / Уменьшение
Величиначасы + минутыОбязательноНа сколько скорректировать
КомментарийstringОбязательноПричина корректировки
  • Корректировку можно сбросить (удалить)
  • Корректировать можно смены в любом статусе, кроме “Пропущено” (нечего корректировать)
  • Для корректировки → двойной клик по прошедшей смене → модалка → кнопка “Корректировка”

Ролевая матрица

(Обновлено в BR 1.4.4 — колонки scope вместо enum, permission для обычных сотрудников)

ДействиеВладелец франшизыВладелец партнёраОбычный сотрудник (permission)
Просмотр расписанияВсе ТТСвои ТТschedule.read в рамках своих ТТ
Составление расписанияВсе ТТСвои ТТschedule.edit в рамках своих ТТ
Редактирование плановых сменВсе ТТСвои ТТschedule.edit + scope
Удаление плановых сменВсе ТТСвои ТТschedule.edit + scope
Корректировка прошедших сменВсе ТТСвои ТТschedule.edit + scope
Управление шаблонамиВсе ТТСвои ТТschedule.edit + scope

Связи с другими модулями