Как устроена синхронизация календарей
UnSpot умеет держать брони и календарные события в одном состоянии: бронь переговорной появляется встречей в календаре комнаты, а встреча, созданная в календаре, — бронью в UnSpot. Эта статья описывает общие правила такого обмена — они одинаковы для Microsoft 365, локального Exchange и Google Workspace. У Битрикс24 есть два отличия: пустая тема встречи не заменяется на Engaged, а остановка брони в календарь не уходит. Что именно различается между провайдерами, написано в статьях по каждому из них.
Словарь: календари, брони, события, организаторы
Дальше по тексту эти слова означают строго следующее.
| Термин | Что это |
|---|---|
| Календарь переговорной | календарь ресурса — почтового ящика комнаты, — привязанный к переговорной в UnSpot. Через него идёт обмен бронями переговорной |
| Личный календарь | рабочий или личный календарь сотрудника, привязанный к его профилю в UnSpot |
| Календарь по умолчанию | один из личных календарей сотрудника, выбранный основным: он подставляется, когда сотрудник создаёт событие в своём календаре из UnSpot вручную |
| Бронь | запись UnSpot о том, что ресурс занят: переговорная, стол, парковочное место |
| Событие | встреча в календаре у провайдера. Событие и бронь — разные сущности: событие может существовать без брони, а переговорную можно забронировать без создания события |
| Одиночное и повторяющееся событие | событие без повторов и событие с заданной периодичностью. Повторяющееся событие синхронизируется серией, а не отдельным экземпляром; брони по нему создаются на ограниченный отрезок — см. «Горизонты синхронизации» |
| Организатор события | тот, кто создал встречу в календаре |
| Организатор брони | тот, кто создал бронь — в календаре или в любом разделе UnSpot |
Один календарь можно подключить только к одной переговорной, и у одной переговорной может быть только один календарь. Где это настраивается:

Два направления обмена
- Из UnSpot в календарь. Бронь переговорной создаёт встречу в календаре комнаты. Правка и удаление брони уходят туда же. В личный календарь организатора бронь переговорной при этом не копируется — личные календари синхронизируются отдельно и своей настройкой.
- Из календаря в UnSpot. Встреча, созданная в календаре комнаты напрямую — например, в Outlook, — становится бронью в UnSpot. Изменение и удаление такой встречи так же меняют и удаляют бронь.
Обмен идёт по событию, а не по расписанию: провайдер уведомляет UnSpot об изменениях, а UnSpot дозапрашивает только то, что поменялось. По расписанию работают лишь две фоновые задачи — продление подписок на уведомления и продление повторяющихся серий. Механика уведомлений у провайдеров разная: сроки подписок, задержки и способы восстановления описаны в статьях по провайдерам.
Что уезжает из брони в событие
| Поле брони | Куда попадает | Оговорки |
|---|---|---|
| Начало и конец | время события | в часовом поясе офиса; если он не задан — компании |
| Название брони | тема события | — |
| Ссылка на встречу и комментарий | описание события | склеиваются в один текст: сначала ссылка, затем комментарий |
| Участники | участники события | передаются адресами электронной почты |
| Признак приватной брони | уровень конфиденциальности события | приватная бронь делает событие личным |
| Повторяемость | правило повторения | переносится при создании брони |
При изменении брони в календарь уходит меньше, чем при создании — и состав того, что уходит, зависит от провайдера. Общее правило: время и тему обновляют все провайдеры, описание и правило повторения при обновлении не отправляет никто. Точный перечень — в статье по вашему провайдеру.
Что приходит из события в бронь
| Поле события | Что становится в UnSpot | Оговорки |
|---|---|---|
| Тема | название брони | пустая тема даёт бронь с названием Engaged |
| Начало и конец | время брони | — |
| Организатор | организатор брони | — |
| Уровень конфиденциальности | признак приватной брони | всё, кроме обычного уровня, делает бронь приватной. Если уровень у события не указан, приватность берётся из настроек самой переговорной |
| Участники | участники брони | — |
| Правило повторения | повторяющаяся бронь | обрабатывается серия, а не отдельный экземпляр; правка одного экземпляра приезжает при следующей сверке серии |
| Отмена встречи | бронь удаляется | — |
Что не переносится
- Место встречи. Переговорная в UnSpot определяется тем, в какой календарь попало событие, а не текстом в поле места.
- Признак «весь день» — событие на весь день становится бронью с конкретным временем начала и конца.
- Описание события из календаря. Текст встречи в описание брони не переносится. В обратную сторону описание уходит: комментарий брони и ссылка на встречу попадают в тело события.
- Категории, признак онлайн-встречи, статус занятости («Занят», «Под вопросом» и прочие).
- Вложения и форматирование — описание переносится обычным текстом.
Горизонты синхронизации
Синхронизация работает не на бесконечном отрезке времени. Событие или бронь за пределами этих окон синхронизация не тронет — и это самая частая причина вопроса «почему не синхронизировалось».
| Что ограничено | Окно | Что это значит на практике |
|---|---|---|
| Первая загрузка событий после подключения | Microsoft 365 — от семи месяцев назад до шести месяцев вперёд; Google — от 30 дней назад; локальный Exchange — весь календарь, но уже завершившиеся события отбрасываются | события за пределами окна в UnSpot не попадут даже после повторной сверки |
| Экземпляры повторяющейся серии | примерно от месяца назад до года вперёд | у бесконечной серии брони есть всегда примерно на год вперёд; дальше цепочку продлевает фоновая задача |
| Уборка броней, для которых события в календаре больше нет | календарь читается за отрезок примерно от вчера до трёх месяцев вперёд | встреча, удалённая в календаре дальше трёх месяцев, бронь в UnSpot не снимет — её придётся удалить вручную |
| Правки прошедших встреч | — | интерфейс UnSpot не даёт менять брони в прошлом, поэтому правки прошедших встреч из календаря не приезжают |
Пересечения и конфликты
- Календарь занят на это время. Если в момент создания брони в календаре комнаты уже есть встреча на этот интервал, бронь удаляется, организатор получает уведомление об отмене, а календарь пересверяется. Приоритет у того, что уже стоит в календаре. Если бронь стала конфликтной при правке, она тоже удаляется, но уведомление об отмене в этом случае не отправляется.
- Событие в календаре создать не удалось. Бронь удаляется, организатор получает уведомление об отмене.
- Событие в прошлом. Бронь из события в прошлом не создаётся, если есть пересечения с другими бронями.
- Завершившуюся бронь синхронизация не обновляет — правка события в календаре на неё не действует. Но если встречу отменить, бронь будет удалена, даже если она уже прошла. Идущая сейчас бронь обновляется как обычная.
- Интерфейс UnSpot не даёт создавать и менять брони в прошлом, тогда как провайдер календаря обычно даёт менять прошедшие встречи. Поэтому правки прошедших встреч в календаре в UnSpot не приезжают.
Проверка в две стороны
Синхронизация состоит из двух независимых направлений, и ломается обычно одно из них. Поэтому проверять надо оба — по очереди, на любой переговорной с подключённым календарём:
- Из UnSpot в календарь. Создайте тестовую бронь переговорной в UnSpot и откройте календарь этой комнаты. Встреча должна появиться сразу.
- Из календаря в UnSpot. Создайте встречу с этой переговорной прямо в календаре и обновите список бронирований в UnSpot. Бронь должна появиться в течение нескольких секунд.
Что означает результат: работают оба шага — синхронизация в порядке. Работает только первый — перестало приходить входящее направление: подписка на уведомления истекла или сервер не может достучаться до UnSpot; разово поможет ручная сверка, а восстановит подписку переподключение календаря. Не работает первый — проблема с доступом к календарю: проверьте признаки поломки ниже и учётные данные подключения.
Ручная сверка и признаки поломки
В окне календаря переговорной есть кнопка «Запустить синхронизацию»: она заново вычитывает календарь и приводит брони в соответствие с ним. Кнопка доступна, пока календарь считается работающим, и после запуска блокируется на час — рядом показывается время следующего запуска. Сверку выполняет Владелец: кнопка видна и Администратору офисов, но запрос завершится отказом по правам.
Признаки того, что доступ к календарю потерян. Они появляются не у всех вариантов подключения: у локального Exchange UnSpot календарь недействительным не помечает вовсе, и обрыв доступа там виден только по тому, что события перестали приходить.
- у переговорной в дереве рабочих пространств появляется отметка «Календарь недоступен» с подсказкой «Нет доступа к календарю. Проверьте соединение и подключите заново»;
- в окне календаря переговорной вместо «Запустить синхронизацию» появляется кнопка «Переподключить»;
- у провайдеров, которые настраиваются подключением, карточка подключения помечается «Ошибка подключения».
Там, где отметка появляется, после успешной синхронизации она снимается автоматически — включать календарь обратно вручную не нужно.
Какие провайдеры поддерживаются
| Провайдер | Сколько способов подключения | С чего начать |
|---|---|---|
| Microsoft 365 и локальный Exchange | четыре | Синхронизация календарей с Microsoft: какой вариант выбрать |
| Google Workspace | один | Подключение календаря Google к переговорной |
| Битрикс24 | один | Синхронизация календарей с Битрикс24: как устроена |
Обзор всех способов подключения календаря переговорной, включая порядок внедрения, — статья Календарь переговорной: обзор способов подключения.
Правила синхронизации по сценариям
Как именно расходятся изменения между календарями в конкретных сценариях — в четырёх отдельных статьях:
Четыре правила одинаковы во всех сценариях, поэтому в самих статьях они не повторяются:
- Добавили комнату к брони — в календаре добавленной комнаты создаётся событие.
- Убрали комнату из брони — событие удаляется только из календаря этой комнаты, остальные не трогаются.
- Отменили встречу в календаре — бронь удаляется, даже если она уже прошла.
- Правки прошедших встреч не приезжают — бронь обновляется, только если её старое или новое время ещё не закончилось.
- Бронь создана в UnSpot: что уходит в календари — бронь создана в UnSpot
- Встреча создана в календаре: как появляется бронь
- Повторяющаяся встреча: как синхронизируется серия
- Приглашение из стороннего календаря: что синхронизируется — приглашение пришло извне
Связанные статьи
- Календарь переговорной: обзор способов подключения
- Синхронизация календарей с Microsoft: какой вариант выбрать
- Облако Microsoft 365: как устроена синхронизация календарей
- Локальный Exchange: как устроена синхронизация календарей
- Синхронизация личного календаря
- Синхронизация бронирований с личным календарем
- Обзор интеграций