Abrir servicio desde calendario
Abre el TPV de Marea Gran Via usando el servicio publico mas cercano del calendario. Al confirmar, la sesion queda vinculada a la ocurrencia del calendario para trabajar con su plano, reservas y catalogo.
En este artículo
Usa esta guia cuando el servicio ya esta planificado en el calendario y el equipo de sala necesita arrancar el TPV sobre ese contexto operativo.
La apertura crea una unica `service_session` abierta para la ubicacion y usa el `occurrence_id` de la ocurrencia publica seleccionada. No abre caja, no crea tickets y no registra pagos.
Antes de empezar
- Sesion iniciada en `Grupo Marea Demo` con la ubicacion `Marea Gran Via` activa.
- Permiso de ubicacion `tpv:use`; sin el permiso, el TPV muestra el estado de acceso denegado.
- No debe existir otra `service_session` abierta para Marea Gran Via.
- Debe existir un servicio publico de calendario cercano: no finalizado hace mas de una hora y no iniciado a mas de seis horas.
- El servicio esperado en la demo es `Servicio de comidas Gran Via`.
Instrucciones
- 1.
Entrar al TPV de Marea Gran Via
Abre el TPV en la vista de plano. La pantalla carga organizacion, ubicacion, terminal, servicio activo y permisos antes de mostrar las acciones disponibles.
- 2.
Comprobar que no hay servicio activo
Si no hay una sesion abierta, el TPV muestra el estado previo a la apertura y habilita `Abrir servicio`. Si ya hay una sesion activa, este flujo no aparece.
- 3.
Elegir Servicio mas cercano
Pulsa `Abrir servicio` y selecciona `Servicio mas cercano`. El modal debe mostrar el servicio publico sugerido desde calendario, como `Servicio de comidas Gran Via`.
- 4.
Confirmar la apertura desde calendario
Revisa el servicio sugerido y pulsa `Abrir servicio del calendario`. La app envia `{ "occurrence_id": "<occurrence.id>" }` a `POST /api/app/{orgId}/{locationId}/service-sessions`.
- 5.
Trabajar en el TPV activo
Tras ver `Servicio abierto correctamente.`, el TPV pasa al workspace activo con el contexto de plano, reservas y catalogo asociado a la ocurrencia.
Validaciones y límites
- Si falta `orgId` o `locationId`, la pantalla no puede construir la ruta operativa.
- Si el usuario no tiene `tpv:use`, el TPV muestra `No tienes permisos para usar el TPV de esta ubicacion.`
- Solo puede haber una `service_session` abierta por ubicacion; una segunda apertura se rechaza por conflicto.
- La opcion `Servicio mas cercano` queda deshabilitada si no hay una ocurrencia publica dentro de la ventana cercana.
- Los servicios `internal` no aparecen como candidatos reservables y las guardas SQL impiden asociarlos a sesiones TPV.
- La apertura desde calendario usa `occurrence_id`; no envia `terminal_id` ni `opened_by_staff_id`.
- Esta accion abre contexto operativo, no caja: no crea `cash_register_session`, tickets, pagos ni facturas.
Resultado esperado
Marea Gran Via queda con una `service_session` abierta y vinculada al servicio publico del calendario. El TPV puede operar sobre el plano, reservas y catalogo de esa ocurrencia.