본문으로 건너뛰기

캘린더 통합

한 번 연결하고 어디서나 관리해요. 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 Calendar 연결로 가요.
  2. Outlook Calendar 연결을 클릭해요.
  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à가 하는 것
초대장을 수락해요추가 작업 없음 — 이미 레슨에 있어요. 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

관련 항목​