Часы работы и расписание
Working hours, away/greeting сегменты, offline-баннер, время ожидания, текст кнопки «Закрыть тикет».
Три уровня расписания
В виджете есть три независимых поля, которые можно использовать по одиночке или в комбинации:
- Working hours — глобальное «когда мы работаем». Если визитёр заходит вне этого окна и
show_work_hours = true, на главной появляется чипoutside_hours_messageилиoffline_message. - Greeting segments — расписание подзаголовка на главной. «Доброе утро!», «Добрый вечер!», «Доброй ночи!» — без ручной правки
welcome.subtitle. - Away segments — отдельный мягкий чип на главной под приветствием. «Сегодня обед 13:00–14:00», «На празднике до понедельника». В отличие от out-of-hours, working hours не требуется.
Working hours
SettingsWidget BuilderHours, секция «Рабочие окна». Каждое окно — это:
- Дни недели — мультивыбор Вс/Пн/Вт/Ср/Чт/Пт/Сб (внутри — массив
days: number[], JSgetDay()convention). - Начало —
HH:MM. - Конец —
HH:MM. Если конец меньше начала — окно «оборачивается» через полночь (ночные смены 22:00–06:00).
working_hours, чтобы было от чего отталкиваться.| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| hours.show_work_hours | boolean | false | Включает out-of-hours баннер на главной. Сам по себе ни на что не влияет — окно WhatsApp-style мы не показываем; нужно задать working_hours, чтобы было от чего отталкиваться. |
| hours.working_hours | TimeSegment[] | [] | Список окон. Пусто = виджет «всегда онлайн», out-of-hours баннер не сработает. |
| hours.offline_message | string | "Мы оффлайн, ответим утром" | Fallback-текст, если outside_hours_message не задан. |
| hours.outside_hours_message | string | "Сейчас вне рабочих часов" | Основной текст out-of-hours баннера. Видят посетители, которые зашли в неподходящее время. |
| hours.delayed_response_seconds | number | null | — | Если задано — в hero диалога подменяет «Команда обычно отвечает в течение нескольких минут» на «Команда обычно отвечает за N мин» (или сек/часов в зависимости от порядка). |
| hours.close_button_text | string | "Закрыть тикет" | Текст pill-кнопки между сообщениями и композером для self-resolve. Если строка пустая — кнопка не рендерится. |
Greeting segments
hours.greeting_segments — массив сегментов того же формата, что и working_hours, но с дополнительным полем message. На главной первый матчащийся сегмент подменяет welcome.subtitle:
[
{ "days": [1,2,3,4,5], "start": "06:00", "end": "12:00", "message": "Доброе утро 🌅" },
{ "days": [1,2,3,4,5], "start": "18:00", "end": "23:00", "message": "Добрый вечер!" },
{ "days": [0,6], "start": "00:00", "end": "23:59", "message": "Хорошего выходного 🌿" }
]Away segments
hours.away_segments — то же самое, но рендерится отдельным чипом на главной, под приветствием. Используется для разовых пауз: обед, праздники, тренинг команды.
Часовой пояс
Все сегменты обрабатываются в локальном времени посетителя (по его системным часам). Если ваш посетитель в Берлине, а вы задали окно 9:00–18:00, для него рабочее время по Берлинскому времени, не по Москве. Если хотите принудительно использовать часовой пояс команды — задайте working hours per-operator в ProfileРабочие часы, там есть выбор TZ.