Блог

Изменить время слота в календаре

Иногда стандартных возможностей Битрикс24 недостаточно. Например, в модуле бронирования встреч минимальная доступная длительность слота составляет 30 минут.
Если нужно сократить ее до 5 минут, придется внести изменения в код — с сохранением работоспособности при будущих обновлениях.

1. Базовый функционал

В интерфейсе календаря Битрикс24 есть штатное бронирование слотов (см. скрин):
По умолчанию доступные интервалы начинаются от 30 минут, но это не всегда подходит.

2. Подготовка

Чтобы внести изменения корректно и не трогать ядро системы, переносим стандартные файлы календаря в локальную директорию:
BX_ROOT /local/js/calendar
Финальный путь должен выглядеть так:
BX_ROOT /local/js/calendar
Использование папки /local/ позволяет не модифицировать ядро напрямую и избежать проблем после обновлений.

3. Добавление нового интервала

Переходим в файл:
/local/js/calendar/sharing/interface/dist/interface.bundle.js
Находим свойство AVAILABLE_INTERVALS и добавляем в массив новую длительность — 5 минут.

4. Корректировка паузы между слотами

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

Путь к нужному файлу:
/local/js/calendar/sharing/public-v2/dist/public-v2.bundle.js
Находим свойство StepSize и добавляем в него условие: если длительность слота меньше 30 минут, то и перерыв между созвонами равен 5 минутам.

5. Проверка результата

После внесения изменений проверяем работу бронирования.
Теперь в интерфейсе появляется нужный интервал и корректная длительность слота для встречи.
Примечание:
  • Все изменения производим в копиях файлов в папке /local/, чтобы не потерять доработки при обновлении Битрикс24.
  • Перед редактированием рекомендуется создать резервную копию проекта или хотя бы отдельных файлов.