Часы работы и расписание
Виджет / Расписание

Часы работы и расписание

Working hours, away/greeting сегменты, offline-баннер, время ожидания, текст кнопки «Закрыть тикет».

Три уровня расписания

В виджете есть три независимых поля, которые можно использовать по одиночке или в комбинации:

  1. Working hours — глобальное «когда мы работаем». Если визитёр заходит вне этого окна и show_work_hours = true, на главной появляется чип outside_hours_message или offline_message.
  2. Greeting segments — расписание подзаголовка на главной. «Доброе утро!», «Добрый вечер!», «Доброй ночи!» — без ручной правки welcome.subtitle.
  3. Away segments — отдельный мягкий чип на главной под приветствием. «Сегодня обед 13:00–14:00», «На празднике до понедельника». В отличие от out-of-hours, working hours не требуется.

Working hours

SettingsWidget BuilderHours, секция «Рабочие окна». Каждое окно — это:

  • Дни недели — мультивыбор Вс/Пн/Вт/Ср/Чт/Пт/Сб (внутри — массив days: number[], JS getDay() convention).
  • НачалоHH:MM.
  • КонецHH:MM. Если конец меньше начала — окно «оборачивается» через полночь (ночные смены 22:00–06:00).
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:

hours.greeting_segments (пример)json
[
  { "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.

Была ли страница полезной?