Lista de Espera: Gestión de Pacientes en Cola

Cómo funciona la lista de espera: inscripción, prioridades, notificaciones automáticas por WhatsApp y confirmación de turnos liberados.

12 min de lecturaActualizado el 12 de febrero de 2026

La Lista de Espera permite gestionar pacientes que quieren un turno pero no encontraron disponibilidad. Cuando un turno se cancela, el sistema notifica automáticamente al siguiente paciente en espera por WhatsApp, ofreciéndole reservar ese horario liberado.

1. ¿Qué es la Lista de Espera?

La lista de espera es un mecanismo que conecta pacientes que necesitan un turno con cancelaciones que ocurren en la agenda. En lugar de que un horario liberado quede vacío, el sistema busca automáticamente pacientes en espera que coincidan con el servicio, profesional y ubicación, y les envía una notificación por WhatsApp.

¿Cómo funciona en 4 pasos?

  1. Inscripción: El paciente se anota en la lista de espera, ya sea desde el micrositio público (BookingFlow) o agregado por un administrador/staff desde el panel.
  2. Cancelación detectada: Cuando un turno se cancela, un proceso automático (cron) busca pacientes en espera que coincidan con ese servicio, profesional y ubicación.
  3. Notificación por WhatsApp: El paciente recibe un mensaje de WhatsApp con los detalles del turno liberado y tiene 24 horas para responder.
  4. Confirmación: Si el paciente responde “SI” por WhatsApp, el turno se crea automáticamente. Si no responde dentro de las 24 horas, la entrada expira y se busca al siguiente paciente en la cola.

2. Inscripción desde el Panel (Admin/Staff)

Los administradores y personal del establecimiento pueden agregar pacientes a la lista de espera directamente desde el panel de gestión. Esto es útil cuando un paciente llama por teléfono o se presenta personalmente pidiendo un turno que no está disponible.

Campos del formulario

CampoObligatorioDescripción
PacienteNombre completo del paciente
TeléfonoNúmero en formato E.164 (ej: +5491112345678). Es el número donde recibirá la notificación por WhatsApp.
PrioridadNúmero del 1 al 10. Los pacientes con prioridad más baja (1 = máxima prioridad) son notificados primero.
UbicaciónSucursal donde el paciente quiere atenderse. Se selecciona automáticamente según la ubicación activa.
ServicioNoSi se elige un servicio, solo se notificará al paciente cuando se cancele un turno de ese servicio específico.
ProfesionalNoSi se elige un profesional, solo se notificará al paciente cuando se cancele un turno con ese profesional.
NotasNoTexto libre para recordatorios internos (ej: “Prefiere turno por la mañana”).

3. Inscripción desde el Micrositio (Paciente)

Cuando un paciente visita el micrositio de reservas y no encuentra turnos disponibles en la fecha seleccionada, aparece automáticamente una opción para unirse a la lista de espera.

Flujo del paciente

  1. El paciente navega al micrositio del establecimiento y selecciona un servicio, profesional y fecha.
  2. Si no hay horarios disponibles, se muestra un botón
    Unirme a la lista de espera
    .
  3. Al hacer clic, se despliega un formulario donde ingresa su nombre, teléfono (WhatsApp) y opcionalmente su email.
  4. Al enviarlo, se crea automáticamente un registro de paciente (si no existe) y una entrada en la lista de espera vinculada al servicio, profesional y ubicación seleccionados.
  5. Se muestra un mensaje de confirmación: “Te agregamos a la lista de espera. Te avisaremos por WhatsApp cuando se libere un turno.”

4. Ciclo de Vida de una Entrada

Cada entrada en la lista de espera sigue una máquina de estados estricta. Las transiciones posibles son:

EstadoColorSignificadoPuede pasar a
Esperando
AzulEl paciente está en la cola, esperando que se libere un turno.Notificado, Agendado, Cancelado, Expirado
Notificado
ÁmbarSe le envió una notificación por WhatsApp. Tiene 24 horas para responder “SI”.Agendado, Cancelado, Expirado, Esperando
Agendado
VerdeEl paciente confirmó y se creó el turno. Estado terminal.
Cancelado
RojoEl administrador canceló la entrada manualmente. Estado terminal.
Expirado
GrisPasaron 24 horas sin respuesta después de la notificación.Esperando (reactivación)

5. Notificación Automática por WhatsApp

El motor de la lista de espera es un cron job que se ejecuta periódicamente y realiza tres tareas:

Paso 1 — Expirar entradas vencidas

Busca entradas en estado “notified” cuyo campo expires_at ya haya pasado. Las marca como “expired” y las desactiva.

Paso 2 — Detectar cancelaciones sin procesar

Consulta turnos cancelados recientes que aún no fueron procesados por la lista de espera (campo waitlist_processed = false). Cada turno cancelado se marca como procesado para no volver a notificarlo.

Paso 3 — Buscar pacientes coincidentes

Para cada cancelación, busca en la lista de espera entradas activas en estado “waiting” que coincidan en:

  • Ubicación (obligatorio)
  • Servicio (si la entrada tiene uno específico)
  • Profesional (si la entrada tiene uno específico)

Las entradas se ordenan por prioridad ascendente(prioridad 1 es la más alta) y antigüedad. Al primer paciente que coincida se le envía la notificación.

El mensaje que recibe el paciente

Se utiliza la plantilla de WhatsApp waitlist_offercon los siguientes datos:

  • Nombre del paciente
  • Nombre del servicio
  • Nombre del profesional
  • Fecha y hora del turno liberado

6. Confirmación por WhatsApp: Respuesta “SI”

Cuando el paciente recibe la notificación del turno liberado y responde “SI” (o “si”, “Si”, “sí”) por WhatsApp, el sistema:

  1. Verifica que la entrada de lista de espera aún esté en estado “notified” y no haya expirado.
  2. Busca disponibilidad en la fecha/hora del turno cancelado original con el profesional y servicio correspondientes.
  3. Si hay disponibilidad, crea el turno automáticamente y cambia el estado de la entrada a “booked”.
  4. Envía un mensaje de confirmación al paciente con los detalles del nuevo turno.

¿Qué pasa si el turno ya fue tomado?

Si entre la notificación y la respuesta del paciente el horario fue ocupado por otro turno, el sistema le informa que el turno ya no está disponible y le sugiere contactar al establecimiento para buscar alternativas.

7. Panel de Gestión de Lista de Espera

Desde Dashboard → Lista de espera los administradores y staff pueden:

Panel de gestión de la lista de espera
El panel Waitlist: la cola activa con estados, prioridades y acciones.
  • Ver la cola activa: Tabla con paciente, teléfono, estado, servicio, profesional, prioridad, notas y estado de opt-out.
  • Filtrar por ubicación: Usa el selector de ubicación en la esquina superior derecha para ver la cola de cada sucursal.
  • Agregar pacientes: El formulario en la parte superior permite inscribir pacientes manualmente.
  • Marcar como Agendado: Si el admin asignó un turno manualmente, puede marcar la entrada como “Agendado” con el botón verde. Esto lo redirige al calendario para crear el turno.
  • Cancelar: Elimina la entrada de la cola activa con el botón rojo “Cancelar”.

Columnas de la tabla

ColumnaDescripción
PacienteNombre completo
TeléfonoNúmero E.164 del paciente
EstadoBadge de color según el estado actual (Esperando, Notificado, etc.)
ServicioServicio solicitado (o “—” si no especificó)
ProfesionalProfesional preferido (o “—” si no especificó)
PrioridadNúmero 1-10. Menor = más prioritario
NotasTexto libre interno (truncado, hover para ver completo)
Opt-out“OK” si acepta notificaciones, “STOP” si rechazó

8. Sistema de Prioridades

Cada entrada en la lista de espera tiene un campo de prioridad que determina el orden de notificación.

PrioridadUso sugerido
1 (máxima)Casos urgentes, pacientes VIP, emergencias.
2 – 3Pacientes que necesitan atención pronto.
4 – 5Prioridad estándar (valor por defecto para inscripciones públicas).
6 – 10Baja prioridad, pacientes que pueden esperar más.

9. Lógica de Coincidencia (Matching)

Cuando se cancela un turno, el cron busca pacientes en la lista de espera que coincidan. La lógica de matching funciona así:

Reglas de coincidencia

  • Ubicación (obligatorio): La entrada de la lista de espera debe pertenecer a la misma ubicación del turno cancelado.
  • Servicio (si aplica): Si la entrada tiene un servicio específico, debe coincidir con el servicio del turno cancelado. Si no tiene servicio definido, coincide con cualquier cancelación de esa ubicación.
  • Profesional (si aplica): Misma lógica que el servicio. Si la entrada tiene un profesional preferido, solo coincide con cancelaciones de ese profesional.

10. Requisitos y Configuración

Para que la lista de espera funcione correctamente, asegurate de tener configurado lo siguiente:

Requisitos previos

RequisitoDónde se configura¿Por qué?
Integración WhatsApp activaConfiguración → Integraciones → WhatsAppLas notificaciones se envían por WhatsApp. Sin esta integración, los pacientes no recibirán avisos.
Plantilla waitlist_offerConfiguración → Plantillas de mensajesEs la plantilla de WhatsApp que se usa para notificar al paciente. Debe estar aprobada por Meta.
Al menos una ubicaciónConfiguración → UbicacionesCada entrada de la lista de espera se asocia a una ubicación.
Cron job activoAutomático (Vercel Cron)El proceso que detecta cancelaciones y envía notificaciones se ejecuta periódicamente de forma automática.

11. Preguntas Frecuentes

¿El paciente puede anotarse en la lista de espera más de una vez?

No para la misma combinación de servicio y profesional. El sistema detecta duplicados y rechaza la inscripción si ya existe una entrada activa para esos criterios.

¿Qué pasa si el paciente tiene opt-out?

Si el paciente envió “STOP” por WhatsApp, no puede inscribirse en la lista de espera desde el micrositio público. El admin puede verlo en la tabla con la columna “Opt-out: STOP”.

¿Puedo reactivar una entrada expirada?

Sí. Desde la API, una entrada en estado “expired” puede ser devuelta a “waiting”. En futuras versiones se agregará un botón en la UI para esto.

¿Cuánto tiempo tiene el paciente para responder?

24 horas desde el momento de la notificación. Pasado ese plazo, la entrada se marca como expirada y el siguiente paciente en la cola podrá ser notificado.

¿Puedo usar la lista de espera sin WhatsApp?

Podés inscribir pacientes y gestionar la cola manualmente, pero las notificaciones automáticas requieren la integración de WhatsApp activa.

¿El paciente puede cancelar su inscripción?

Actualmente, solo el administrador o staff puede cancelar entradas desde el panel de gestión. En futuras versiones, se podrá agregar un enlace de cancelación en la notificación.

¿Cuántos pacientes pueden estar en la lista de espera?

No hay un límite máximo definido. Podés tener tantos pacientes en espera como necesites. El sistema de prioridades asegura que se notifique siempre al más urgente primero.

¿Funciona con múltiples ubicaciones?

Sí. Cada entrada de la lista de espera está vinculada a una ubicación específica. El panel permite filtrar por ubicación con el selector en la parte superior.

Más sobre Agenda & Turnos