Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsReservas y capacidad
Dispositivo

Cómo confirmar una reserva de lista de espera

Convierte una reserva en `waitlist` en una reserva confirmada, eligiendo una franja viable del análisis de lista de espera y validándola de nuevo antes de guardar.

En este artículo

Cuando una ocurrencia de servicio entra en modo `waiting_list`, Antylogic permite revisar las reservas pendientes y confirmar una de ellas si el optimizador propone una franja viable.

En el demo ES, el caso documentado es Sara Molina en Grupo Marea Demo, ubicación Marea Gran Via. La acción confirma `status`, `start_at` y `duration_minutes`; las mesas visibles en la franja son informativas y no se envían como asignación automática.

Antes de empezar

  • Trabajar con sesión autenticada en Grupo Marea Demo y la ubicación Marea Gran Via.
  • Abrir una ocurrencia de servicio en `booking_mode=waiting_list`, como `BOOKING_WAITLIST_OCCURRENCE_ID` en el runtime ES.
  • Debe existir una reserva con estado `waitlist` y al menos una franja sugerida; en el runtime ES la reserva de referencia es Sara Molina.
  • Para abrir el análisis hacen falta `reservation-automatic:use` y uno de `reservation:view`, `reservation:manage` u `optimization:view`.
  • Para completar la confirmación efectiva hace falta `reservation:manage` en la ubicación.

Instrucciones

  1. 1.

    Abrir la ocurrencia en lista de espera

    Desde el calendario de reservas o con el deep link de documentación, abre el detalle de la ocurrencia de Marea Gran Via. Si la ocurrencia está en `waiting_list`, la acción principal de cabecera aparece como `Lista de espera`.

  2. 2.

    Abrir el análisis de lista de espera

    Pulsa `Lista de espera`. La app abre el modal, limpia selecciones anteriores y carga el análisis de reservas pendientes. Si el análisis ya estaba cargado para la misma ocurrencia, puede reutilizarse; `Actualizar` fuerza un nuevo cálculo.

  3. 3.

    Seleccionar la reserva y una franja

    Despliega Sara Molina o la reserva pendiente correspondiente y revisa sus franjas. Elige una opción visible del análisis actual, con su hora, duración, mesas mostradas y métricas.

  4. 4.

    Confirmar la franja

    Pulsa `Confirmar`. La app actualiza la reserva con `status: booked`, `start_at` y `duration_minutes` de la franja seleccionada mediante `PUT /api/app/{orgId}/{locationId}/reservations/{reservationId}`.

  5. 5.

    Comprobar el refresco

    Tras guardar, la pantalla recarga ocurrencia, reservas y asignaciones. Si la ocurrencia sigue en lista de espera, vuelve a cargar el análisis; si deja de estar en `waiting_list`, el modal puede cerrarse. El resultado correcto muestra `Reserva confirmada`.

Validaciones y límites

  • Si la acción principal no muestra `Lista de espera`, la ocurrencia abierta no está en `booking_mode=waiting_list`.
  • Si no hay reservas pendientes, el modal muestra `No hay reservas pendientes en lista de espera.` y no ofrece confirmación.
  • Si una reserva no tiene franjas, la pantalla muestra `Ahora mismo no hay una franja viable para esta reserva.`.
  • El botón `Confirmar` solo debe usarse cuando la selección corresponde a una reserva `waitlist` y a una franja todavía visible en el análisis actual.
  • Backend exige `start_at` para esta promoción y recalcula disponibilidad antes de guardar.
  • Si la franja ya no coincide con la disponibilidad recalculada, la operación falla por conflicto y la UI intenta refrescar el análisis con `force=true`.
  • La confirmación no mueve la reserva a otra ocurrencia; se realiza dentro de la misma ocurrencia de servicio.
  • La UI no envía `table_ids`; backend conserva asignaciones existentes, pero no crea asignaciones nuevas desde las mesas mostradas en la franja.
  • `reservation-automatic:use` protege la apertura del análisis; la actualización directa de la reserva se protege con `reservation:manage`.

Resultado esperado

La reserva sale de `waitlist` y queda como `booked` con la hora y duración de la franja confirmada. La ocurrencia invalida su estado de optimización para que pueda recalcularse con el nuevo estado operativo.

Artículos relacionados