Serviços de reserva
O Serviço de Reservas é um sistema completo de gestão de agendamentos que permite:
O Serviço de Reservas é um sistema completo de gestão de agendamentos que permite:
- Criar e gerenciar serviços de reserva para a sua empresa.
- Agendar consultas com lembretes automáticos.
- Acompanhar o status da reserva durante todo o ciclo de vida.
- Enviar acompanhamentos automáticos após as consultas.
- Integrar com os fluxos do seu chatbot.
Importante: Os serviços de reserva são compartilhados entre todos os canais da sua workspace, com um limite máximo de 20 serviços de reserva.
- Defina os diferentes tipos de agendamentos (consultas, reuniões, serviços, etc.).
- Defina a duração padrão para cada tipo de serviço.
- Configure identificadores de serviço personalizados (UID do serviço)
- Ative ou desative os serviços conforme necessário
- Configure até 5 sequências de lembretes por serviço.
- Configure o horário do lembrete (dias, horas, minutos antes do compromisso).
- Personalize as mensagens de lembrete
- Acionamento automático de lembretes com base no horário agendado
- Configure até 5 sequências de acompanhamento por serviço.
- Envie acompanhamentos após consultas concluídas ou em caso de não comparecimento.
- Configure o cronograma de acompanhamento (dias, horas, minutos após a consulta).
- Personalize as mensagens de acompanhamento.
Acompanhe as reservas durante todo o seu ciclo de vida:
- Pendente: Estado inicial da reserva
- Confirmado: A reserva foi confirmada.
- Em andamento: A reunião/consulta começou.
- Concluído: Concluído com sucesso
- Cancelado: A reserva foi cancelada.
- Ausência: O cliente não compareceu.
- Inativo: O serviço não está mais ativo
- Horários de início e término
- Duração (em minutos)
- Detalhes do local
- Rastreamento de fonte
- Metadados personalizados
- Sistema de avaliação (0 a 5 estrelas)
- Motivos de cancelamento/remarcação
- Registros de auditoria completos
- Conta de workspace com o complemento CRM/Listas/Reservas ativado
- Acesso à gestão do serviço de reservas
- Conhecimento básico do fuso horário da sua workspace.
O sistema de reservas funciona com base em tarefas agendadas:
Campos obrigatórios:
- Nome: Nome de exibição para o seu serviço (máximo de 100 caracteres)
- UID do serviço: identificador único com caracteres alfanuméricos (máximo de 50 caracteres)
Não pode ser alterado após a criação. Exemplo:consultation_30min,demo_call,support_session - Descrição: Descrição detalhada (máximo de 1.000 caracteres)
- Duração padrão: Duração em minutos (0-1000)
- Status: Ativo ou Inativo
Para cada lembrete:
Exemplo de configuração de lembrete:
Reminder 1:
- Title: "Appointment Tomorrow"
- Days: 1, Hours: 0, Minutes: 0
- Description: "Your appointment is tomorrow at [TIME]"
Reminder 2:
- Title: "Appointment in 1 Hour"
- Days: 0, Hours: 1, Minutes: 0
- Description: "Your appointment starts in 1 hour"
Para cada acompanhamento:
Exemplo de configuração de acompanhamento:
Follow-up 1:
- Title: "How was your appointment?"
- Days: 0, Hours: 2, Minutes: 0
- Description: "We'd love to hear about your experience"
Follow-up 2:
- Title: "Follow-up Survey"
- Days: 1, Hours: 0, Minutes: 0
- Description: "Please take a moment to complete our survey"
Informações necessárias:
- UID do serviço ou ID do serviço de reserva
- Hora de início (no fuso horário da workspace)
- Status inicial (Pendente ou Confirmado)
Informações opcionais:
- Duração personalizada (substitui a padrão)
- Local (máximo de 1.000 caracteres)
- Fonte (máximo de 100 caracteres)
- Metadados (máximo de 5.000 caracteres)
- Notas (máximo de 1.000 caracteres)
Observações importantes:
- O horário de início deve ser no futuro.
- Os lembretes são agendados automaticamente.
- Altera o status de Pendente para Confirmado.
- Disponível apenas para reservas pendentes.
- Dispara o evento BOOKING_CONFIRMED
- Atualiza o horário de início, o horário de término e a duração.
- É possível alterar o status para Pendente ou Confirmado.
- Preserva os lembretes já enviados.
- Reagenda os lembretes restantes.
- É necessário informar o motivo do reagendamento (máximo de 500 caracteres).
Restrições:
- Não é possível reagendar reservas em andamento.
- Não é possível reagendar reservas em estado final (canceladas, concluídas, não comparecimento).
- Altera o status para Cancelado.
- Cancela todos os lembretes e acompanhamentos pendentes.
- É necessário informar o motivo do cancelamento (máximo de 500 caracteres).
- Não é possível cancelar reservas em estado final.
- Altera o status para Concluído.
- Ignora quaisquer lembretes não enviados.
- Agenda mensagens de acompanhamento
- Não é possível concluir reservas em estado final.
- Altera o status para Não compareceu.
- Ignora quaisquer lembretes não enviados.
- Agenda mensagens de acompanhamento (como nas concluídas)
- Não é possível marcar reservas em estado final como não comparecimento.
- Defina a avaliação de 0 a 5 estrelas.
- Pode ser atualizado a qualquer momento.
- Registra a alteração da avaliação.
- Modificar o local, a fonte ou os metadados
- Não afeta o status ou o cronograma.
- Remove permanentemente a reserva.
- Exclui todos os lembretes, acompanhamentos e registros associados.
- Não pode ser desfeito
Agendamento:
- Criado quando a reserva é criada.
- Calculado como: start_time - (dias + horas + minutos)
- O status fica "pendente" se o horário estiver no futuro e "ignorado" se já tiver passado.
Envio:
- Os lembretes são enviados quando o horário agendado é atingido.
- O status muda para "enviado".
- Registra o horário do envio.
- Aciona o evento REMINDER_SENDING
Status:
- Pendente: Aguardando envio
- Enviado: Entregue com sucesso
- Ignorado: Não enviado (tempo decorrido ou reserva cancelada)
- Cancelado: A reserva foi cancelada.
Reagendamento:
- Somente os lembretes não enviados são reagendados.
- Os lembretes enviados são preservados.
- Os novos horários agendados são calculados.
Agendamento:
- Criado somente quando a reserva é marcada como Concluída ou Não compareceu.
- Calculado como: end_time + (dias + horas + minutos)
- O status fica "pendente" se o horário estiver no futuro e "ignorado" se já tiver passado.
Envio:
- Os acompanhamentos são enviados quando o horário agendado é atingido.
- O status muda para "enviado".
- Registra o horário do envio.
- Aciona o evento FOLLOWUP_SENDING
Importante:
- Não são criadas mensagens de acompanhamento no momento da reserva.
- Elas só são agendadas após a conclusão ou em caso de não comparecimento.
- Reservas canceladas não recebem acompanhamento.
Created → Pending → Confirmed → In Progress → Completed
↓ ↓
Cancelled No Show
- BOOKING_CREATED: Criação da reserva inicial
- BOOKING_CONFIRMED: Reserva confirmada pelo usuário ou pelo sistema.
- REMINDER_SENDING: Cada lembrete assim que é enviado.
- MEETING_STARTED: Horário de início atingido
- MEETING_ENDED: Horário de término atingido (conclui a reserva automaticamente)
- BOOKING_COMPLETED: Concluída manual ou automaticamente
- BOOKING_NO_SHOW: Marcada como não comparecimento.
- FOLLOWUP_SENDING: Cada acompanhamento assim que é enviado.
- UPDATE_RATING: Avaliação atualizada
- BOOKING_RESCHEDULED: Horário da reserva alterado
- BOOKING_CANCELLED: Reserva cancelada
- Pendente/Confirmado → Em Andamento: Quando o horário de início for atingido
- Em andamento → Concluído: Quando o horário de término for atingido (por meio de processo automático)
list_booking_services: Obter todos os serviços de reserva.get_booking_service: Obter os detalhes de um serviço.list_booking_service_reminders: Obter os lembretes de um serviço.list_booking_service_followups: Obter os acompanhamentos de um serviço.
list_bookings: Obter reservas (filtradas por contato, serviço ou status)get_booking: Obter os detalhes de uma reserva.create_booking: Criar uma nova reserva.confirm_booking: Confirmar uma reserva pendente.reschedule_booking: Alterar o horário da reserva.cancel_booking: Cancelar a reserva.mark_booking_completed: Marcar como concluída.mark_booking_no_show: Marcar como não comparecimento.update_booking_rating: Atualizar a avaliação.
Parâmetros comuns:
bot_user_ns: Identificador do contato (para testes)service_uid: Identificador único do serviçobooking_id: ID de uma reserva específica
Criação de reserva:
start_time: Formato ISO 8601 UTC (ex.: "2020-01-02T12:30:00Z")duration: Minutos (opcional; usa o valor padrão se não for especificado)pending_or_confirmed: Status iniciallocation: Local da consultasource: Fonte da reservametadata: Dados personalizados (string JSON)notes: Notas adicionais
Atualizações de status:
reschedule_reason: Motivo do reagendamento (máximo de 500 caracteres)cancel_reason: Motivo do cancelamento (máximo de 500 caracteres)rating: Número entre 0 e 5
User → System: Create Booking Request
System → Database: Create booking record
System → Database: Generate reminder schedules
System → Database: Save reminder records
System → EventDispatcher: Dispatch BOOKING_CREATED
EventDispatcher → Triggers: Process configured triggers
System → User: Return booking confirmation
CronJob → System: Run reminder processor (every minute)
System → Database: Query pending reminders (2-hour window)
Database → System: Return pending reminders
System → Validator: Check booking status
Validator → System: Validate service is active
System → BotUser: Retrieve bot user details
System → EventDispatcher: Dispatch REMINDER_SENDING event
EventDispatcher → Triggers: Execute reminder flow
System → Database: Update reminder status to 'sent'
System → Database: Record sent timestamp
User/System → System: Mark booking complete
System → Database: Update booking status to 'completed'
System → Database: Skip unsent reminders
System → Database: Calculate follow-up schedules
System → Database: Create follow-up records
System → EventDispatcher: Dispatch BOOKING_COMPLETED
EventDispatcher → Triggers: Process completion triggers
System → User: Return success response
CronJob → System: Run booking processor (every minute)
System → Database: Query bookings with start_time reached
Database → System: Return matching bookings
System → EventDispatcher: Dispatch MEETING_STARTED event
System → Database: Update status to 'in_progress'
[Later...]
System → Database: Query bookings with end_time reached
Database → System: Return matching bookings
System → EventDispatcher: Dispatch MEETING_ENDED event
System → Database: Update status to 'completed'
System → Database: Schedule follow-ups
User → System: Reschedule request
System → Validator: Check booking status
Validator → System: Validate can reschedule
System → Database: Get sent reminder sequences
System → Database: Delete unsent reminders
System → Database: Update booking times
System → Database: Increment reschedule_count
System → Database: Calculate new reminder schedules
System → Database: Create new reminder records
System → EventDispatcher: Dispatch BOOKING_RESCHEDULED
System → User: Return updated booking
- Use nomes de serviço claros e descritivos.
- Crie UIDs de serviço exclusivos e fáceis de referenciar.
- Defina durações padrão realistas
- Teste os horários de lembrete e de acompanhamento antes de entrar em operação.
- Não exagere nos lembretes (2 a 3 lembretes costumam ser suficientes).
- Distribua os lembretes adequadamente (por exemplo, 1 dia antes, 1 hora antes).
- Torne as mensagens de lembrete claras e práticas.
- Inclua os detalhes relevantes da reserva nos lembretes.
- Envie uma mensagem de acompanhamento imediatamente para obter feedback (2 a 4 horas depois).
- Envie a solicitação de pesquisa 24 horas após a consulta.
- Mantenha as mensagens de acompanhamento breves e objetivas.
- Inclua sempre a opção de cancelar o recebimento.
- Sempre forneça os motivos do cancelamento para análises.
- Utilize o campo de notas para registrar informações importantes.
- Atualize as avaliações para acompanhar a qualidade do serviço.
- Analise regularmente os registros de reservas.
- Teste todo o ciclo de reservas antes do lançamento.
- Verifique o horário do lembrete no seu fuso horário.
- Teste cenários de reagendamento
- Verifique se os gatilhos de eventos estão sendo acionados corretamente.
Lembretes não estão sendo enviados:
- Verifique se o lembrete está definido como "Ativo".
- Verifique se o horário agendado é no futuro.
- Confirme se o serviço de reservas está ativo.
- Verifique se o status da reserva não está finalizado.
Mensagens de acompanhamento não estão sendo enviadas:
- Os acompanhamentos só são enviados após a conclusão ou em caso de não comparecimento.
- Verifique se o acompanhamento está definido como "Ativo".
- Verifique se a reserva foi concluída ou marcada como não comparecimento (e não cancelada).
- Confirme se o horário agendado está correto.
Não é possível reagendar:
- Certifique-se de que a reserva não esteja finalizada.
- Verifique se a reserva não está em andamento.
- Verifique se o serviço ainda está ativo
Problemas com fusos horários:
- Todos os horários estão armazenados em UTC.
- Os horários de exibição são convertidos para o fuso horário da workspace.
- Verifique se as configurações de fuso horário da workspace estão corretas.
- Número máximo de serviços de reserva: 20 por workspace.
- Número máximo de lembretes: 5 por serviço
- Número máximo de acompanhamentos: 5 por serviço
- Limites de campo:
Nome: 100 caracteres. UID do serviço: 50 caracteres. Descrição: 1.000 caracteres. Título do lembrete/acompanhamento: 50 caracteres. Descrição do lembrete/acompanhamento: 500 caracteres. Motivo do reagendamento: 500 caracteres. Motivo do cancelamento: 500 caracteres. Local: 1.000 caracteres. Fonte: 100 caracteres. Metadados: 5.000 caracteres. Notas: 1.000 caracteres.

