Skip to main content

Автоматическое распределение заданий на уборку

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

Модуль Горничные → Задания на уборку теперь поддерживает автоматическое распределение грязных номеров между горничными, назначенными в смену. Алгоритм учитывает этаж, на котором работает сотрудница, и её текущую загрузку — это позволяет сократить время на ручное распределение и сделать нагрузку более равномерной.

Назначение горничной в смену

При добавлении горничной в смену появилась возможность указать, на каком этаже она работает. Это нужно для того, чтобы алгоритм распределения мог сопоставить номер и сотрудницу по географическому признаку.

Новые поля в диалоге назначения:

  • Группа ресурсов — селект с выбором группы номерного фонда;

  • Этажи — мультивыбор этажей из ресурсов выбранной группы. В списке отображаются уникальные значения этажей, присутствующих в данной группе.

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

Редактирование назначения

Если нужно изменить группу ресурсов или список этажей уже после того, как горничная назначена в смену:

  1. В списке назначенных сотрудниц найдите нужную горничную.

  2. Нажмите кнопку «Действия» → «Редактировать».

  3. Откроется диалог назначения — измените группу ресурсов или список этажей и сохраните.

Саму горничную изменить нельзя — только её зону работы на текущую смену.

Автоматическое распределение заданий

Рядом с кнопкой «Назначить сотрудника» появилась кнопка «Распределить задачи». Она запускает алгоритм автоматического назначения всех ещё не распределённых грязных номеров между горничными текущей смены.

Как работает алгоритм:

  1. Система собирает все ресурсы в статусе «Грязный», по которым ещё нет назначенной горничной.

  2. Для каждого такого ресурса подбирается исполнитель по следующим правилам:


Приоритет Условие Действие
1 На этаже ресурса есть ровно одна горничная Назначается она
2 На этаже ресурса несколько горничных Назначается та, у которой наименьшая суммарная трудоёмкость уже назначенных заданий
3 На этаже ресурса нет ни одной горничной, но есть горничные без привязки к этажам Назначается горничная без этажа с наименьшей суммарной трудоёмкостью
4 У всех горничных указаны этажи, но ни одна не привязана к этажу ресурса Назначается горничная с ближайшего этажа
  1. Если у горничной уже были назначенные вручную задания — они не удаляются. Алгоритм добавляет новые задания к уже существующим.

  2. После завершения распределения каждая горничная, которой было назначено хотя бы одно новое задание, получает одно push-уведомление в мобильное приложение — независимо от количества назначенных номеров.

Важно: перед запуском алгоритма система запросит подтверждение действия. Это защита от случайного распределения.

Как система распределяет номера: логика алгоритма

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

Правило 1: Совпадение по этажу

Если у номера указан этаж, и в смене есть горничные, закреплённые за этим этажом, система назначает одну из них.

  • Если на этаже одна горничная — номер достаётся ей.

  • Если на этаже несколько горничных — система выбирает ту, у которой наименьшая текущая загрузка. Загрузка оценивается по двум показателям в порядке приоритета:

    1. Суммарная трудоёмкость уже назначенных заданий (общая длительность уборки по всем распределённым номерам);

    2. При равной трудоёмкости — количество уже назначенных номеров.

Что проверить перед запуском: убедитесь, что этажи у горничных указаны корректно. Если на одном этаже работают несколько сотрудниц, алгоритм сам выровняет нагрузку между ними.

Правило 2: Нет горничных на этаже — передаём «свободной»

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

  • Из таких горничных выбирается та, у которой наименьшая текущая загрузка (сначала по трудоёмкости, затем по количеству номеров).

Что проверить: горничные без привязки к этажу получат номера с тех этажей, которые не охвачены другими сотрудницами. Если вы хотите, чтобы конкретная горничная работала только на своём этаже, — обязательно укажите его в настройках смены.

Правило 3: Все привязаны к этажам — ищем ближайшую

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

  • Сравнивается числовое расстояние между этажом номера и этажами горничных.

  • При равном расстоянии — выбор по минимальной загрузке (трудоёмкость, затем количество номеров).

Что проверить: если у вас есть этажи, на которые не назначена ни одна горничная, номера с них всё равно будут распределены — они уйдут сотрудницам с ближайших этажей.

Правило 4: Номер без этажа

Если у самого номера не указан этаж, система игнорирует географическую привязку и назначает его горничной с наименьшей загрузкой по всей смене — независимо от этажей.

Что проверить: если в списке грязных номеров есть ресурсы без этажа, они будут распределены в последнюю очередь и достанутся наименее занятой горничной. Рекомендуется проверить справочник ресурсов и заполнить этажи у всех номеров — это сделает распределение более предсказуемым.

Итоговый приоритет алгоритма
Приоритет Условие Критерий выбора
1 Горничная закреплена за этажом номера Наименьшая загрузка (трудоёмкость → кол-во номеров)
2 Есть горничные без привязки к этажам Наименьшая загрузка среди них
3 Все привязаны к этажам, но не к этому Ближайший этаж → наименьшая загрузка
4 У номера нет этажа Наименьшая загрузка по всей смене

Важно для супервайзера
  • Ранее назначенные задания не сбрасываются. Если часть номеров уже распределена вручную, алгоритм не трогает эти назначения — он только добавляет новые к ещё не распределённым.

  • Каждая горничная получит ровно одно push-уведомление после распределения, независимо от количества назначенных ей номеров.

  • Перед запуском алгоритма система запросит подтверждение — это защита от случайного распределения.

  • Событие распределения логируется в стандартном и расширенном журналах системы — можно отследить, когда и какие номера были распределены.