Cómo definir el modo de mesas de una reserva
Decide si una reserva queda sin preferencia de mesa, con mesas preferidas, con mesas obligatorias o con una asignación fija desde el editor de reservas.
En este artículo
El modo de mesas permite ajustar una reserva según la operación real de sala: dejarla indiferente, marcar mesas preferidas, limitarla a mesas obligatorias o fijarla en mesas concretas.
Antylogic guarda esa decisión dentro del flujo normal de la reserva. Al guardar, actualiza la reserva, sus preferencias o restricciones de mesas y, según el modo elegido, las asignaciones visibles en el detalle del servicio.
Antes de empezar
- Acceder al detalle de la occurrence en `/:orgId/:locationId/reservations/:occurrenceId`.
- Tener `reservation:view` para consultar el servicio, reservas, asignaciones y plano.
- Tener `reservation:manage` para abrir el editor y guardar cambios.
- Disponer de un layout con mesas cargadas si se va a seleccionar mesa.
- Tener nombre, teléfono y número de comensales informados antes de guardar.
- Para capturas ES: Grupo Marea Demo, Marea Gran Via, occurrence `de4b38e0-06e4-4322-a61e-f9f2ce22b837` y layout `8dc36c7f-6f6c-4643-9a1f-f8ac98918173`.
Instrucciones
- 1.
Abre el detalle del servicio
Entra en la occurrence de reservas de Marea Gran Via. La pantalla carga el servicio, las reservas existentes, las asignaciones de mesa y el plano asociado.
- 2.
Abre o crea una reserva
Pulsa una reserva editable, por ejemplo Javier Martin, o crea una nueva. El editor muestra los datos del cliente, el tamaño del grupo y el campo Modo de mesas.
- 3.
Elige el modo de mesas
Selecciona Indiferente, Preferencia, Obligación o Asignar mesas. Indiferente deja la reserva sin mesas, Preferencia marca mesas deseadas, Obligación limita la reserva a mesas concretas y Asignar mesas fija la reserva en las mesas elegidas.
- 4.
Selecciona mesas si aplica
Para cualquier modo distinto de Indiferente, abre Mesas y elige una o varias mesas del plano. El selector trabaja sobre el layout cargado y puede mostrar avisos de capacidad o combinaciones.
- 5.
Guarda la reserva
Pulsa Guardar. En creación se usa `POST /api/app/{orgId}/{locationId}/reservations` y en edición `PUT /api/app/{orgId}/{locationId}/reservations/{reservationId}`. Después, la pantalla refresca servicio, reservas, clientes y asignaciones.
Validaciones y límites
- Nombre y teléfono del cliente son obligatorios.
- El número de comensales debe convertirse a número y ser mayor que cero.
- Indiferente oculta Mesas y limpia `table_ids`, `preferred_table_ids` y `restricted_table_ids` al guardar.
- Preferencia, Obligación y Asignar mesas requieren al menos una mesa válida seleccionada.
- La UI elimina duplicados y descarta IDs que no pertenezcan al layout cargado.
- En reservas `waitlist` no se ofrece Asignar mesas y el backend limpia asignaciones para `waitlist` o `cancelled`.
- Si el grupo supera la capacidad máxima configurada del layout, el editor fuerza Asignar mesas.
- Según la implementación actual, Preferencia guarda `preferred_table_ids` y también envía `table_ids`; Obligación guarda `restricted_table_ids` y también envía `table_ids`.
- Si una occurrence automática abierta no puede validar el cambio, la UI muestra Guardar y pasar a manual y reintenta con `confirm_manual_mode: true`.
- No existe un campo persistido `tableMode`; el editor deriva el modo al abrir la reserva.
Resultado esperado
La reserva queda actualizada con el modo de mesas elegido y el detalle del servicio vuelve a mostrar reservas, asignaciones y estado operativo refrescados.