> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://naturgy-comer-documentation-p5mde.vercel.app/api/mcp` to find what you need.

# Ciclo de vida de un ticket

TeLeo combina un estado de ticket con asignación, disponibilidad y actividad.
No confundas la vista de la consola —cola, abiertos, Pendientes o cerrados— con
la sesión técnica del workflow.

## Estados persistidos

| Estado | Significado operativo |
|---|---|
| `open` | Ticket activo. Puede estar sin asignar, en cola o asignado a un agente. |
| `snoozed` | Ticket en **Pendientes**. No consume capacidad y espera una respuesta o una acción posterior. |
| `closed` | Ticket cerrado de forma explícita; el cierre permanente no debe atribuirse a un timeout de agente. |

La aplicación también conserva campos de asignación, prioridad, tags,
`unread_for_assignee`, `close_reason`, timestamps y estado de inicialización.
Estados como nuevo, asignado, pendiente de cliente o reabierto son estados
operativos de la atención y pueden representarse mediante la combinación de
estos campos y la vista.

## Recorrido normal

```mermaid
flowchart TD
    created["Ticket creado"] --> queue["Abierto / cola o asignado"]
    queue --> reply["Agente responde"]
    reply --> waiting["Esperando cliente"]
    waiting -->|"cliente responde"| queue
    waiting -->|"silencio configurable"| pending["Pendientes / snoozed"]
    pending -->|"cliente responde"| queue
    queue -->|"Cerrar"| closed["Cerrado permanente"]
    queue -->|"De-escalate"| returned["Cierre + vuelta al bot"]
    returned --> closed
    queue -->|"agente no disponible"| unassigned["Sin asignar"]
    unassigned --> queue
```

## Reglas vigentes

1. La creación del ticket y el primer contexto son una sola operación lógica.
2. Si el cliente aún no ha recibido respuesta, el silencio no debe ocultar un
   caso que necesita atención.
3. Cuando el agente ha hablado último y el cliente permanece inactivo durante
   el umbral configurado —por defecto, cinco minutos— el caso puede pasar a
   **Pendientes**. El valor efectivo se puede ajustar en Equipo.
4. Pendientes no caduca por sí solo, no ocupa capacidad y vuelve a abierto cuando
   el cliente escribe o una acción autorizada lo reabre.
5. Si llega un mensaje mientras el agente no está disponible, el caso vuelve a
   la cola. Si el agente sigue disponible, conserva la asignación según las
   reglas de la consola.
6. El cierre es una acción del agente. El autocierre por inactividad se eliminó
   como comportamiento vigente; los valores históricos de `close_reason` pueden
   permanecer para compatibilidad y auditoría.
7. **Cerrar**, **de-escalar**, **aparcar** y cerrar la ventana de la UI son
   acciones distintas. La X de la interfaz no cierra el ticket.
8. Un cliente desconectado puede dejar el ticket abierto, aunque el mensaje del
   agente no pueda entregarse. Ese fallo debe ser visible y no simular una
   entrega.

## Cierre y de-escalado

* **Close / Enviar y cerrar:** termina el ticket de forma permanente según la
  configuración del control de sesión. El resultado debe quedar correlacionado
  con la sesión y el entorno.
* **De-escalate:** termina el tramo humano y publica la señal que devuelve la
  conversación al bot cuando el workflow lo permite.
* **Reopen:** acción explícita de consola para recuperar un ticket permitido;
  no se debe confundir con que un nuevo cliente cree otra sesión.

Los detalles del control de sesión y de la señal son responsabilidad del
workflow; TeLeo no debe inventar que el cliente recibió un cierre.

## Mantenimiento automático

Los movimientos de Pendientes y cola se evalúan mientras la consola está abierta
mediante polling o un barrido configurado. Puede haber un retraso de decenas de
segundos respecto al umbral. Si se requiere garantía 24/7, hace falta un
scheduler autorizado y observable; abrir una página no es evidencia de un cron.

La disponibilidad se evalúa con una única función que combina online, pausa,
horario, vacaciones y capacidad. Así se evita que una asignación automática
considere disponible a un agente fuera de su horario.

Consulta el [catálogo de estados y eventos](/use-cases/super-app/teleo/reference/states-and-events)
para las transiciones y señales que deben probarse.
