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

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

Подключитесь один раз, управляйте везде. После подключения 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à. Вы получаете уведомление по письму и чату.
Отклоняет подтверждённый 1:1 урок из календаря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 — политики отмены и способ применения возвратов