# El ciclo de asignación, paso a paso

Cada vez que el dispatcher se ejecuta, procesa cada tienda de forma independiente, siguiendo cinco pasos en orden.

## Los cinco pasos

| # | Paso | Qué ocurre |
|---|---|---|
| 1 | **Obtener datos** | Recoge los pedidos actuales, los repartidores disponibles y la configuración de tienda y de zonas. Aquí también se revisa cualquier pedido que siga con un transportista externo de un ciclo *anterior* — ver [Revisión de pedidos ya asignados a un transportista](/books/console/page/revision-de-pedidos-ya-asignados-a-un-transportista). |
| 2 | **Comprobación de caché** | Si nada ha cambiado desde la última ejecución, la tienda se omite en lugar de reprocesarse, para ahorrar tiempo y recursos. |
| 3 | **Asignar pedidos** | El paso donde se toman las decisiones, explicado en [Los tres mecanismos de asignación](/books/console/page/los-tres-mecanismos-de-asignacion). Aquí confluyen la lógica de transportistas externos, la de flota propia y —opcionalmente— la de clientes prioritarios. |
| 4 | **Posprocesado** | Se clasifican los resultados (asignaciones nuevas, pedidos aún pendientes, pedidos enviados a transportista externo, etc.), se identifican los pedidos agrupables en un mismo repartidor y todo lo que siga sin asignar recibe un último intento más flexible —ver [Last-Option: la red de seguridad final](/books/console/page/last-option-la-red-de-seguridad-final)— antes de marcarse como Pendiente o Crítico. |
| 5 | **Guardar y notificar** | Se guardan las asignaciones finales, se avisa a los repartidores por notificación push y se procesan las alarmas correspondientes. |

> El paso 2 es la razón de que una ejecución termine casi al instante para una tienda tranquila. Que una tienda se omita no es un error y no se pierde nada: el siguiente ciclo la recoge en cuanto algo cambie.

## Qué significa "de forma independiente, por tienda"

Cada tienda se resuelve por su cuenta. Una falta de repartidores en una tienda nunca trae repartidores de otra, y una tienda cuyos datos no han cambiado se omite sin afectar al resto. Por eso, al reportar un problema del dispatcher, siempre hay que indicar la tienda — ver [Reportar una incidencia del dispatcher](/books/console/page/reportar-una-incidencia-del-dispatcher).

## Dónde está el detalle

Los pasos 1 y 3 concentran casi toda la toma de decisiones, y cada uno tiene su propia página:

- La revisión de pedidos que ya están con un transportista, del paso 1 → [Revisión de pedidos ya asignados a un transportista](/books/console/page/revision-de-pedidos-ya-asignados-a-un-transportista)
- La comprobación de si existe realmente un sustituto → [¿Cuándo existe una alternativa?](/books/console/page/cuando-existe-una-alternativa)
- La lógica de asignación del paso 3 → [Los tres mecanismos de asignación](/books/console/page/los-tres-mecanismos-de-asignacion)
- El último intento del paso 4 → [Last-Option: la red de seguridad final](/books/console/page/last-option-la-red-de-seguridad-final)