Cómo buscar y filtrar reservas
Localiza reservas ya cargadas dentro de la pestaña Lista de una ocurrencia usando texto libre y estado, sin cambiar datos ni lanzar una búsqueda adicional.
En este artículo
La pestaña Lista del detalle de una ocurrencia permite acotar rápidamente las reservas que ya están cargadas para ese servicio. El buscador y el selector de estado trabajan sobre la tabla visible, por lo que sirven para revisar sala y reservas sin abrir editores ni modificar datos.
En el demo ES, este flujo se documenta sobre Grupo Marea Demo y Marea Gran Via. Puedes buscar ejemplos como Javier Martin cuando esa reserva esté presente en la ocurrencia cargada, sin prometer conteos concretos por estado.
Antes de empezar
- Tener una organización y una ubicación seleccionadas, por ejemplo Grupo Marea Demo y Marea Gran Via en el runtime ES.
- Abrir el detalle de una ocurrencia desde `/:orgId/:locationId/reservations/:occurrenceId` con un `occurrenceId` válido.
- Contar con `reservation:view`, `reservation:manage` o `system-admin` para ver reservas en la ubicación.
- Esperar a que la pantalla cargue la ocurrencia y sus reservas; la pestaña `Lista` es la vista inicial del detalle.
Instrucciones
- 1.
Abre el detalle del servicio
Entra en la ocurrencia de reservas desde el calendario o con la ruta `/:orgId/:locationId/reservations/:occurrenceId`. Si falta el contexto o el usuario no puede ver reservas, la pantalla muestra el mensaje de error correspondiente antes de cargar la lista.
- 2.
Revisa la lista inicial
En la sección Reservas, deja `Buscar reserva` vacío y el selector en `Todos los estados` para ver todas las filas cargadas para esa ocurrencia, ordenadas por hora de inicio.
- 3.
Busca por un dato visible
Escribe un nombre, teléfono, comensales, mesa, hora o etiqueta de estado. La pantalla limpia espacios y compara sin distinguir mayúsculas; en el demo ES puedes usar Javier Martin si aparece en la lista.
- 4.
Filtra por estado
Abre `Todos los estados` y elige una opción cerrada: Pendiente, Confirmada, Sentados, Lista de espera, No show o Cancelada. Vuelve a `Todos los estados` para quitar el filtro.
- 5.
Combina búsqueda y estado
Mantén el texto escrito y selecciona un estado para conservar solo las reservas que cumplen ambas condiciones. Primero se aplica el estado y después el texto.
- 6.
Interpreta el estado vacío
Si no hay coincidencias, la sección muestra `No hay reservas para este servicio.`. Esto puede indicar una combinación de filtros sin resultados, no necesariamente que la ocurrencia no tenga reservas.
Validaciones y límites
- El filtro es local: opera sobre reservas ya cargadas por `occurrence_id` y no ejecuta una búsqueda dedicada en backend.
- La búsqueda textual compara `customerName`, `phone`, `partySize`, `tables`, `time` y `statusLabel`; no busca en notas, canal, ids ni preferencias de mesa.
- Los filtros se combinan con condición AND: estado primero y texto después.
- El selector de estado no admite texto libre y solo usa estados implementados de reserva.
- Los filtros no se guardan en URL, deep link ni backend; al recargar la pantalla vuelven al estado inicial de React.
- Con solo `reservation:view`, la búsqueda y el filtro siguen disponibles, pero no aparecen acciones de gestión de fila.
- Las estadísticas y la pestaña Cronograma usan la colección completa de reservas y no cambian por estos filtros.
Resultado esperado
El equipo acota la lista de reservas de una ocurrencia para revisar cliente, hora, mesa y estado sin crear, editar, eliminar ni reactivar reservas.