smengo

SMENGO · ЗАМЕНЫ СМЕН

Замена смены — заявка с решением, а не переписка в чате

Сотрудник просит замену в Telegram. Вы одобряете в один тап — и смена в ту же секунду уходит из его графика на биржу, к подходящим коллегам. Волнами, а не всем разом.

  • Снять себя со смены сотрудник не может — только попросить
  • Одобрение снимает смену и открывает её одной транзакцией
  • Решение возвращается сотруднику в тот же чат
Биржа смен

Незакрытые смены в графике — система сама предлагает их подходящим сотрудникам

+ Открытая смена

Заявки на замену

  • От Ольга Романенко·пт, 3 июля · 16:00–00:00
    Создана 1 июля 2026
    ОтклонитьПодтвердить

Открытые

  • пт, 3 июля·Отдел продаж·Менеджер·16:00–00:00

    Замена: Ольга Романенко

    Создана 1 июля 2026 · Отправлено офферов: 4
    Отменить
  • сб, 4 июля·HR·Любая должность·10:00–18:00
    Создана 30 июня 2026 · Отправлено офферов: 6 · Отклонено: 2
    Отменить

Ждут подтверждения

  • вс, 5 июля·Отдел продаж·Менеджер·12:00–20:00
    Создана 29 июня 2026 · Отправлено офферов: 5
    ОтклонитьПодтвердить

    Претендент: Алексей Новиков

Закрытые за месяц

  • чт, 2 июля·Отдел продаж·Менеджер·09:00–18:00
    Создана 27 июня 2026 · Отправлено офферов: 4
    Закрыта

    Претендент: Иван Мельников

Как это идёт

Путь одной смены: от «не смогу» до нового имени в графике

Пятница, 3 июля, 16:00–00:00. Ольга не выходит — вот что происходит дальше.

  1. 114:05

    Сотрудник жмёт «Прошу замену»

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

  2. 214:06

    Заявка ушла руководителю

    В чате — «Заявка отправлена руководителю», в разделе «Заявки на замену» — новая строка. Попросить ту же смену второй раз не выйдет: живая заявка на смену бывает одна.

  3. 315:31

    Руководитель нажимает «Подтвердить»

    Смена удаляется из графика Ольги и тут же становится открытой сменой с заметкой «Замена: Ольга Романенко». Смена не может остаться снятой и не открытой: оба изменения — в одной транзакции. Офферы уходят следующим шагом.

  4. 415:31

    Волна 1 — тем, кто сам хотел

    Оффер уходит коллегам того же отдела и должности: первыми — отметившие «хочу» на 3 июля, внутри волны — по набранным за месяц часам, снизу вверх.

  5. 515:44

    «Беру» — и смена в графике

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

  6. 6+60 мин

    Если тишина — волна 2

    По истечении TTL волны (по умолчанию час, настраивается от 5 минут до суток) оффер уходит остальным подходящим сотрудникам отдела.

Обратная связь: сотруднику, который просил замену, приходит «Замена одобрена» или «Замена отклонена» — тем же чатом, без отдельного приложения и без звонка.

Границы

Сотрудник не снимает себя со смены. Он просит.

График меняет только тот, у кого есть право «Управление сменами». Это осознанное правило: смена, о которой «договорились в чате», в графике сама не меняется.

Сотрудник — в Telegram

Просит, соглашается, отказывается

  • Попросить замену на любую из своих ближайших рабочих смен (бот показывает до десяти)
  • Отметить «хочу» и «не могу» в календаре доступности
  • Взять открытую смену кнопкой «Беру»
  • Пропустить оффер — он закроется, а смена останется открытой для остальных

Руководитель — в Smengo

Право «Управление сменами»

  • Подтвердить или отклонить заявку на замену
  • Создать открытую смену без всякой заявки
  • Отменить открытую смену
  • Подтвердить претендента, если мгновенный подхват выключен

Не интерфейсная условность: у кого нет права «Управление сменами», тот заявок не видит вовсе — доступ закрыт политиками базы данных, а не спрятанной кнопкой.

Что внутри

Пять механик, из которых состоит замена

Каждая — не настройка на будущее, а поведение, которое уже работает в продукте.

Просьба приходит заявкой, а не сообщением

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

  • Выбор — только из своих ближайших рабочих смен, максимум десять
  • На одну смену — одна живая заявка, дубликат просто не создастся
  • Пока решения нет, смена остаётся в графике за сотрудником
2 тапа
от кнопки до заявки
выбрать смену, подтвердить
0
дубликатов заявок
уникальный индекс на живую заявку в базе

Одобрение — одна транзакция, а не два действия

«Подтвердить» снимает смену с сотрудника и создаёт открытую смену одним вызовом в базе. Дата, время и пресет переносятся как есть, в заметку попадает имя того, кого меняем.

  • Смена не может остаться снятой и не открытой — оба изменения в одной транзакции
  • Удаление смены попадает в журнал изменений
  • Если смену успели изменить или удалить, заявка честно закрывается как неактуальная
1
вызов на подтверждение
approve_swap_request в базе данных
2
уровня проверки права
политика в базе и гейт в серверном действии
График · пт, 3 июля
Ольга Романенко16:00–00:00
Смена снята
Биржа · открытая смена
Отдел продаж · Менеджер16:00–00:00
Замена: Ольга Романенко
Открыта
approve_swap_request()Снятие и открытие — в одном вызове: половинчатого состояния не бывает. Офферы досылаются следующим шагом.

Офферы уходят волнами, а не всем разом

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

  • Кандидат — из того же отдела и с той же должностью; если должность не указана, подойдёт любая
  • Кто уже занят в этот день или отметил «не могу», в список не попадает
  • Волна 2 включается по TTL: от 5 минут до суток, по умолчанию час
  • Если «хочу» не отметил никто, в первую волну идёт половина списка, но не меньше трёх человек
60 мин
TTL волны по умолчанию
настраивается от 5 минут до 24 часов
2
волны офферов
приоритетная и остальные подходящие
Волна 1 — сразуЧасов за месяц

Отметили «хочу» на 3 июля, отсортированы по часам за месяц

Алексей Новиковхочу112 ч
Дарья Косхочу176 ч
Волна 2TTL 60 мин
Марк Сидоров184 ч
Екатерина Волкова192 ч
Оффер не получат
Иван Мельниковуже в графике 3 июля
Юлия Лебедьотметила «не могу»
Роман Карповдругой отдел

Если «хочу» на эту дату не отметил никто, в первую волну уходит половина подходящих — но не меньше трёх человек.

Мгновенный подхват — или ваше подтверждение

Один переключатель в настройках решает, кто ставит точку. Включён — первый согласившийся сразу в графике. Выключен — претендент ждёт вас в разделе «Ждут подтверждения».

  • Первый нажавший выигрывает: строка смены блокируется в момент клика
  • Двух смен на один день у человека не появится — вторая попытка вернёт конфликт
  • Отклонённый претендент не блокирует смену: она снова открыта для остальных
2 режима
подхвата смены
мгновенно или с подтверждением
1
смена в день на человека
второй захват вернёт конфликт
Открытые смены
Мгновенный подхват

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

TTL волны, минут60Через сколько минут оффер уходит второй волне.
Сохранить
Включён

«Беру» — и смена сразу в графике сотрудника; остальным приходит, что её уже забрали.

Выключен

«Беру» — и строка уходит в «Ждут подтверждения»: последнее слово за руководителем.

Гонки не будет: смена блокируется в момент клика, второй нажавший получает «смена уже занята».

Ответ возвращается в тот же чат

Тому, кто просил замену, приходит решение. Тому, кто взял смену, — подтверждение, что она уже в графике. Остальным кандидатам — что смену разобрали.

  • «Замена одобрена, смена ушла на биржу» или «Замена отклонена»
  • Кому не удалось доставить оффер, тот помечается недоступным, а не висит молча
  • Событие swap.decided уходит в ваши вебхуки — решение можно забрать в свою систему
3
адресата у одного решения
проситель, победитель и остальные кандидаты
4
поля в событии вебхука
request_id, employee_id, entry_date, decision

Не только замены

Открытую смену можно создать и без заявки

Кто-то заболел, открыли новую точку, продлили вечер — смена создаётся руками и уходит по тем же волнам.

  • До десяти одинаковых смен за раз
  • Отдел обязателен, должность — по желанию: «любая должность» расширяет круг кандидатов
  • Время — из пресетов смен организации или вручную
  • Заметка остаётся на карточке смены в списке биржи — в текст оффера кандидату она не попадает
  • Если подходящих кандидатов не нашлось, форма честно об этом скажет, а не сделает вид, что разослала
Новая открытая смена
Дата
3 июля 2026
Отдел
Отдел продаж
Должность
Менеджер
Количество смен
1
Время
Утро 09:00–17:00Вечер 16:00–00:00Ночь 00:00–08:00Своё время
Заметка
Замена: Ольга Романенко
СоздатьОтмена

Подходящих кандидатов не нашлось — офферы не отправлены

Сравнение

Чат «кто подменит?» против биржи замен

Одна и та же пятница — два разных исхода.

Просьба тонет в ленте: кто согласился, выясняется в день смены
Заявка лежит отдельным списком с именем, датой и временем; решение — две кнопки
«Я договорился» — а в графике по-прежнему стоит прежний человек
Одобрение само меняет график: смена снимается и открывается одним действием
Пишем всем сразу, соглашается тот, кто и так перерабатывает
Первыми получают те, кто отметил «хочу», и у кого меньше часов за месяц
Двое «взяли» одну смену — разбираться приходится вручную
Первый нажавший выигрывает, второму приходит «смену уже забрали»
Решает руководитель
Замена = открытая смена
Ответ в тот же чат

Наружу: решение по заявке уходит событием swap.decided в ваши вебхуки — с идентификатором заявки, сотрудником, датой смены и самим решением.

Экосистема

Замены — звено цепочки, а не отдельный сервис

График, бот и биржа работают на одних данных: доступность приходит из календаря сотрудника, часы — из табеля, решение возвращается в чат.

Вопросы

Частые вопросы про замены смен

Нет. В боте есть только «Прошу замену» — она создаёт заявку. График меняется решением руководителя с правом «Управление сменами».

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

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

Да, если включён «Мгновенный подхват»: первый нажавший «Беру» сразу получает смену в график. Выключите переключатель — и каждый претендент будет ждать вашего решения.

В кандидаты он не попадёт, а при попытке взять смену другим путём получит конфликт: двух смен на один день у человека не появится.

Нет. Всё, что нужно сотруднику, происходит в Telegram-боте по одной ссылке-приглашению; интерфейсом пользуется руководитель.

Да. Решение отправляется событием swap.decided на ваш HTTPS-эндпоинт с подписью; в полезной нагрузке — идентификатор заявки, сотрудник, дата смены и решение.

Пусть замены живут в графике, а не в переписке

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

14 дней бесплатно · без карты