Cómo asignar mesas a una reserva
Reemplaza de una vez el conjunto completo de mesas asignadas a una reserva, manteniendo claro cuándo la ocurrencia sigue en automático y cuándo hay que pasar a modo manual.
En este artículo
Este flujo se usa en el detalle de una ocurrencia de reservas para mover una reserva, como `Javier Martin` en Marea Gran Via, a otro conjunto de mesas del plano sin perder el contexto del servicio.
La acción no guarda cambios incrementales: al confirmar, Antylogic sustituye las asignaciones previas por la selección final enviada por el operador.
Antes de empezar
- Inicia sesión con `Grupo Marea Demo` y la ubicación `Marea Gran Via` seleccionada.
- Ten `reservation:view` o `reservation:manage` para abrir la ocurrencia y ver reservas, mesas y asignaciones.
- Ten `reservation:manage` para guardar el cambio de mesas.
- Abre `/:orgId/:locationId/reservations/:occurrenceId` con `BOOKING_TABLES_DETAIL_OCCURRENCE_ID`.
- La ocurrencia debe tener reservas cargadas y un `layout_id` resoluble para mostrar el plano de mesas.
Instrucciones
- 1.
Abrir la ocurrencia
Entra en el detalle del servicio de `Marea Gran Via`. La pantalla carga la ocurrencia, sus reservas y las asignaciones actuales antes de permitir cualquier cambio.
- 2.
Entrar en Cronograma
Abre la pestaña `Cronograma` y revisa el tablero de mesas. Comprueba si la ocurrencia está en modo automático o manual y si hay mesas configuradas para el servicio.
- 3.
Seleccionar la reserva
Localiza la reserva que quieres mover, por ejemplo `Javier Martin`, y revisa sus mesas actuales antes de abrir el editor o cambiar la asignación desde el tablero.
- 4.
Elegir el conjunto final de mesas
En `Modo de mesas`, elige `Asignar mesas` y abre `Seleccionar mesas` si necesitas el selector visual. Marca todas las mesas que deben quedar asignadas; el guardado sustituye el conjunto completo.
- 5.
Guardar el reemplazo
Pulsa `Guardar`. Antylogic envía `table_ids`, elimina las asignaciones anteriores de esa reserva e inserta las nuevas como asignaciones manuales fijas.
- 6.
Resolver el paso a manual si aparece
Si el optimizador no puede conservar una solución viable en automático, la pantalla muestra `Guardar y pasar a manual`. Al confirmarlo, la ocurrencia cambia a modo manual y se invalida el estado de optimización.
- 7.
Comprobar resultado
Vuelve al cronograma y a la lista de reservas para confirmar que la columna `tables` y el tablero muestran el nuevo conjunto de mesas, sin aviso de cambios pendientes.
Validaciones y límites
- La acción no debe iniciarse si faltan `orgId`, `locationId` u `occurrenceId`.
- Sin `reservation:view` o `reservation:manage`, no se cargan la ocurrencia, las reservas ni las asignaciones.
- El guardado persistente requiere `reservation:manage` y no está disponible en una ocurrencia con `booking_mode = waiting_list`.
- El selector deduplica la selección y conserva solo mesas presentes en el layout cargado.
- Cualquier modo distinto de `Indiferente` requiere al menos una mesa seleccionada.
- Las reservas en `waitlist` no ofrecen `Asignar mesas` en el editor y el backend rechaza `table_ids` para ese estado.
- Si `table_ids` está vacío, el guardado elimina todas las mesas persistidas de la reserva.
- En una ocurrencia automática abierta, el cambio debe ser viable para el optimizador o repetirse con `confirm_manual_mode: true`.
- Los avisos visuales de capacidad o combinación ayudan al operador, pero no sustituyen la validación backend de pertenencia y estado.
Resultado esperado
La reserva queda asociada al conjunto final de mesas elegido. Las asignaciones previas se reemplazan, las nuevas quedan como `manual_fixed` y la ocurrencia refresca su estado de reservas y optimización cuando corresponde.