# Emergencias: reglas de asignación y atención Cómo funciona el ciclo de una emergencia en Ascendix: desde que se reporta hasta que un técnico la atiende, y con qué reglas el sistema decide a quién avisar. ## Resumen de reglas | Situación | Regla | |---|---| | Primer aviso automático | Al supervisor general de turno; si no hay, a un supervisor; si no hay, al técnico más cercano | | Orden de asignación automática | 1° cadena de responsabilidad (supervisor general → supervisor → técnico), 2° de turno y con el rol, 3° cercanía como desempate | | Asignación directa sin confirmar | Se reenvía el aviso durante 20 minutos; la asignación se mantiene | | Asignación automática sin confirmar | Se reenvía el aviso durante 6 minutos; luego baja al siguiente nivel de la cadena | | Técnico acepta | Se detienen todos los avisos; queda encargado y la tarea pasa a "en camino" | | Técnico con otra tarea en ejecución al aceptar | La otra tarea se pausa automáticamente | | Llegada al lugar | Se marca sola por GPS al permanecer en el área; avisa al técnico y funciona sin conexión | | Cierre del trabajo | Observaciones, estado del equipo y firmas de cliente y técnico; exige actividades completas | | Técnico en ejecución sin actividad por 1 hora | Alerta a supervisores (máximo una por hora por técnico) | | Nadie de turno disponible | Se genera una alerta a supervisores | | Equipo con emergencia ya activa | No se permite crear otra emergencia para ese equipo | ## 1. Cómo nace una emergencia - Una emergencia se puede reportar por **solicitud del cliente** o registrarse directamente desde el **panel web** por el equipo de operaciones. - Al crearse, el sistema genera una tarea de emergencia vinculada al **cliente** y al **equipo** (ascensor) afectado, y el equipo queda en revisión hasta que un técnico lo evalúe. - Para evitar avisos duplicados, **no se puede crear una segunda emergencia para un equipo que ya tiene una emergencia activa**. ## 2. Las dos formas de asignar ### Asignación directa (la elige una persona) Cuando un supervisor **elige al técnico a mano** — ya sea al registrar la emergencia en el panel web o al delegarla después a un técnico específico — esa decisión **se respeta siempre**: - El sistema **no reasigna** la emergencia a nadie más. - El técnico elegido **no puede rechazarla**: fue una instrucción directa de su supervisor. - Si el técnico no confirma de inmediato, el sistema le **reenvía el aviso durante los primeros 20 minutos** (para no llenarlo de notificaciones, después deja de insistir, pero la emergencia sigue asignada a él). ### Asignación automática (la elige el sistema) Cuando nadie elige un técnico, el sistema busca al mejor candidato con estas reglas, en orden: 1. **Primero manda la cadena de responsabilidad**: supervisor general → supervisor → técnico. El sistema siempre empieza por el nivel más alto y solo baja al siguiente nivel cuando el anterior no responde. La cercanía **no** salta este orden. 2. **El primer aviso va al supervisor general de turno.** Si no hay ninguno disponible, se busca un supervisor de turno; si tampoco hay, se avisa al técnico de turno más cercano al lugar. 3. En cada nivel solo se consideran personas **de turno en ese momento** y con el **rol adecuado** para recibir emergencias. Nunca se asigna a alguien fuera de su horario. 4. Si en el nivel hay más de un candidato, la **cercanía desempata**: se elige al más cercano al lugar de la emergencia, usando la ubicación reciente de la app. 5. Al elegido se le envía la notificación y se espera su confirmación. Si no responde, se le **reenvía el aviso durante los primeros 6 minutos**. 6. Si pasados esos minutos no hay respuesta, el sistema **baja al siguiente nivel de la cadena** (del supervisor general al supervisor, del supervisor al técnico) y repite la misma elección: de turno, con el rol, y el más cercano de ese nivel. Quien no respondió queda excluido de esa ronda. 7. Este ciclo se repite hasta que **alguien acepta**. La regla de fondo es simple: **una emergencia nunca debe quedar esperando a una sola persona que no responde**. En resumen: **la cadena de responsabilidad está por sobre la cercanía**. La cercanía nunca decide a qué nivel va la emergencia; solo elige entre las personas de un mismo nivel. Si en algún momento no hay absolutamente nadie de turno disponible, el sistema genera una **alerta a los supervisores** para que la resuelvan manualmente. ## 3. Qué ve el técnico en la app Cuando le llega una emergencia, el técnico recibe una **notificación push prioritaria** (con vibración) que incluye el cliente, el equipo afectado, la dirección y el detalle de la falla reportada. En la pantalla de alertas de la app ve la emergencia con su descripción, la observación de la falla, el tipo y la fecha, y tiene las acciones disponibles según el caso: **Aceptar**, **Rechazar** (solo si la asignación fue automática) y **Reasignar** (solo para supervisores). Al aceptar, se abre el detalle completo de la tarea: descripción del problema, cliente con su dirección, equipo con su identificador y estado actual, y un **mapa con la ubicación** para llegar al lugar. ## 4. Qué pasa cuando alguien acepta - En cuanto un técnico **acepta** la emergencia, los avisos se detienen para todos, queda como encargado y la tarea pasa automáticamente a **"en camino"**. - Si el técnico estaba ejecutando otra tarea en ese momento, esa tarea **se pausa automáticamente** (queda registrado que fue por aceptar una emergencia) para que pueda retomarla después. ### El seguimiento del trabajo, paso a paso 1. **En camino**: la tarea queda a nombre del técnico mientras se dirige al lugar. 2. **En el sitio**: la llegada **se marca sola por GPS** — cuando la app detecta que el técnico permanece dentro del área del lugar, registra la llegada y le avisa con una notificación. Funciona aunque la app esté en segundo plano y también sin señal (se sincroniza al recuperar conexión). 3. **En ejecución**: el técnico inicia la atención y la app registra el avance. Puede **pausar** indicando el motivo (por ejemplo, horario de almuerzo) y **reanudar** cuando corresponda. 4. **Terminada**: al cerrar el trabajo, el técnico registra las observaciones, el estado en que queda el equipo y las **firmas del cliente y del técnico**, junto con la evidencia (fotos, formularios). La app exige completar todas las actividades antes de permitir el cierre. Todo el flujo funciona **sin conexión**: la app guarda cada paso y lo sincroniza cuando vuelve la señal. ## 5. Supervisión y avisos de respaldo - **Técnico sin actividad**: cada hora el sistema revisa a los técnicos de turno que tienen una tarea en ejecución. Si alguno lleva **más de una hora sin reportar actividad**, se envía una alerta a los supervisores para que verifiquen su estado (máximo una alerta por hora por técnico, para no duplicar avisos). - **Nadie disponible**: si una emergencia no puede asignarse porque no hay nadie de turno, se genera una alerta a los supervisores para resolverla manualmente. ## 6. Por qué a veces varios técnicos reciben la misma alerta Es el comportamiento esperado de la **asignación automática**: si el primer candidato no confirma a tiempo, el aviso baja al siguiente nivel de la cadena de responsabilidad. No es un error ni una preferencia por una persona: el sistema elige primero por **nivel de responsabilidad**, luego por **turno y rol**, y usa la **cercanía solo para desempatar** dentro del nivel. Un mismo técnico puede recibir varias veces la alerta si en cada ronda sigue siendo el candidato de su nivel más cercano disponible. En cambio, si la emergencia fue **asignada directamente por un supervisor**, solo esa persona recibe los avisos.