Бот называет клиенту свободные окна
Календарь отдаёт занятое время; свободное сценарий считает сам и называет часами.
Как выглядит сценарий
«Когда вы свободны»
Календарь
Занятое время▶
Свободные окна▶
Ответ▶
Ответ▶
- Исполнение + данные
- Данные
«Когда вы свободны?» — вопрос, на который менеджер отвечает, открыв календарь и посчитав в уме. Бот может отвечать сразу, но между вопросом и ответом есть шаг, которого не ждёшь: календарь умеет сказать только когда вы заняты.
Что внутри
- «Когда вы свободны» — вход.
- Занятое время запрашивает у календаря интервалы занятости на день.
- Свободные окна — нода с кодом. Она берёт рабочий день, режет его на часы и выбрасывает те, что пересекаются с занятыми.
- Ответ печатает оставшиеся часы.
Это единственный пример на витрине, где без кода не обойтись, и причина именно такая: арифметику интервалов модель делает медленнее и ошибается, а код считает точно и стоит нисколько.
Что настроить под себя
- Рабочий день и шаг — три константы в первой строке кода: начало, конец, длина окна.
- Адрес календаря в ноде занятости.
- Часовой пояс. Код считает в UTC, как отдаёт календарь. Если показываете окна клиенту, переведите их в его пояс — иначе он придёт на три часа раньше.
- Несколько календарей. Занятость можно спросить сразу по нескольким; тогда свободным будет то, что свободно во всех.
Что подключить
Календарь по CalDAV. Ответ на свободные окна доступен и без прав на запись: сценарий ничего не создаёт, только читает.