캘린더 통합
한 번 연결하고 어디서나 관리하십시오. Google Calendar 또는 Microsoft Outlook(Teams)을 연결하면 Voilà 레슨이 다른 회의처럼 정확히 캘린더에 표시되며, 캘린더에서 이벤트에 대해 수행하는 모든 작업이 자동으로 Voilà에 반영됩니다. 일정 변경, 취소, 수락, 거절 — 양쪽 모두 몇 초 내에 동기화 상태를 유지합니다.
이 페이지는 튜터를 위해 작성되었습니다. "학생이 경험하는 것" 섹션에서는 학생이 자신의 끝에서 정확히 무엇을 보는지 설명하므로 캘린더에서 전체 일정을 자신 있게 관리할 수 있습니다.
지원되는 제공자
| 제공자 | 비디오 링크 자동 첨부 | 생성되는 항목 |
|---|---|---|
| Google Calendar | Google Meet | 레슨당 하나의 이벤트, 반복 시리즈당 마스터 이벤트 |
| Microsoft Outlook / Teams | Microsoft Teams | 레슨당 하나의 이벤트, 반복 발생당 하나의 이벤트 |
한 번에 하나의 캘린더 제공자만 연결할 수 있습니다. 전환하려면 설정 → 통합에서 현재 제공자를 먼저 연결 해제하십시오.
Google Calendar 연결
- 설정 → 통합 또는 일정 관리 → Google Calendar 연결로 이동하십시오.
- Google Calendar 연결을 클릭하십시오.
- Google 계정으로 로그인하고 Voilà가 이벤트를 읽고 쓸 수 있도록 승인하십시오.
- 캘린더가 즉시 동기화되기 시작합니다.
연결하는 순간 일어나는 일: 확인된 모든 향후 Voilà 레슨이 Google Calendar에 푸시됩니다 — 각각 Google Meet 링크, 미리 채워진 참석자, "Voilà를 통해 예약됨" 본문이 포함됩니다. 다른 작업은 필요하지 않습니다.
Microsoft Outlook / Teams 연결
- 설정 → 통합 또는 일정 관리 → Outlook Calendar 연결로 이동하십시오.
- Outlook Calendar 연결을 클릭하십시오.
- Microsoft 계정으로 로그인하고 Voilà가 이벤트를 읽고 쓸 수 있도록 승인하십시오.
- 캘린더가 즉시 동기화되기 시작합니다.
각 레슨은 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à가 수행하는 작업 |
|---|---|
| 초대장 수락 | 추가 작업 없음 — 이미 레슨에 참여 중입니다. RSVP가 가시성을 위해 기록됩니다. |
| 캘린더에서 보류 중인 제안 거절 | 제안이 Voilà에서 거절됩니다. 이메일과 채팅으로 알림을 받습니다. |
| 캘린더에서 확인된 1:1 레슨 거절 | Voilà는 취소 정책의 학생 취소 분기를 실행합니다. 마감 전 = 전액 환불 또는 크레딧 반환, 마감 후 = 몰수(당신이 결제 유지). |
| 확인된 그룹 레슨에서 거절 | 해당 학생의 좌석만 환불됩니다. 레슨은 다른 모든 사람을 위해 계속됩니다(최소 좌석 규칙 적용). |
| 반복 발생에서 거절 | 해당 단일 발생이 건너뜁니다(취소 정책에 따라 환불 또는 몰수). 시리즈의 나머지는 변경되지 않습니다. |
| 초대장을 다른 받은 편지함으로 전달 | 레슨에 영향 없음 — Voilà가 진실의 원천이며, 초대장 전달은 레슨을 이동하거나 환불을 재발급하지 않습니다. |
요약하면: 학생은 캘린더 초대장에서 전적으로 참여를 관리할 수 있으며, 모든 작업이 몇 초 내에 Voilà 측에 반영됩니다.
캘린더를 통한 그룹 레슨
그룹 레슨은 하나의 추가 요소를 추가합니다 — 최소 좌석 규칙:
- 한 멤버가 거절 → 해당 좌석이 환불되고, 참석자가 캘린더 이벤트에서 제거되며, 레슨이 계속됩니다.
- 거절이 취소 마감 전에 레슨을
min_seats아래로 떨어뜨림 → 전체 레슨이 취소되고, 모든 유료 좌석이 환불되며, 캘린더 이벤트가 제거됩니다. - 거절이 취소 마감 후에 레슨을
min_seats아래로 떨어뜨림 → 레슨이 유지되고(좌석을 유지한 사람들은 이미 슬롯에 대해 결제함), 당신이 어떻게 처리할지 결정할 수 있도록 알림 이메일을 받습니다.
캘린더를 통한 반복 레슨
반복 레슨은 각 제공자에서 다르게 저장되지만 경험은 동일합니다:
- Google: 시리즈는 단일 마스터 반복 이벤트입니다. 캘린더에서 하나의 인스턴스를 거절하면 Voilà에서 해당 발생만 건너뜁니다. 마스터를 거절하면 모든 향후 발생이 취소됩니다.
- Outlook: 각 발생이 개별적으로 연결되므로 Microsoft Graph의 인스턴스별 업데이트가 깔끔하게 흐릅니다. 하나의 발생을 거절하면 Voilà에서 건너뜁니다. 시리즈를 거절하면 향후 발생이 종료됩니다.
- Voilà 내에서 발생을 건너뜀 자동으로 일치하는 캘린더 인스턴스를 취소하고 참석자에게 깔끔한 취소 알림을 보냅니다.
- 튜터의 취소 정책 변경은 소급으로 적용되지 않습니다 이미 존재하는 발생에 — 각 발생은 생성될 때 활성화된 정책을 잠급니다.
동기화 전달 방식
Voilà는 푸시 알림(웹훅)을 주요 트리거로 사용합니다:
- Google Calendar — Voilà는 Google의
events.watch채널을 통해 캘린더를 구독합니다. 업데이트는 Google Calendar에서 저장한 후 몇 초 내에 도착합니다. - Microsoft Outlook / Teams — Voilà는 Microsoft Graph 웹훅을 통해 구독합니다. 동일한 동작입니다.
작은 안전망 세트가 채널을 건강하게 유지합니다:
- 시간별 유지 관리 작업 만료 전에 구독을 갱신하고 누락된 감시를 부트스트랩합니다.
- 연결 시 역채우기 기존 향후 Voilà 레슨을 새 캘린더에 푸시하고(기존 캘린더 바쁜 시간을 역으로 가져옵니다).
- 수동 새로 고침 일정 관리 페이지에서 사용 가능합니다 — 테스트 중이거나 웹훅이 일시적으로 전달을 놓친 경우 유용합니다.
이 페이지의 이전 버전에서는 "5분 폴링 주기"를 언급했습니다. 더 이상 정확하지 않습니다 — 동기화는 푸시 기반이며 일반적으로 30초 이내에 도착합니다.
캘린더를 통한 취소 정책 및 환불
캘린더 측 취소는 Stripe 결제 예약에 대해 구성한 취소 정책과 정확히 동일하게 따릅니다(Stripe Connect 결제 참조):
- 당신이 취소(캘린더에서 삭제/취소): 학생은 타이밍과 관계없이 전액 환불됩니다.
- 학생이 마감 전에 캘린더에서 거절: 전액 환불 또는 크레딧이 학생에게 반환됩니다.
- 학생이 마감 후에 캘린더에서 거절: 결제가 몰수됩니다(당신이 유지) 또는 세션 크레딧이 소비됩니다.
- 그룹 레슨: 개별 거절에 대한 좌석별 환불. 튜터 취소 또는 마감 전
min_seats아래로의 하락이 레슨을 취소하면 모든 유료 좌석의 전액 환불.
개인정보 보호 및 범위
- Voilà는 연결한 캘린더의 이벤트만 읽고 쓰며 — 계정의 다른 캘린더는 절대 아닙니다.
- Voilà가 읽는 이벤트는 일정 관리 및 가용성 계산에만 사용됩니다.
- 설정 → 통합에서 언제든지 액세스를 취소할 수 있습니다(또는 Google / Microsoft 계정 설정에서 직접).
문제 해결
토큰 만료됨
동기화가 중지되면 OAuth 토큰이 만료되었을 가능성이 높습니다. 설정 → 통합을 열고 다시 연결을 클릭하십시오.
동기화 지연
웹훅은 일반적으로 약 30초 내에 전달됩니다. 시간별 유지 관리 작업은 구독을 갱신하고 일시적으로 실패한 전달을 다시 동기화하는 안전망입니다. 일정 관리 페이지에서 수동 새로 고침을 트리거할 수도 있습니다.
Voilà가 아닌 이벤트와의 충돌
Voilà가 아닌 이벤트로 덮인 슬롯에서 Voilà 예약을 확인하려고 하면 Voilà가 경고하고 충돌을 재정의할 수 있게 해줍니다 — 캘린더 이벤트가 해제하기 쉬운 "소프트" 보류인 경우 유용합니다.
제공자 전환
한 번에 하나의 캘린더만 연결할 수 있습니다. 설정 → 통합에서 Outlook을 연결하기 전에 Google을 연결 해제하십시오(또는 그 반대).
양방향 동기화, 처음부터 끝까지
sequenceDiagram
participant Student
participant StudentCal as "Student Calendar"
participant Voila
participant TutorCal as "Tutor Calendar (Google or Outlook)"
participant Tutor
Note over Voila,TutorCal: Lesson confirmed in Voilà
Voila->>TutorCal: Create event with Meet or Teams link
TutorCal-->>Student: Invite delivered
TutorCal-->>StudentCal: Invite delivered
Note over Student,StudentCal: Student declines from inbox
StudentCal->>TutorCal: RSVP declined
TutorCal->>Voila: Webhook fires
Voila->>Voila: Run cancellation policy
Voila-->>Tutor: In-app and email notice
Voila-->>Student: Refund or forfeit confirmation
Note over Tutor,TutorCal: Tutor cancels the event
TutorCal->>Voila: Webhook fires
Voila->>Voila: Cancel and refund
Voila->>StudentCal: Calendar event removed
관련 항목
- 일정 관리 — 주간 가용성, 예약 정책, 휴가 모드
- 그룹 레슨 — 최소 좌석, 멤버 관리, 그룹 취소 동작
- Stripe Connect 결제 — 취소 정책 및 환불 적용 방식