Перейти к основному содержимому

Интеграция с календарём

Подключи один раз, управляй везде. Когда ты подключишь Google Calendar или Microsoft Outlook (Teams), твои уроки Voilà будут отображаться в календаре как обычные встречи — и любые изменения, которые ты сделаешь в календаре, автоматически синхронизируются с Voilà. Перенеси время, отмени урок, примени или отклони приглашение — обе стороны остаются в синхронизации в течение нескольких секунд.

Эта страница написана для репетиторов. Раздел "Что видят твои ученики" объясняет, что именно видят твои ученики, чтобы ты мог уверенно управлять всем расписанием из календаря.

Поддерживаемые сервисы​

СервисВидеоссылка автоматическиЧто создаётся
Google CalendarGoogle MeetОдно событие на урок, главное событие на серию повторяющихся уроков
Microsoft Outlook / TeamsMicrosoft TeamsОдно событие на урок, одно событие на каждое повторение

Ты можешь подключить только один сервис календаря одновременно. Чтобы переключиться, сначала отключи текущий в Настройки → Интеграции.

Подключение Google Calendar​

  1. Перейди в Настройки → Интеграции или Расписание → Подключить Google Calendar.
  2. Нажми Подключить Google Calendar.
  3. Войди в свой аккаунт Google и авторизуй Voilà на чтение и запись событий.
  4. Твой календарь начнёт синхронизироваться сразу же.

Что происходит в момент подключения: все подтверждённые будущие уроки Voilà загружаются в твой Google Calendar — каждый с ссылкой на Google Meet, предзаполненными участниками и описанием "Забронировано через Voilà". Больше ничего делать не нужно.

Подключение Microsoft Outlook / Teams​

  1. Перейди в Настройки → Интеграции или Расписание → Подключить календарь Outlook.
  2. Нажми Подключить календарь Outlook.
  3. Войди в свой аккаунт Microsoft и авторизуй Voilà на чтение и запись событий.
  4. Твой календарь начнёт синхронизироваться сразу же.

Каждый урок появляется в твоём календаре Outlook как встреча Teams (ссылка для присоединения прикрепляется автоматически), с учеником в списке участников. Применяется то же поведение: будущие уроки Voilà сразу же появляются в твоём календаре Outlook.

Что появляется в твоём календаре (Voilà → календарь)​

Событие VoilàЧто ты видишь в календаре
Бронирование 1:1 подтвержденоПриглашение на время урока с ссылкой на Meet/Teams, учеником в списке участников и описанием от Voilà.
Групповой урок подтверждёнТо же событие со всеми принявшими участниками в списке. По мере принятия новых участников они добавляются; если участник отказывается, он удаляется.
Создан повторяющийся урокGoogle: одно главное повторяющееся событие на всю серию. Outlook: одно событие на каждое повторение (чтобы обновления отдельных экземпляров корректно проходили через Microsoft Graph).
Перенос принят в VoilàВремя начала/окончания приглашения обновляется, и участники получают уведомление об обновлении. Работает в Google и Outlook.
Урок отменён в VoilàСобытие в календаре удаляется, и участники получают уведомление об отмене. Работает в Google и Outlook.
Повторение пропущено в VoilàОтменяется только это повторение — остальная часть серии остаётся нетронутой.

Что синхронизируется обратно в Voilà (календарь → Voilà)​

Этот раздел позволяет тебе "жить в своём календаре". Всё, что описано ниже, автоматически изменяет состояние в Voilà.

Ты переносишь время события​

Когда ты перетягиваешь событие Voilà на другой слот или редактируешь его время начала/окончания, в Voilà открывается предложение о переносе. После того как ученик подтвердит (в приложении или ответив на письмо), время события фиксируется в обеих системах. До этого событие остаётся в статусе ожидающего предложения — ученик может видеть его и принять/отклонить из Voilà.

Ты удаляешь или отменяешь событие​

Voilà отмечает урок как отменённый и применяет ветку отмены репетитором политики отмены:

  • Ученик получает полный возврат платежа (если Stripe) или ему возвращается кредит сеанса (если пакет сеансов), независимо от того, произошла ли отмена до или после крайнего срока. Отмены, инициированные репетитором, всегда возвращают ученику полную сумму.
  • Для групповых уроков возвращается плата за каждое место.
  • Ученик получает письмо об отмене и обновление в чате.

Ты создаёшь новое событие с одним из своих учеников в списке участников​

Если между вами и учеником есть активные отношения репетитор-ученик, Voilà:

  • Автоматически создаст предложение о бронировании для этого урока.
  • Отправит письмо ученику, чтобы он мог подтвердить время.
  • Зарезервирует слот в твоей доступности, пока предложение ожидает подтверждения.

Если участник не является известным учеником, Voilà записывает событие как обычный занятый блок в твоей доступности — но не создаёт бронирование.

Ты добавляешь любое другое событие в свой календарь​

Любое событие, которое ты добавляешь — рабочие встречи, приём у врача, обед с другом — рассматривается как занятое время и блокирует новые бронирования учеников в этот период. Тебе не нужно ничего делать; это происходит автоматически.

Что видят твои ученики​

Когда урок подтверждается, твой ученик получает приглашение в календарь на то же событие — со ссылкой для присоединения к Meet или Teams. Поэтому он может управлять уроком и из своего календаря. Вот как именно Voilà реагирует на каждое действие, которое ученик может выполнить из своего почтового ящика или приложения календаря:

Действие ученикаЧто делает Voilà
Принимает приглашениеНичего дополнительного — он уже на уроке. Его ответ записывается для видимости.
Отклоняет ожидающее предложение из календаряПредложение отклоняется в Voilà. Ты получаешь уведомление по письму и в чате.
Отклоняет подтверждённый индивидуальный урок из календаряVoilà применяет ветку отмены учеником политики отмены. До крайнего срока = полный возврат или возврат кредита; после крайнего срока = потеря платежа (ты оставляешь деньги).
Отклоняет из подтверждённого группового урокаВозвращается только плата за место этого ученика; урок продолжается для остальных (с учётом твоего правила минимального количества мест).
Отклоняет повторение повторяющегося урокаЭто повторение пропускается (возврат или потеря платежа согласно политике отмены). Остальная часть серии не затрагивается.
Перенаправляет приглашение на другой почтовый ящикНикакого влияния на урок — Voilà является источником истины, и перенаправление приглашения не перемещает урок и не переиздаёт возвраты.

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

Групповые уроки через календарь​

Групповые уроки добавляют одно дополнительное правило — минимальное количество мест:

  • Один участник отклоняет → его место возвращается, он удаляется из события календаря, урок продолжается.
  • Отклонение снижает количество мест ниже min_seats ДО крайнего срока отмены → весь урок отменяется, возвращается плата за каждое место, событие календаря удаляется.
  • Отклонение снижает количество мест ниже min_seats ПОСЛЕ крайнего срока отмены → урок остаётся (люди, которые удержали своё место, уже заплатили за слот), и ты получаешь уведомление по письму, чтобы ты мог решить, как это обработать.

Повторяющиеся уроки через календарь​

Повторяющиеся уроки хранятся по-разному на каждой платформе, но опыт одинаков:

  • Google: серия — это одно главное повторяющееся событие. Отклонение одного экземпляра из календаря пропускает только это повторение в Voilà; отклонение главного события отменяет все будущие повторения.
  • Outlook: каждое повторение связано отдельно, поэтому обновления отдельных экземпляров из Microsoft Graph корректно проходят. Отклонение одного повторения пропускает его в Voilà; отклонение серии завершает будущие повторения.
  • Пропуск повторения из Voilà автоматически отменяет соответствующий экземпляр в календаре с чистым уведомлением об отмене для участников.
  • Изменение политики отмены репетитором не применяется ретроактивно к повторениям, которые уже существуют — каждое повторение фиксирует политику, которая была активна при его создании.

Как доставляется синхронизация​

Voilà использует push-уведомления (webhooks) как основной триггер:

  • Google Calendar — Voilà подписывается на твой календарь через канал events.watch Google; обновления поступают в течение нескольких секунд после сохранения в Google Calendar.
  • Microsoft Outlook / Teams — Voilà подписывается через webhooks Microsoft Graph; то же поведение.

Небольшой набор защитных механизмов поддерживает канал в здоровом состоянии:

  • Почасовая задача обслуживания обновляет подписки перед истечением срока и инициализирует любые отсутствующие наблюдения.
  • Заполнение при подключении загружает существующие будущие уроки Voilà в твой новый календарь (и обратно импортирует твои существующие занятые периоды календаря).
  • Ручное обновление доступно со страницы Расписания — полезно, если ты тестируешь или если webhook кратко пропустил доставку.

Более ранние версии этой страницы упоминали "цикл опроса каждые 5 минут". Это больше не актуально — синхронизация основана на push и обычно поступает менее чем за 30 секунд.

Политика отмены и возвраты через календарь​

Отмены со стороны календаря следуют точно такой же политике отмены, которую ты настроил для платежей через Stripe (см. Платежи Stripe Connect):

  • Ты отменяешь (удаляешь/отменяешь из своего календаря): ученик получает полный возврат, независимо от времени.
  • Ученик отклоняет из своего календаря до крайнего срока: полный возврат или возврат кредита ученику.
  • Ученик отклоняет из своего календаря после крайнего срока: платёж теряется (ты оставляешь его) или кредит сеанса расходуется.
  • Групповые уроки: возвраты за каждое место при отдельных отклонениях; полный возврат всех оплаченных мест, если отмена репетитором или падение ниже min_seats до крайнего срока отменяет урок.

Конфиденциальность и область доступа​

  • Voilà только читает и записывает события в календарь, который ты подключил — никогда не трогает другие календари в твоём аккаунте.
  • События, которые Voilà читает, используются только для расписания и расчётов доступности.
  • Ты можешь отозвать доступ в любой момент в Настройки → Интеграции (или прямо из настроек твоего аккаунта Google / Microsoft).

Решение проблем​

Токен истёк​

Если синхронизация остановилась, OAuth-токен, вероятно, истёк. Открой Настройки → Интеграции и нажми Переподключить.

Задержки синхронизации​

Webhooks обычно доставляются в течение ~30 секунд. Почасовая задача обслуживания — это защитный механизм, который обновляет подписки и повторно синхронизирует любую доставку, которая кратко не прошла. Ты также можешь вручную обновить со страницы Расписание.

Конфликты с событиями, не относящимися к Voilà​

Если ты попытаешься подтвердить бронирование Voilà на слот, который занят событием, не относящимся к Voilà, в твоём календаре, Voilà предупредит тебя и позволит переопределить конфликт — полезно, когда событие календаря — это "мягкое" резервирование, которое ты готов отпустить.

Переключение сервисов​

Одновременно может быть подключен только один календарь. Отключи Google перед подключением Outlook (или наоборот) в Настройки → Интеграции.

Двусторонняя синхронизация, от начала до конца​

sequenceDiagram
participant Student
participant StudentCal as "Календарь ученика"
participant Voila
participant TutorCal as "Календарь репетитора (Google или Outlook)"
participant Tutor

Note over Voila,TutorCal: Урок подтверждён в Voilà
Voila->>TutorCal: Создать событие со ссылкой на Meet или Teams
TutorCal-->>Student: Приглашение доставлено
TutorCal-->>StudentCal: Приглашение доставлено

Note over Student,StudentCal: Ученик отклоняет из почтового ящика
StudentCal->>TutorCal: RSVP отклонено
TutorCal->>Voila: Webhook срабатывает
Voila->>Voila: Применить политику отмены
Voila-->>Tutor: Уведомление в приложении и по письму
Voila-->>Student: Подтверждение возврата или потери платежа

Note over Tutor,TutorCal: Репетитор отменяет событие
TutorCal->>Voila: Webhook срабатывает
Voila->>Voila: Отменить и вернуть
Voila->>StudentCal: Событие календаря удалено

Связанные материалы​

  • Расписание — еженедельная доступность, политики бронирования, режим отпуска
  • Групповые уроки — минимальное количество мест, управление участниками, поведение отмены группы
  • Платежи Stripe Connect — политики отмены и способ применения возвратов