Notificaciones configurables
PoolControl dispone de un dispatcher central que reparte avisos según el evento de negocio, el rol del usuario y sus preferencias personales.
Canales
| Canal | Staff ERP | Portal cliente |
|---|---|---|
| Campanita in-app | Sí | Sí |
| Por evento y preferencia | Sí (master switch en Empresa) | |
| Web Push PWA | Sí (Chrome/Android; iOS limitado) | Sí |
Configuración del tenant
En Empresa → Portal del Cliente puedes activar:
- Email al cliente — correos en respuestas, presupuestos, albaranes y recordatorios.
- Push PWA al cliente — notificaciones en el móvil si el cliente instala la PWA.
En la misma página (al final del formulario), la sección Notificaciones del equipo define la matriz rol × evento × canal (in-app, email, push) para ADMIN, MANAGER, TÉCNICO, etc.
Ruta en la app: Sistema → Configuración → Empresa y, para overrides personales, menú de usuario (avatar abajo a la izquierda) → Mis notificaciones.
Preferencias personales
Cada usuario del staff accede a Mis notificaciones desde el menú de cuenta (avatar en la barra lateral). Puede silenciar eventos concretos sin cambiar la configuración global del tenant. Ahí también puede activar push PWA en el móvil.
Portal cliente
- Campanita en la cabecera del portal.
- Perfil — activar push PWA.
- Dashboard — badge de albaranes pendientes de firma.
Eventos principales
- Incidencias portal (nueva, mensaje cliente, respuesta equipo, resuelta).
- Presupuestos (enviado, aceptado/rechazado staff, confirmación cliente).
- Visitas (asignada, reprogramada, transferencia).
- Albaranes (pendiente firma, firmado).
- Facturas y recordatorios de pago.
- Stock bajo (staff).
Push móvil (PWA)
- Instalar la PWA en el dispositivo.
- En Mis notificaciones (staff) o Perfil (portal), pulsar Activar notificaciones.
- Aceptar el permiso del navegador.
En iOS Safari el push requiere Añadir a pantalla de inicio; usar email como respaldo.
Mantenimiento sin Cron (Render)
Recordatorios de pago, trials y otras tareas no usan Cron Job de Render (evita coste de worker extra). Se ejecutan en segundo plano cuando alguien inicia sesión (staff, portal o demo), si han pasado al menos 24 h desde la última ejecución (LOGIN_MAINTENANCE_INTERVAL_HOURS).
El reset demo de AquaDemo sigue el mismo patrón (DEMO_AUTO_RESET_INTERVAL_HOURS).
Los recordatorios de pago a clientes con factura vencida entran en este ciclo (como máximo un barrido global cada 24 h mientras haya actividad de login en la plataforma). No hace falta configurar Cron en el hosting.
Variables de servidor
Solo el administrador del hosting (Render) necesita configurar:
VAPID_PUBLIC_KEYVAPID_PRIVATE_KEYVAPID_SUBJECT(ej.mailto:admin@poolcontrolpro.com)LOGIN_MAINTENANCE_INTERVAL_HOURS(por defecto24)