Saltar para o conteúdo principal

Integração com Calendário

Liga uma vez, gere em todo o lado. Depois de ligares o Google Calendar ou o Microsoft Outlook (Teams), as tuas aulas no Voilà aparecem no teu calendário exatamente como qualquer outra reunião — e tudo o que fizeres ao evento a partir do teu calendário é refletido automaticamente no Voilà. Reagenda, cancela, aceita, recusa — ambos os lados ficam sincronizados em segundos.

Esta página foi escrita para tutores. A secção "O que os teus alunos veem" explica exatamente o que os teus alunos veem do lado deles, para que possas gerir todo o teu horário com confiança a partir do teu calendário.

Fornecedores suportados​

FornecedorLigação de vídeo anexada automaticamenteO que é criado
Google CalendarGoogle MeetUm evento por aula, evento principal por série recorrente
Microsoft Outlook / TeamsMicrosoft TeamsUm evento por aula, um evento por ocorrência recorrente

Podes ligar um fornecedor de calendário de cada vez. Para mudar, desliga o atual primeiro em Definições → Integrações.

Ligar o Google Calendar​

  1. Vai a Definições → Integrações, ou Agendamento → Ligar Google Calendar.
  2. Clica em Ligar Google Calendar.
  3. Inicia sessão com a tua conta Google e autoriza o Voilà a ler e escrever eventos.
  4. O teu calendário começa a sincronizar imediatamente.

O que acontece no momento em que ligas: todas as aulas futuras confirmadas no Voilà são enviadas para o teu Google Calendar — cada uma com uma ligação do Google Meet, participantes já preenchidos e um corpo com "Reservado via Voilà". Não há mais nada a fazer.

Ligar o Microsoft Outlook / Teams​

  1. Vai a Definições → Integrações, ou Agendamento → Ligar Calendário do Outlook.
  2. Clica em Ligar Calendário do Outlook.
  3. Inicia sessão com a tua conta Microsoft e autoriza o Voilà a ler e escrever eventos.
  4. O teu calendário começa a sincronizar imediatamente.

Cada aula aparece no teu calendário do Outlook como uma reunião do Teams (a ligação para entrar é anexada automaticamente), com o aluno listado como participante. O mesmo comportamento de preenchimento retroativo se aplica: as aulas futuras do Voilà aparecem no teu calendário do Outlook de imediato.

O que aparece no teu calendário (Voilà → calendário)​

Evento no VoilàO que vês no calendário
Uma reserva individual é confirmadaUm convite na hora da aula, com a ligação do Meet/Teams, o aluno como participante e um corpo criado pelo Voilà.
Uma aula de grupo é confirmadaO mesmo evento, com todos os membros aceites na lista de participantes. À medida que mais membros aceitam, são adicionados; se um membro desistir, é removido.
Uma aula recorrente é criadaGoogle: um evento recorrente principal que abrange toda a série. Outlook: um evento por ocorrência (para que as atualizações por instância fluam corretamente através do Microsoft Graph).
Um reagendamento é aceite no VoilàA hora de início/fim do convite é atualizada no lugar e os participantes recebem uma notificação de atualização. Funciona tanto no Google como no Outlook.
Uma aula é cancelada no VoilàO evento do calendário é removido e os participantes são notificados com um aviso de cancelamento. Funciona tanto no Google como no Outlook.
Uma ocorrência recorrente é ignorada no VoilàApenas essa ocorrência é cancelada — o resto da série mantém-se intacto.

O que sincroniza de volta para o Voilà (calendário → Voilà)​

Esta é a secção que te permite "viver no teu calendário". Qualquer ação abaixo altera o estado do Voilà automaticamente.

Moves o horário do evento​

Arrastar um evento do Voilà para um horário diferente, ou editar a sua hora de início/fim, abre uma proposta de reagendamento dentro do Voilà. Assim que o aluno confirmar (na aplicação ou respondendo ao e-mail), a hora do evento fica definida em ambos os sistemas. Até lá, o evento fica como proposta pendente — o aluno ainda pode vê-la e aceitá-la/recusá-la dentro do Voilà.

Eliminas ou cancelas o evento​

O Voilà marca a aula como cancelada e executa o ramo de cancelamento pelo tutor da política de cancelamento:

  • O aluno recebe o reembolso total do pagamento (se for via Stripe) ou tem o crédito de sessão devolvido (se for um pacote de sessões), independentemente de o cancelamento ter ocorrido antes ou depois do prazo. Os cancelamentos atribuídos ao tutor compensam sempre o aluno na totalidade.
  • Para aulas de grupo, todos os lugares pagos são reembolsados.
  • O aluno recebe um e-mail de cancelamento e uma atualização no chat.

Crias um novo evento com um dos teus alunos como participante​

Se existir uma relação ativa entre aluno e tutor, o Voilà irá:

  • Criar automaticamente uma proposta de reserva para essa aula.
  • Enviar um e-mail ao aluno para que possa confirmar o horário.
  • Reservar o horário na tua disponibilidade enquanto a proposta estiver pendente.

Se o participante não for um aluno teu conhecido, o Voilà regista o evento como um bloco de ocupação normal na tua disponibilidade — mas não cria uma reserva.

Adicionas qualquer outro evento ao teu calendário​

Qualquer evento que adiciones — reuniões de trabalho, consultas no dentista, almoço com um amigo — é tratado como tempo ocupado e bloqueia novas reservas de alunos durante esse período. Não tens de fazer nada; isto é automático.

O que os teus alunos veem​

Sempre que uma aula é confirmada, o teu aluno recebe um convite de calendário para o mesmo evento — com a ligação do Meet ou Teams incluída. Assim, também podem gerir a aula a partir do seu próprio calendário. Eis exatamente como o Voilà reage a cada ação que um aluno pode fazer a partir da sua caixa de entrada ou aplicação de calendário:

Ação do alunoO que o Voilà faz
Aceita o conviteNada de especial — já está inscrito na aula. O RSVP é registado para visibilidade.
Recusa uma proposta pendente a partir do calendárioA proposta é recusada no Voilà. És notificado por e-mail e chat.
Recusa uma aula individual confirmada a partir do calendárioO Voilà executa o ramo de cancelamento pelo aluno da política de cancelamento. Antes do prazo = reembolso total ou crédito devolvido; após o prazo = perda do valor (ficas com o pagamento).
Recusa a partir de uma aula de grupo confirmadaApenas o lugar desse aluno é reembolsado; a aula continua para todos os outros (sujeito à tua regra de lugares mínimos).
Recusa uma ocorrência recorrenteEssa única ocorrência é ignorada (reembolso ou perda do valor de acordo com a política de cancelamento). O resto da série não é afetado.
Reencaminha o convite para outra caixa de entradaSem efeito na aula — o Voilà é a fonte de verdade, e reencaminhar o convite não move a aula nem emite reembolsos.

Em resumo: os alunos podem gerir a sua participação inteiramente a partir do convite do calendário, e verás cada ação refletida no lado do Voilà em segundos.

Aulas de grupo via calendário​

As aulas de grupo têm uma particularidade extra — a regra dos lugares mínimos:

  • Um membro recusa → esse lugar é reembolsado, o participante é removido do evento do calendário, a aula continua.
  • A recusa faz a aula descer abaixo de min_seats ANTES do prazo de cancelamento → a aula é cancelada na totalidade, todos os lugares pagos são reembolsados, o evento do calendário é removido.
  • A recusa faz a aula descer abaixo de min_seats APÓS o prazo de cancelamento → a aula mantém-se (quem reservou o lugar já pagou pelo horário) e recebes um e-mail de aviso para decidires como lidar com a situação.

Aulas recorrentes via calendário​

As aulas recorrentes são armazenadas de forma diferente em cada fornecedor, mas a experiência é a mesma:

  • Google: a série é um único evento recorrente principal. Recusar uma instância a partir do calendário ignora apenas essa ocorrência no Voilà; recusar o evento principal cancela todas as ocorrências futuras.
  • Outlook: cada ocorrência está ligada individualmente, para que as atualizações por instância do Microsoft Graph fluam corretamente. Recusar uma ocorrência ignora-a no Voilà; recusar a série termina as ocorrências futuras.
  • Ignorar uma ocorrência dentro do Voilà cancela automaticamente a instância correspondente no calendário com um aviso de cancelamento limpo para os participantes.
  • Uma alteração à política de cancelamento do tutor não é aplicada retroativamente às ocorrências que já existem — cada ocorrência fica com a política que estava ativa quando foi criada.

Como a sincronização é entregue​

O Voilà utiliza notificações push (webhooks) como acionador principal:

  • Google Calendar — o Voilà subscreve o teu calendário através do canal events.watch do Google; as atualizações chegam em segundos após guardares no Google Calendar.
  • Microsoft Outlook / Teams — o Voilà subscreve através dos webhooks do Microsoft Graph; mesmo comportamento.

Um pequeno conjunto de mecanismos de segurança mantém o canal saudável:

  • Tarefa de manutenção horária renova as subscrições antes de expirarem e inicializa quaisquer monitorizações em falta.
  • Preenchimento retroativo ao ligar envia as aulas futuras existentes no Voilà para o teu novo calendário (e importa os períodos de ocupação do teu calendário existente).
  • Atualização manual disponível na página de Agendamento — útil se estiveres a testar ou se um webhook falhou brevemente na entrega.

Versões anteriores desta página mencionavam um "ciclo de polling de 5 minutos". Isso já não é correto — a sincronização é baseada em push e normalmente chega em bem menos de 30 segundos.

Política de cancelamento e reembolsos via calendário​

Os cancelamentos feitos no calendário seguem exatamente a mesma política de cancelamento que configuraste para reservas pagas via Stripe (ver Pagamentos Stripe Connect):

  • Tu cancelas (eliminas/cancelas a partir do teu calendário): o aluno recebe o reembolso total, independentemente do momento.
  • O aluno recusa a partir do calendário antes do prazo: reembolso total ou crédito devolvido ao aluno.
  • O aluno recusa a partir do calendário após o prazo: o pagamento é perdido (ficas com ele) ou o crédito de sessão é consumido.
  • Aulas de grupo: reembolsos por lugar para recusas individuais; reembolso total de todos os lugares pagos se um cancelamento pelo tutor ou uma descida abaixo de min_seats antes do prazo cancelar a aula.

Privacidade e âmbito​

  • O Voilà apenas lê e escreve eventos no calendário que ligares — nunca noutros calendários da tua conta.
  • Os eventos que o Voilà lê são utilizados exclusivamente para cálculos de agendamento e disponibilidade.
  • Podes revogar o acesso a qualquer momento em Definições → Integrações (ou diretamente nas definições da tua conta Google / Microsoft).

Resolução de problemas​

Token expirado​

Se a sincronização parar, o token OAuth provavelmente expirou. Abre Definições → Integrações e clica em Voltar a ligar.

Atrasos na sincronização​

Os webhooks normalmente são entregues em ~30 segundos. A tarefa de manutenção horária é um mecanismo de segurança que renova as subscrições e volta a sincronizar qualquer entrega que tenha falhado brevemente. Também podes acionar uma atualização manual a partir da página de Agendamento.

Conflitos com eventos que não são do Voilà​

Se tentares confirmar uma reserva do Voilà num horário coberto por um evento que não é do Voilà no teu calendário, o Voilà avisará e permitirá que substituas o conflito — útil quando o evento do calendário é uma reserva "provisória" que estás disposto a libertar.

Mudar de fornecedor​

Só é possível ter um calendário ligado de cada vez. Desliga o Google antes de ligar o Outlook (ou vice-versa) em Definições → Integrações.

Sincronização bidirecional, de ponta a ponta​

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

Relacionado​

  • Agendamento — disponibilidade semanal, políticas de reserva, modo de férias
  • Aulas de Grupo — lugares mínimos, gestão de membros, comportamento de cancelamento de grupo
  • Pagamentos Stripe Connect — políticas de cancelamento e como os reembolsos são aplicados