Ir al contenido

Notificaciones push

Jonot envía una notificación del sistema a los clientes cuando su turno pasa al estado CALLED — incluso cuando la pestaña del navegador está en segundo plano o el teléfono está bloqueado. También se envían notificaciones cuando se vuelve a llamar a un turno que había sido omitido.

  1. Un cliente está a punto de unirse a una cola y ve la pantalla del selector de colas.
  2. Aparece una tarjeta de aceptación de notificaciones push encima de la lista de colas — el cliente toca Avisarme y concede el permiso del navegador antes de unirse.
  3. Su navegador registra una suscripción Web Push.
  4. El cliente se une a la cola y recibe un turno. La suscripción se vincula al turno del lado del servidor.
  5. Cuando un mostrador llama al turno, el servidor envía un mensaje push a todas las suscripciones activas de ese turno.
  6. El dispositivo del cliente se activa y muestra una notificación del sistema con el número de turno, el nombre de la cola y la ubicación. Tocar la notificación abre la pantalla del turno.
  7. Las suscripciones se eliminan automáticamente cuando el turno alcanza un estado final (COMPLETED, CANCELED o NO_SHOW) o cuando el endpoint push expira (el navegador se ha dado de baja / se ha revocado el permiso).

Los clientes que no aceptaron en el selector de colas todavía pueden hacerlo desde la pantalla del turno — se muestra una tarjeta de notificación mientras el turno esté en WAITING o CALLED.

Notificaciones al volver a llamar a un turno omitido

Sección titulada «Notificaciones al volver a llamar a un turno omitido»

Si el turno de un cliente se omite (pasa al estado SKIPPED), su suscripción push se mantiene activa. Cuando el personal vuelve a llamar posteriormente al turno (devolviéndolo a WAITING) y lo llama, el cliente recibe la notificación push — incluso si cerró la página del turno.

Esto significa que un cliente que aceptó las notificaciones y luego se alejó sigue siendo notificado cuando el personal lo vuelve a llamar, sin necesidad de mantener el navegador abierto.

EstadoSe muestra
Aviso (permiso aún no solicitado)Tarjeta CTA de aceptación (selector de colas + pantalla de turno)
Permiso concedido + suscritoConfirmación “Te avisaremos — puedes cerrar esta pestaña”
Permiso denegadoConsejo alternativo + enlace a los ajustes del navegador
Navegador no compatibleNada (se omite en silencio)

Una vez suscrito, el navegador entrega las notificaciones push incluso cuando la pestaña está cerrada o el teléfono está en segundo plano — los clientes no necesitan mantener abierta la página del turno.

Si el dispositivo del cliente pierde su conexión WebSocket mientras la página del turno está abierta (por ejemplo, tras una desconexión breve), aparece en pantalla un aviso Conexión perdida: reconectando…. Solo se muestra para turnos que no están en estado final y nunca en la carga inicial de la página. La conexión se restablece automáticamente; no se necesita ninguna acción manual.

iOS — se requiere añadir a la pantalla de inicio

Sección titulada «iOS — se requiere añadir a la pantalla de inicio»

iOS Safari 16.4+ admite Web Push, pero solo cuando la app se ha añadido a la pantalla de inicio (modo independiente). En el navegador Safari normal de iOS:

  • El selector de colas muestra una tarjeta de aviso Añadir Jonot a la pantalla de inicio encima de la lista de colas.
  • Después de añadirla a la pantalla de inicio, el cliente vuelve a abrir Jonot desde el icono de la pantalla de inicio y aparece el CTA de aceptación habitual.

Las suscripciones push están vinculadas a un único turno. Son estrictamente transaccionales: existe una suscripción para el ciclo de vida de un turno. No hay ningún mecanismo para enviar notificaciones promocionales o masivas — solo los eventos de turno CALLED activan una notificación.

RGPD / base de consentimiento: la suscripción está vinculada al turno que el cliente acaba de crear. La misma base de consentimiento (interés legítimo / ejecución del contrato) que cubre el turno en sí cubre esta única notificación. No es necesario recabar un consentimiento aparte.

  • Estándares: Web Push con cifrado de payload según RFC 8291 (AES-128-GCM) y solicitudes autenticadas con VAPID según RFC 8292.
  • Almacenamiento de la suscripción: cada suscripción está vinculada a un turno y se elimina automáticamente cuando ese turno alcanza un estado final.