Cómo editar una reserva
Actualiza una reserva existente desde el detalle de una ocurrencia de servicio público, revisando cliente, teléfono, comensales, hora, duración y modo de mesas sin mezclar cancelaciones ni cambios de estado.
En este artículo
Usa esta guía cuando el equipo de sala necesita corregir una reserva ya creada en Marea Gran Via. El punto de partida es el detalle de la ocurrencia reservable, donde Antylogic carga reservas, clientes, asignaciones y cronograma antes de abrir el editor.
El editor sincroniza dos piezas: los datos visibles del cliente y los campos operativos de la reserva. Las mesas pueden quedar limpias, preferidas, obligatorias o asignadas manualmente según el modo elegido.
Antes de empezar
- Sesión iniciada en Grupo Marea Demo con Marea Gran Via seleccionada.
- Permiso reservation:view o reservation:manage para abrir el detalle; reservation:manage para guardar cambios.
- Permiso customer:view para ver datos de cliente; customer:manage si el guardado crea o actualiza el cliente.
- Una ocurrencia de servicio reservable y pública, por ejemplo RESERVATION_OCCURRENCE_ID=33d26899-fc5c-47b6-9f88-3ee1a03b08e3.
- Una reserva existente dentro de la ocurrencia, por ejemplo BOOKING_DETAIL_RESERVATION_LABEL=Javier Martin.
- Layout cargado si se van a cambiar preferencias, restricciones o asignaciones de mesas.
Instrucciones
- 1.
Abrir la ocurrencia reservable
Entra al detalle de reservas desde el calendario o con la ruta /:orgId/:locationId/reservations/:occurrenceId?returnRoute=LocationReservationsCalendar&returnMode=week. La pantalla carga ocurrencia, reservas, asignaciones, clientes y layout.
- 2.
Abrir Editar reserva
En la pestaña Reservas o Cronograma, selecciona una reserva editable y pulsa Editar. El editor precarga nombre, teléfono, personas, hora, duración, estado en lectura y modo de mesas inferido.
- 3.
Revisar datos del cliente
Actualiza Nombre cliente y Teléfono cliente si corresponde. Si la reserva no tenía customer_id, Antylogic crea primero el cliente; si ya lo tenía, conserva ese id y actualiza el cliente después de guardar la reserva.
- 4.
Ajustar personas, hora y duración
Modifica comensales, inicio y duración operativa. La duración se normaliza según el intervalo de slots del servicio y no se edita cuando la reserva está en waitlist.
- 5.
Elegir modo de mesas
Selecciona Indiferente para limpiar mesas, Preferencia para enviar preferred_table_ids, Obligación para enviar restricted_table_ids o Asignación para fijar table_ids como asignación manual.
- 6.
Seleccionar mesas válidas
Abre el selector de mesas y marca mesas del layout cargado. El guardado deduplica la selección y descarta ids que no existan en el plano actual.
- 7.
Guardar cambios
Pulsa Guardar. La UI envía el PUT de la reserva, refresca ocurrencia, reservas, asignaciones y clientes, cierra el editor y muestra la reserva actualizada.
- 8.
Confirmar paso a manual si aparece
Si el optimizador exige confirmación, usa Guardar y pasar a manual. La UI reintenta el mismo PUT con confirm_manual_mode=true y la ocurrencia pasa a modo manual.
Validaciones y límites
- Si faltan organización, ubicación u occurrenceId, la pantalla muestra estado no encontrado.
- Sin reservation:view ni reservation:manage, la pantalla indica que no se pueden ver reservas.
- El guardado requiere reservation:manage; crear o actualizar cliente puede requerir customer:manage.
- Nombre cliente y Teléfono cliente son obligatorios antes de enviar.
- Personas debe ser numérico y mayor que 0; la UI permite de 1 a 99.
- La duración usa mínimo slotIntervalMinutes, máximo 480 y se redondea al intervalo configurado.
- Si el modo de mesas no es Indiferente, debe haber al menos una mesa seleccionada.
- El selector bloquea mesas unavailable o con activeTicket salvo que ya estuvieran seleccionadas.
- El backend valida que reserva, cliente y ocurrencia pertenezcan a la ubicación y que la ocurrencia sea de un servicio public, no internal.
- Cancelación, descancelación, promoción waitlist, eliminación y notas no forman parte del flujo principal del editor.
Resultado esperado
La reserva queda actualizada, el cliente asociado queda sincronizado cuando cambia nombre o teléfono, las mesas se guardan según el modo elegido y el detalle de la ocurrencia vuelve a mostrar la información refrescada.