Иногда стандартных возможностей Битрикс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.
Перед редактированием рекомендуется создать резервную копию проекта или хотя бы отдельных файлов.