SABSUS

КАЛЕНДАРЬ · ЗАНЯТОСТЬ · ПРИЁМКА ПОДКЛЮЧЕНИЯ

Подключённый календарь: какие события должны закрывать время для записи

Событие видно в календаре сотрудника, но клиент всё равно получает это время. Возможная причина: система записи проверяет другой календарь, событие отмечено как свободное или обновление ещё не получено. Разберите эти условия отдельно, прежде чем считать подключение исправным.

Редакция SABSUS · · Источники проверены 9 октября

Опишите, какие календари влияют на запись

Для каждого сотрудника составьте короткий реестр: аккаунт подключения, идентификатор календаря, его назначение, владелец и участие в проверке конфликтов. Похожее название и видимость в общей сетке не доказывают, что источник выбран системой записи. Личный календарь, рабочие встречи и календарь отсутствий могут иметь разные правила.

Отдельно укажите календарь, куда сохраняются новые визиты. Чтение занятости из трёх источников и создание записи в одном источнике являются разными направлениями обмена. Проверяющему нужны оба списка и способ увидеть результат; формулировки «двусторонняя синхронизация» недостаточно.

В расписаниях встреч Google Calendar пользователь выбирает календари для проверки конфликтов. Проверка дополнительных календарей требует подходящего плана Google Workspace или Google One; для расписания на общем календаре выбор других источников может быть ограничен. Google: доступность по нескольким календарям. Эти условия относятся к продукту Google, а возможности другого сервиса проверяются отдельно.

Проверьте смысл «занято», а не цвет события

В Google Calendar API поле transparency определяет, блокирует ли событие время: opaque соответствует занятости, transparent оставляет его свободным. Поле visibility относится к видимости подробностей. Поэтому скрытое описание и свободное время нельзя считать одним признаком. Google: модель события.

Событие на весь день тоже требует явной проверки. Google указывает: при проверке конфликтов all-day событие со статусом Busy убирает доступные времена этого дня со страницы записи. Google: события на весь день. Обычная памятная дата не должна закрывать рабочий день только из-за своего положения над сеткой; проверьте её фактический статус.

Для импорта all-day событий обратите внимание на границу: API представляет их датами, а окончание события является исключающим. Интервал с началом 12 ноября и концом 13 ноября охватывает 12 ноября. Поля start и end. Проверьте именно день, закрытый в форме записи, без самостоятельного добавления ещё одних суток.

Получайте занятость без лишних подробностей

Доступ «только свободно/занято» в Google Calendar скрывает названия и подробности событий. Google: уровни доступа. Для проверки конфликтов сначала выясните, поддерживает ли выбранное подключение такой объём данных. Не открывайте весь календарь публично ради работы формы.

Если интеграция импортирует полные события, отдельно проверьте, кто увидит название, описание, участников и место. Тестовое событие с заметной вымышленной меткой помогает обнаружить утечку в экран администратора, клиентское подтверждение или журнал. Заказчику услуги достаточно узнать, что время недоступно; внутреннюю причину отсутствия сотрудника публиковать незачем.

Учебный пример: три источника и одно спорное окно

У вымышленного мастера рабочие часы 09:00–17:00, услуга занимает 60 минут без дополнительных буферов. В проверку включены календари «Работа» и «Отсутствия». Календарь «Памятные даты» отображается сотруднику, но не включён. Все времена относятся к одному местному дню.

  1. В «Работе» есть занятый интервал 10:00–11:00. Начало услуги в 10:30 недоступно: часть визита пересечётся с ним.
  2. Событие 12:00–13:00 в «Работе» отмечено свободным. Само оно не должно запрещать начало в 12:00; остальные ограничения проверяются как обычно.
  3. В «Памятных датах» есть all-day событие. Пока этот источник не участвует в проверке, его наличие не является основанием закрыть день.
  4. В «Отсутствиях» добавлено занятое all-day событие. После получения изменения доступные времена этого дня исчезают по выбранному правилу.

На каждом шаге сохраняйте исходные настройки, время изменения и результат в клиентской форме. Не добавляйте все четыре условия одновременно: иначе закрытый день скроет ошибку обработки свободного события. Это учебная спецификация, а не результат испытания конкретной платформы.

Отделите внешний блок от клиентского обязательства

Ответ FreeBusy API содержит интервалы занятости по календарям и возможные ошибки. Названия услуги, согласия клиента и состояния оплаты в этой модели нет. Google: Freebusy query. Следовательно, импортированный блок сам по себе не подтверждает клиентский визит и не должен автоматически становиться заказом.

Когда внешнюю встречу отменяют, её блокировка должна исчезнуть после успешного обновления, если других ограничений нет. Если удалено календарное представление уже принятого клиентского визита, сначала выясните предусмотренное направление отмены. Без проверенной связи удаление технического события нельзя трактовать как согласованный отказ клиента.

Для интеграций с копией событий Google описывает получение удалённых записей при инкрементальной синхронизации; недействительный токен требует полной пересинхронизации. Google: синхронизация данных. Восстановление технической копии не должно стирать самостоятельную историю клиентских записей.

Примите задержки и ошибки отдельными сценариями

Согласуйте допустимую давность данных и действие при её превышении: например, временный запрос без мгновенного подтверждения или проверка администратором. Универсального безопасного интервала обновления нет. При ошибке чтения отсутствие полученных блоков означает неизвестную доступность, а не доказанно свободный день.

  • Занятое событие выбранного календаря запрещает пересекающийся визит целиком.
  • Свободное событие и скрытые подробности обрабатываются независимо.
  • All-day блок закрывает ровно ожидаемые даты; соседний день остаётся проверяемым.
  • Исключённый источник не влияет на результат до явного изменения настройки.
  • После внешней отмены исчезает нужный блок, действующий клиентский визит сохраняется.
  • Контролируемая задержка и ошибка доступа включают согласованный резервный порядок.
  • После восстановления сверены отмены и изменения, личные подробности не попали клиенту.

Проверьте обновление не только после открытия формы, но и перед подтверждением. Свежий ответ внешнего календаря сам по себе не резервирует время: возможен новый конфликт между чтением и сохранением. Отдельно согласуйте обнаружение такого конфликта и ответственного за его разрешение.

Для записи SABSUS подтвердите наличие нужного подключения и эти результаты на тестовых данных. Ресурсные ограничения остаются отдельной проверкой. Источники проверены 9 октября 2026 года; встроенный Google-коннектор и мгновенный обмен этой статьёй не обещаются.