Servicios de reserva
El Servicio de Reservas es un sistema completo de gestión de citas que permite:
Visión general
El Servicio de Reservas es un sistema completo de gestión de citas que permite:
- Crear y gestionar servicios de reserva para tu empresa.
- Programar citas con recordatorios automáticos.
- Hacer seguimiento del estado de la reserva durante todo el ciclo de vida.
- Enviar seguimientos automáticos después de las citas.
- Integrar con los flujos de tu chatbot.
Importante: Los servicios de reserva se comparten entre todos los canales de tu Workspace, con un límite máximo de 20 servicios de reserva.
Características principales
1. Servicios de reserva
- Define los diferentes tipos de citas (consultas, reuniones, servicios, etc.).
- Define la duración predeterminada para cada tipo de servicio.
- Configura identificadores de servicio personalizados (UID del servicio)
- Activa o desactiva los servicios según sea necesario
2. Recordatorios automatizados
- Configura hasta 5 secuencias de recordatorios por servicio.
- Configura el horario del recordatorio (días, horas, minutos antes de la cita).
- Personaliza los mensajes de recordatorio
- Activación automática de recordatorios según el horario programado
3. Seguimiento automatizado
- Configura hasta 5 secuencias de seguimiento por servicio.
- Envía seguimientos después de citas concluidas o en caso de inasistencia.
- Configura el cronograma de seguimiento (días, horas, minutos después de la cita).
- Personaliza los mensajes de seguimiento.
4. Gestión del estado de las reservas
Haz seguimiento de las reservas durante todo su ciclo de vida:
- Pendiente: Estado inicial de la reserva
- Confirmado: La reserva fue confirmada.
- En curso: La reunión/cita ha comenzado.
- Concluido: Concluido con éxito
- Cancelado: La reserva fue cancelada.
- No Show: El contacto no asistió.
- Inactivo: El servicio ya no está activo
5. Información sobre reservas
- Horas de inicio y de finalización
- Duración (en minutos)
- Detalles de la ubicación
- Seguimiento del origen
- Metadatos personalizados
- Sistema de calificación (0 a 5 estrellas)
- Motivos de cancelación/reprogramación
- Registros de auditoría completos
Primeros pasos
Requisitos previos
- Cuenta de Workspace con el complemento CRM/Listas/Reservas activado
- Acceso a la gestión del servicio de reservas
- Conocimiento básico de la zona horaria de tu Workspace.
Pasos de configuración inicial
Cómo funciona
Arquitectura del sistema
El sistema de reservas funciona con base en tareas programadas:
Configuración de servicios de reserva
Paso 1: Crear un servicio de reservas
Campos requeridos:
- Nombre: Nombre de visualización de tu servicio (máximo 100 caracteres)
- UID del servicio: identificador único con caracteres alfanuméricos (máximo 50 caracteres)
No se puede cambiar después de la creación. Ejemplo:consultation_30min,demo_call,support_session - Descripción: Descripción detallada (máximo 1.000 caracteres)
- Duración predeterminada: Duración en minutos (0-1000)
- Estado: Activo o Inactivo
Paso 2: Configurar recordatorios
Para cada recordatorio:
Ejemplo de configuración de recordatorio:
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"
Paso 3: Configurar seguimientos
Para cada seguimiento:
Ejemplo de configuración de seguimiento:
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"
Gestión de reservas
Crear una reserva
Información necesaria:
- UID del servicio o ID del servicio de reserva
- Hora de inicio (en la zona horaria del Workspace)
- Estado inicial (Pendiente o Confirmado)
Información opcional:
- Duración personalizada (sustituye la predeterminada)
- Ubicación (máximo 1.000 caracteres)
- Origen (máximo 100 caracteres)
- Metadatos (máximo 5.000 caracteres)
- Notas (máximo 1.000 caracteres)
Observaciones importantes:
- La hora de inicio debe estar en el futuro.
- Los recordatorios se programan automáticamente.
Acciones de reserva
1. Confirmar reserva
- Cambia el estado de Pendiente a Confirmado.
- Disponible solo para reservas pendientes.
- Dispara el evento BOOKING_CONFIRMED
2. Reprogramar reserva
- Actualiza la hora de inicio, la hora de finalización y la duración.
- Es posible cambiar el estado a Pendiente o Confirmado.
- Conserva los recordatorios ya enviados.
- Reprograma los recordatorios restantes.
- Es necesario indicar el motivo de la reprogramación (máximo 500 caracteres).
Restricciones:
- No es posible reprogramar reservas en curso.
- No es posible reprogramar reservas en estado final (canceladas, concluidas, inasistencia).
3. Cancelar reserva
- Cambia el estado a Cancelado.
- Cancela todos los recordatorios y seguimientos pendientes.
- Es necesario indicar el motivo de la cancelación (máximo 500 caracteres).
- No es posible cancelar reservas en estado final.
4. Marcar como concluido
- Cambia el estado a Concluido.
- Ignora cualquier recordatorio no enviado.
- Programa mensajes de seguimiento
- No es posible concluir reservas en estado final.
5. Marcar como No Show
- Cambia el estado a No Show.
- Ignora cualquier recordatorio no enviado.
- Programa mensajes de seguimiento (como en las concluidas)
- No es posible marcar como inasistencia las reservas en estado final.
6. Actualizar calificación
- Define la calificación de 0 a 5 estrellas.
- Se puede actualizar en cualquier momento.
- Registra el cambio de la calificación.
7. Actualizar detalles de la reserva
- Modificar la ubicación, el origen o los metadatos
- No afecta el estado ni el cronograma.
8. Eliminar reserva
- Elimina permanentemente la reserva.
- Elimina todos los recordatorios, seguimientos y registros asociados.
- No se puede deshacer
Recordatorios y seguimientos
Comportamiento del recordatorio
Programación:
- Se crea cuando se crea la reserva.
- Calculado como: start_time - (días + horas + minutos)
- El estado queda "pendiente" si la hora está en el futuro e "ignorado" si ya pasó.
Envío:
- Los recordatorios se envían cuando se alcanza el horario programado.
- El estado cambia a "enviado".
- Registra la hora del envío.
- Dispara el evento REMINDER_SENDING
Estado:
- Pendiente: Esperando el envío
- Enviado: Entregado con éxito
- Ignorado: No enviado (tiempo transcurrido o reserva cancelada)
- Cancelado: La reserva fue cancelada.
Reprogramación:
- Solo se reprograman los recordatorios no enviados.
- Los recordatorios enviados se conservan.
- Se calculan los nuevos horarios programados.
Comportamiento del seguimiento
Programación:
- Se crea solo cuando la reserva se marca como Concluida o No Show.
- Calculado como: end_time + (días + horas + minutos)
- El estado queda "pendiente" si la hora está en el futuro e "ignorado" si ya pasó.
Envío:
- Los seguimientos se envían cuando se alcanza el horario programado.
- El estado cambia a "enviado".
- Registra la hora del envío.
- Dispara el evento FOLLOWUP_SENDING
Importante:
- No se crean mensajes de seguimiento en el momento de la reserva.
- Solo se programan después de la conclusión o en caso de inasistencia.
- Las reservas canceladas no reciben seguimiento.
Ciclo de vida de la reserva
Transiciones de Estado
Created → Pending → Confirmed → In Progress → Completed
↓ ↓
Cancelled No Show
Flujo de Eventos
- BOOKING_CREATED: Creación de la reserva inicial
- BOOKING_CONFIRMED: Reserva confirmada por el contacto o por el sistema.
- REMINDER_SENDING: Cada recordatorio en cuanto se envía.
- MEETING_STARTED: Hora de inicio alcanzada
- MEETING_ENDED: Hora de finalización alcanzada (concluye la reserva automáticamente)
- BOOKING_COMPLETED: Concluida manual o automáticamente
- BOOKING_NO_SHOW: Marcada como inasistencia.
- FOLLOWUP_SENDING: Cada seguimiento en cuanto se envía.
- UPDATE_RATING: Calificación actualizada
- BOOKING_RESCHEDULED: Hora de la reserva cambiada
- BOOKING_CANCELLED: Reserva cancelada
Cambios automáticos de estado
- Pendiente/Confirmado → En Curso: Cuando se alcance la hora de inicio
- En curso → Concluido: Cuando se alcance la hora de finalización (mediante un proceso automático)
Acciones de la API
Gestión de Servicios
list_booking_services: Obtener todos los servicios de reserva.get_booking_service: Obtener los detalles de un servicio.list_booking_service_reminders: Obtener los recordatorios de un servicio.list_booking_service_followups: Obtener los seguimientos de un servicio.
Gestión de reservas
list_bookings: Obtener reservas (filtradas por contacto, servicio o estado)get_booking: Obtener los detalles de una reserva.create_booking: Crear una nueva reserva.confirm_booking: Confirmar una reserva pendiente.reschedule_booking: Cambiar la hora de la reserva.cancel_booking: Cancelar la reserva.mark_booking_completed: Marcar como concluida.mark_booking_no_show: Marcar como inasistencia.update_booking_rating: Actualizar la calificación.
Parámetros
Parámetros comunes:
bot_user_ns: Identificador del contacto (para pruebas)service_uid: Identificador único del serviciobooking_id: ID de una reserva específica
Creación de reserva:
start_time: Formato ISO 8601 UTC (ej.: "2020-01-02T12:30:00Z")duration: Minutos (opcional; usa el valor predeterminado si no se especifica)pending_or_confirmed: Estado iniciallocation: Ubicación de la citasource: Origen de la reservametadata: Datos personalizados (cadena JSON)notes: Notas adicionales
Actualizaciones de estado:
reschedule_reason: Motivo de la reprogramación (máximo 500 caracteres)cancel_reason: Motivo de la cancelación (máximo 500 caracteres)rating: Número entre 0 y 5
Diagramas de Secuencia
Flujo de Creación de Reservas
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
Flujo de procesamiento de recordatorios
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
Flujo de conclusión de la reserva
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
Automatización de Inicio/Fin de Reunión
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
Flujo de reprogramación
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
Buenas prácticas
1. Configuración del servicio
- Usa nombres de servicio claros y descriptivos.
- Crea UID de servicio únicos y fáciles de referenciar.
- Define duraciones predeterminadas realistas
- Prueba los horarios de recordatorio y de seguimiento antes de entrar en operación.
2. Estrategia de recordatorio
- No exageres con los recordatorios (2 a 3 recordatorios suelen ser suficientes).
- Distribuye los recordatorios adecuadamente (por ejemplo, 1 día antes, 1 hora antes).
- Haz que los mensajes de recordatorio sean claros y prácticos.
- Incluye los detalles relevantes de la reserva en los recordatorios.
3. Estrategia de seguimiento
- Envía un mensaje de seguimiento de inmediato para obtener comentarios (2 a 4 horas después).
- Envía la solicitud de encuesta 24 horas después de la cita.
- Mantén los mensajes de seguimiento breves y concretos.
- Incluye siempre la opción de cancelar la recepción.
4. Gestión de Reservas
- Proporciona siempre los motivos de la cancelación para los análisis.
- Utiliza el campo de notas para registrar información importante.
- Actualiza las calificaciones para hacer seguimiento de la calidad del servicio.
- Analiza regularmente los registros de reservas.
5. Pruebas
- Prueba todo el ciclo de reservas antes del lanzamiento.
- Verifica el horario del recordatorio en tu zona horaria.
- Prueba escenarios de reprogramación
- Verifica que los disparadores de eventos se activen correctamente.
Solución de problemas
Problemas comunes
Los recordatorios no se están enviando:
- Verifica que el recordatorio esté definido como "Activo".
- Verifica que el horario programado sea en el futuro.
- Confirma que el servicio de reservas esté activo.
- Verifica que el estado de la reserva no sea final.
Los mensajes de seguimiento no se están enviando:
- Los seguimientos solo se envían después de la conclusión o en caso de inasistencia.
- Verifica que el seguimiento esté definido como "Activo".
- Verifica que la reserva se haya concluido o marcado como inasistencia (y no cancelada).
- Confirma que el horario programado sea correcto.
No es posible reprogramar:
- Asegúrate de que la reserva no esté finalizada.
- Verifica que la reserva no esté en curso.
- Verifica que el servicio siga activo
Problemas con las zonas horarias:
- Todas las horas se almacenan en UTC.
- Las horas de visualización se convierten a la zona horaria del Workspace.
- Verifica que la configuración de zona horaria del Workspace sea correcta.
Límites y restricciones
- Número máximo de servicios de reserva: 20 por Workspace.
- Número máximo de recordatorios: 5 por servicio
- Número máximo de seguimientos: 5 por servicio
- Límites de campo:
Nombre: 100 caracteres. UID del servicio: 50 caracteres. Descripción: 1.000 caracteres. Título del recordatorio/seguimiento: 50 caracteres. Descripción del recordatorio/seguimiento: 500 caracteres. Motivo de la reprogramación: 500 caracteres. Motivo de la cancelación: 500 caracteres. Ubicación: 1.000 caracteres. Origen: 100 caracteres. Metadatos: 5.000 caracteres. Notas: 1.000 caracteres.

