Reparto y Dispatcher Cómo decide la asignación automática qué repartidor o transportista entrega cada pedido, y cómo configurarlo. Qué hace el dispatcher Dirigido a: responsables de operaciones y de reparto que configuran, supervisan o explican a su equipo la asignación automática de pedidos. Objetivo: entender qué hace el dispatcher y por qué toma una decisión concreta. El Dispatcher es el sistema que decide automáticamente qué repartidor (o transportista externo) entrega cada pedido, y cuándo. Funciona solo, con la periodicidad que tú defines, y reevalúa los pedidos pendientes de cada tienda en cada ejecución. Estas páginas explican la lógica de esas decisiones en términos de negocio: qué optimiza el algoritmo, qué determina la prioridad, qué opciones de configuración tienes y qué esperar —o no esperar— de él. Cómo leer este capítulo No hace falta leerlo de principio a fin. Casi todas las dudas se resuelven en una sola página: Si quieres saber… Ve a Qué significa un término Glosario del dispatcher Qué ocurre en cada ejecución El ciclo de asignación, paso a paso Por qué un pedido se quedó con un transportista externo Revisión de pedidos ya asignados a un transportista Por qué se eligió a un repartidor y no a otro Clasificación y prioridad de repartidores Por qué un pedido cambió de repartidor Cuándo un pedido cambia de repartidor Por qué un pedido se quedó sin asignar Last-Option: la red de seguridad final y las Preguntas frecuentes del dispatcher Cada cuánto se ejecuta, y cómo arrancarlo o pararlo Planes de programación: cómo funciona el ciclo automático Dónde se cambia un ajuste concreto Dónde vive cada ajuste Todo el flujo en una sola página Visión de principio a fin Una regla, sin la explicación Reglas de referencia rápida Cómo reportar algo que parece incorrecto Reportar una incidencia del dispatcher Una vez que el dispatcher ha tomado sus decisiones, el tablero en vivo donde una persona puede intervenir es el Hub — ver El Hub: qué es y quién puede hacer qué. Lo que no hace El dispatcher está acotado a propósito. No intenta encontrar un plan matemáticamente perfecto para todos los repartidores y todos los pedidos a la vez, nunca toca un pedido que ya ha salido de la tienda, y no reordena el trabajo solo porque un pedido sea más urgente que otro. Esos límites están listados en Límites conocidos del sistema: son decisiones de diseño, no fallos, y conocerlos ahorra mucho tiempo de conjeturas. Glosario del dispatcher Estos términos se usan de forma consistente en todo el capítulo de Reparto y Dispatcher. Término Significado Flota propia / Repartidores propios El personal de reparto de tu propio negocio: repartidores y, en algunos casos, personal de cocina que también reparte Transportista externo Un proveedor de reparto externo (por ejemplo una plataforma de mensajería) que se usa cuando tu flota propia no es la mejor opción Clientes prioritarios (Platinum) Función opcional que da a ciertos pedidos —normalmente de clientes de fidelización o VIP— más posibilidades de entregarse a tiempo, sin perjudicar injustamente a los pedidos normales Modo PG Método de asignación por orden de llegada (FIFO): los pedidos se asignan al mejor repartidor disponible en el orden en que entraron Google OR-Tools Motor avanzado de optimización de rutas, que se usa normalmente cuando hay más pedidos pendientes que repartidores disponibles, para planificar rutas más eficientes Last-Option Red de seguridad final, dentro del mismo ciclo, para pedidos que el proceso normal no ha podido colocar — ver Last-Option: la red de seguridad final Idle (libre) Repartidor sin ningún pedido asignado Waiting (esperando) Repartidor con pedidos asignados que todavía no ha salido de la tienda On The Way (en ruta) Repartidor que ya ha salido de la tienda para entregar al menos un pedido Zona de tienda Estar a unos 350 metros de la tienda: lo bastante cerca como para considerarse "en la tienda" a efectos de asignación Tiempo hasta la tienda Tiempo estimado para que un repartidor vuelva a la tienda Tiempo hasta la entrega Tiempo estimado para que un repartidor complete una entrega Ciclo de asignación / Ejecución Una ejecución completa del algoritmo sobre todas tus tiendas, lanzada automáticamente según la programación que definas Agrupación (clubbing) Agrupar más de un pedido en el mismo repartidor o transportista para un solo viaje Crítico Pedido todavía sin asignar que ya ha superado su hora prometida de entrega Pendiente Pedido todavía sin asignar que aún no va tarde 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. 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. 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— 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. 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 La comprobación de si existe realmente un sustituto → ¿Cuándo existe una alternativa? La lógica de asignación del paso 3 → Los tres mecanismos de asignación El último intento del paso 4 → Last-Option: la red de seguridad final Revisión de pedidos ya asignados a un transportista Antes de evaluar cualquier asignación nueva, el dispatcher revisa todos los pedidos que ya están con un transportista externo de un ciclo anterior, es decir, aquellos que un transportista tiene adjudicados pero con los que todavía no ha salido de la tienda. Esto ocurre en el paso 1 de El ciclo de asignación, paso a paso, para cada tienda y en cada ciclo. Nunca afecta a pedidos nuevos ni a pedidos ya asignados a tu flota propia. Las tres preguntas, en orden Para cada pedido en manos de un transportista se hacen hasta tres preguntas. La primera que resuelve el pedido detiene la secuencia. 1. ¿El transportista lleva demasiado tiempo con este pedido? Lo rige Tiempo máximo para aceptar (configurado por tienda y por transportista — ver Dónde vive cada ajuste). Límite superado y existe una alternativa real ahora mismo → el pedido se cancela con el transportista de inmediato y queda libre para reasignarse en este mismo ciclo. Límite superado pero no existe alternativa → el pedido se deja exactamente como está. Cancelarlo solo lo dejaría peor, sin ningún sitio mejor al que enviarlo. Límite no alcanzado → se pasa a la pregunta 2. 2. ¿La propia estimación del transportista para llegar a la tienda se está desviando demasiado? Lo rige Tiempo máximo para llegar a la tienda (por tienda y por transportista). Si la hora estimada de llegada del transportista a la tienda se ha desviado más allá de este límite, el pedido se cancela de inmediato, exista o no una alternativa. Una estimación poco fiable del propio transportista es motivo suficiente para desistir. 3. ¿Seguimos dentro de la ventana de cancelación gratuita y nuestra flota propia tiene hueco? Lo rige Ventana de cancelación gratuita (por transportista, para toda la empresa). Si la respuesta a ambas es sí, el pedido se marca como sin asignar, pero solo en la memoria de trabajo del dispatcher. No se guarda nada y no se cancela nada con el transportista todavía. El pedido simplemente vuelve a entrar en el proceso normal de asignación de esa tienda, igual que cualquier otro pedido sin asignar de ese ciclo. No es una rutina especial de "probar con flota propia". A partir de aquí el dispatcher no tiene ninguna noción de que ese pedido estuviera con un transportista: pasa por Modo PG, Google OR-Tools y transportistas externos como todo lo demás, con las mismas reglas. Si el proceso normal le asigna un repartidor propio, ocurren dos cosas en orden estricto: Se envía una cancelación real al transportista externo original. Solo si esa cancelación tiene éxito, se guarda la nueva asignación al repartidor interno. Si la cancelación falla, el paso 2 no llega a ocurrir: no cambia nada y el pedido sigue con el transportista. Así se evita un estado confuso en el que un mismo pedido parece asignado en dos sitios a la vez. Si el proceso normal no lo coloca con ningún repartidor propio, se descarta la marca en memoria. El pedido vuelve a estar exactamente como estaba —válidamente asignado al transportista— como si nada hubiera pasado. En este caso nunca se envía ninguna cancelación. Las preguntas 1 y 2 se parecen pero comparan cosas distintas Es la principal fuente de confusión de esta página. Pregunta Qué compara realmente Consecuencia Tiempo máximo para aceptar Tiempo real transcurrido: ahora, frente al momento en que se entregó el pedido al transportista. Solo falla cuando ha pasado de verdad suficiente tiempo de reloj. Cancela, pero solo si existe una alternativa Tiempo máximo para llegar a la tienda La promesa del propio transportista: su estimación de llegada, frente al momento en que se le entregó el pedido. Nunca mira la hora actual. Puede fallar a los pocos segundos si su propia estimación ya es demasiado lejana. Cancela haya o no alternativas Ventana de cancelación gratuita El mismo tipo de comparación que Tiempo máximo para aceptar (ahora frente al momento de asignación), pero con otra consecuencia: superarla no cancela nada por sí misma. Solo abre la puerta al intento sin compromiso con la flota propia descrito arriba. Habilita el reintento sin riesgo Qué pasa si el intento con flota propia no sale bien El pedido se excluye deliberadamente de la pasada de respaldo a transportistas de ese mismo ciclo: no se vuelve a evaluar frente a transportistas en esta ejecución. Es intencionado. El pedido ya está válidamente asignado a un transportista, así que repetir la pasada de respaldo sería redundante en el mejor de los casos, y podría generar una segunda asignación en conflicto para un pedido que ya tiene una. El pedido continúa con su asignación existente hasta la siguiente comprobación relevante: un ciclo futuro, o un fallo real en el tiempo de entrega. Por qué esto importa Sin esta revisión, un pedido podría quedarse indefinidamente con un transportista lento o que no responde, o seguir ahí incluso después de que tu flota propia hubiera quedado libre para llevarlo antes. El intento con flota propia es deliberadamente libre de riesgo: si no cuaja, el pedido se queda exactamente como estaba, el transportista ni se entera, y nunca se cancela nada sin tener ya un sustituto confirmado. ¿Cuándo existe una alternativa? La primera pregunta de Revisión de pedidos ya asignados a un transportista solo cancela a un transportista lento si existe una alternativa real dispuesta a asumir el pedido. Esa comprobación tiene dos mitades independientes: si tu flota propia podría llevarlo, y si otro transportista externo podría llevarlo. Se diferencian mucho en profundidad. Basta con que una de las dos sea cierta. Flota propia: una sola comprobación Comprobación Qué verifica Dónde se configura Hueco de capacidad Al menos un repartidor de flota propia (interno o contratado) tiene sitio para un pedido más Máximo de pedidos por repartidor — ver Dónde vive cada ajuste Es a propósito una comprobación rápida y optimista. Solo pregunta "¿hay algún repartidor con un hueco libre?", no si ese repartidor está lo bastante cerca, está libre o puede realmente asumir este pedido. Existe únicamente para responder "¿merece la pena siquiera cancelar el pedido del transportista?". La evaluación real llega después, cuando el pedido vuelve al proceso normal de asignación. Transportistas externos: varias comprobaciones, y solo los que van por detrás Primero, una regla de alcance importante: aquí solo se miran los transportistas que van por detrás del actualmente asignado en el orden configurado para esa zona. Los transportistas anteriores de la lista nunca se consideran en este punto, aunque cumplieran todo. La búsqueda se detiene en el primero que pase todas las comprobaciones; no busca el "mejor". Para cada transportista candidato, por orden, debe cumplirse todo lo siguiente: Comprobación Qué verifica Activo y tipo de pedido compatible El interruptor principal del transportista está activo y aplica al tipo de pedido y canal de venta Compatibilidad de pago Los pedidos en efectivo no superan su límite de contra reembolso; los pedidos con tarjeta solo se le ofrecen si acepta tarjeta Restricciones de producto Ningún producto del pedido cae en una categoría excluida para ese transportista Capacidad en esta tienda Al transportista le queda hueco en su bolsa de capacidad compartida para esa tienda Distancia La distancia de la tienda al cliente está dentro del rango permitido del transportista Horario de operación La hora actual está dentro del horario configurado para ese transportista en esa tienda El primer candidato que pase las seis cuenta como "existe una alternativa", y la búsqueda se detiene ahí. Lo que deliberadamente no se comprueba aquí: la verificación normal de ventana de entrega se omite. En este punto el sistema solo confirma que un transportista podría asumir el pedido estructuralmente —activo, pago, productos, capacidad, distancia, horario—. Si podría entregarlo a tiempo se evalúa después, si llega a ofrecérsele el pedido. Todos estos ajustes viven en la configuración general o por tienda del transportista — ver Dónde vive cada ajuste. Los tres mecanismos de asignación Todo pedido se resuelve finalmente con uno —o una combinación— de tres mecanismos. Mecanismo Cuándo se usa Modo PG (FIFO) Tienes suficientes repartidores propios para cubrir los pedidos pendientes Google OR-Tools Hay más pedidos pendientes que repartidores propios, así que hace falta planificar rutas más eficientes Transportistas externos Tu red de reparto externa Cuál de los dos, Modo PG o Google OR-Tools, se usa en una tienda concreta se decide automáticamente a partir de la proporción entre pedidos pendientes y repartidores disponibles, salvo que fuerces un modo en el plan de programación. Ver Planes de programación: cómo funciona el ciclo automático. Cómo se combinan La configuración de la zona decide si el transportista externo tiene el primer intento o si solo actúa como red de seguridad. Todo lo demás funciona igual en ambos casos. Zona estándar — flota propia primero: Solver propio (Modo PG o Google OR-Tools). Reintento con repartidores libres en tienda que el solver no haya usado. Respaldo con transportista externo, como último recurso. Zona con transportista primero: Transportista externo, un intento. Si lo acepta, listo. Solver propio (Modo PG o Google OR-Tools). Reintento con repartidores libres. Sin más respaldo: el pedido ya tuvo su turno con transportista externo. La regla que mantiene el equilibrio Cada pedido recibe exactamente un intento con cada tipo de recurso —flota propia y transportista externo— por ciclo de asignación. La configuración de la zona solo decide cuál va primero, nunca cuántos intentos recibe un pedido: Tipo de zona Orden de intentos Intentos totales Estándar Flota propia → Transportista 2 Transportista primero Transportista → Flota propia 2 Siempre dos. Nunca tres, nunca uno. Antes de dejar el pedido para el siguiente ciclo Queda un intento más flexible dentro del mismo ciclo — ver Last-Option: la red de seguridad final. Si tras eso el pedido sigue sin asignar, la siguiente ejecución programada empieza completamente de cero, incluido un intento nuevo con transportista externo. Cuándo ocurre eso lo marca el plan de programación de la tienda. Last-Option: la red de seguridad final Después de que el solver propio y el intento con transportista externo hayan tenido cada uno su única oportunidad, algunos pedidos pueden seguir sin asignar. En lugar de dejarlos para el ciclo siguiente, el dispatcher hace un intento más —por tienda, al final del mismo ciclo— llamado Last-Option. Qué problema resuelve Last-Option solo mira los pedidos que siguen sin asignar tras el proceso normal. Su objetivo es simple: evitar dejar un pedido completamente sin asignar si existe alguna forma razonable de colocarlo, aunque eso implique ser más flexible que las reglas normales. Cómo se buscan los candidatos Los candidatos se obtienen de forma distinta según su procedencia, y Last-Option relaja algunas comprobaciones que el proceso normal sí aplica. Origen Cómo se elige el candidato Qué se relaja Flota propia (internos y contratados) El mejor repartidor disponible, por capacidad y por cuándo podría salir No se vuelve a comprobar la ventana de entrega habitual Transportistas externos Cualquier transportista ya probado y descartado antes en este mismo ciclo No se revisa el motivo original del descarte: solo si desde entonces ha liberado capacidad Se elige el candidato que pueda empezar la entrega antes. Orden de procesamiento Los pedidos se procesan de uno en uno, empezando por el más urgente, según la hora prometida de entrega. El estado de cliente prioritario (Platinum) no influye en qué pedido entra antes en Last-Option. Platinum solo afecta al orden de varios pedidos que ya están en la ruta del mismo repartidor. Paso a paso Se recogen los pedidos que siguen sin asignar tras el solver propio y el intento con transportista. Se ordenan por hora prometida, el más urgente primero. Para cada pedido, por turno, se reúnen candidatos: el mejor repartidor propio disponible —capacidad comprobada, ventana de entrega no revisada—; los transportistas descartados antes en este ciclo, reconsiderados solo si han liberado capacidad. Se elige el candidato que pueda empezar la entrega antes. Si no hay ninguno, el pedido se queda sin asignar y se marca como Crítico o Pendiente. Si ni siquiera Last-Option puede colocarlo El pedido se clasifica como Crítico (ya pasada su hora prometida) o Pendiente (aún no va tarde). La siguiente ejecución programada lo reintenta desde cero, incluido un intento nuevo con transportista externo. Contrapartida a tener en cuenta: como Last-Option relaja la comprobación normal de tiempo de entrega para los repartidores propios, un pedido colocado por esta vía puede acabar con una estimación de llegada algo más tardía de lo que permitiría la tolerancia normal. Es intencionado: mejor ponerlo en marcha con un pequeño retraso que dejarlo sin asignar. Clasificación y prioridad de repartidores Los repartidores se ordenan por tres factores: su estado actual, su tipo y lo cerca que están de la tienda. Por estado Estado Descripción Idle (libre) No tiene ningún pedido asignado; totalmente disponible Waiting (esperando) Tiene pedidos asignados, pero ninguno ha salido aún de la tienda On The Way (en ruta) Tiene al menos un pedido ya en reparto Por tipo Tipo Descripción Prioridad Repartidor interno Tu personal de reparto dedicado La más alta Personal de cocina que reparte Personal de cocina que también puede repartir cuando hace falta Media Contratado externo de flota propia Repartidor de flota propia contratado externamente Más baja Transportista externo Plataforma de reparto externa Según las reglas de zona y configuración Estado y ubicación combinados La "zona de tienda" son unos 350 metros alrededor de la tienda. Categoría Estado Ubicación Prioridad 1 Libre En la tienda La más alta 2 Libre Lejos de la tienda Alta 3 Esperando En la tienda Media 4 Esperando Lejos de la tienda Más baja 5 En ruta Repartiendo La más baja El razonamiento es directo: un repartidor libre que ya está en la tienda es la opción más rápida posible, así que siempre se prefiere. Un repartidor que ya está repartiendo es el último recurso, porque asignarle un pedido nuevo significa añadirlo a una ruta existente. Dónde importa realmente "en la tienda o lejos" Esta distinción no se usa solo para la tabla anterior. Cambia decisiones reales en varios sitios: Velocidad de asignación. Un repartidor libre en la tienda se asigna al instante, sin más comprobaciones. Uno libre pero lejos debe pasar antes una comprobación de tiempo de entrega. Prioridad de reasignación. Es uno de los factores principales al decidir si un pedido cambia de repartidor — ver Cuándo un pedido cambia de repartidor. Registro de llegada. Cuando se confirma que un repartidor está en la tienda en el momento de asignarle un pedido, se registra una marca de llegada en ese pedido. Alarmas de retraso en recogida. Esa misma determinación dispara la alarma que avisa de que un repartidor lleva demasiado tiempo en la tienda sin salir con un pedido listo. Detección de repartidor bloqueado. Un repartidor considerado "en la tienda" nunca se marca como bloqueado: estar en la tienda es un estado válido y esperado. Estado del repartidor en las pantallas operativas. Etiquetas como "En tienda", "En ruta" o "Fuera" salen de esta misma comprobación. Si el dispatcher se reejecuta o no. Si el estado "en tienda" de ningún repartidor ha cambiado desde la última ejecución —y todo lo demás sigue igual—, la tienda puede omitirse. Ver El ciclo de asignación, paso a paso. Cambio previsto, actualmente en pruebas internas. Hoy, determinar si un repartidor está "en la tienda" usa una distancia de conducción estimada comparada con el umbral de ~350 m, no una distancia en línea recta. Se va a sustituir por un cálculo en línea recta, porque una estimación de ruta puede ser imprecisa justo alrededor de una tienda. El cambio todavía no está activo en todas las cuentas; esta página se actualizará cuando se publique. Clientes prioritarios (Platinum) Esta página solo aplica si tu cuenta tiene activada la evaluación de clientes prioritarios (Platinum). No forma parte del flujo principal: funciona como una capa adicional por encima de él, solo en las tiendas donde esté activada y solo cuando haya pedidos Platinum que considerar. Qué hace Cuando está activada, el dispatcher ejecuta una doble simulación para cada tienda antes de decidir: Ejecución normal — los pedidos se procesan en su orden habitual. Ejecución Platinum primero — los pedidos Platinum pasan al principio de la cola y reciben algo más de flexibilidad en el tiempo de entrega. Se comparan ambos resultados y el dispatcher elige el que mejor protege a los pedidos Platinum sin perjudicar en exceso a los pedidos normales. Cómo se toma la decisión ¿Hay pedidos Platinum en riesgo en la ejecución normal? No → se usa la ejecución normal tal cual. La segunda simulación ni siquiera se lanza. Sí → se continúa. Se ejecuta la simulación Platinum primero. Se cuenta cuántos pedidos normales quedarían nuevamente perjudicados. Por debajo del umbral de impacto → se usa el resultado Platinum primero. Igual o por encima del umbral → se descarta y se usa el resultado normal. Un pedido Platinum se considera "en riesgo" si no se asignaría en absoluto, o si su entrega estimada quedaría fuera de una ventana aceptable de riesgo de reembolso. Qué puedes configurar Ajuste Qué controla Activar / desactivar Enciende o apaga toda la capa Minutos de margen Flexibilidad adicional de tiempo de entrega concedida específicamente a la simulación Platinum primero Umbral de impacto Número máximo de pedidos normales que pueden quedar nuevamente perjudicados antes de descartar el resultado Platinum primero Lo que deliberadamente no hace La protección Platinum funciona únicamente a través de la doble simulación anterior. No hay reequilibrado de rutas existentes para hacer sitio a un pedido Platinum: ese límite y los demás están listados en Límites conocidos del sistema. El estado Platinum tampoco interviene en la reasignación ordinaria (Cuándo un pedido cambia de repartidor) ni en el orden de la cola de Last-Option (Last-Option: la red de seguridad final). Si la capa no está activada, los pedidos Platinum se tratan exactamente igual que cualquier otro pedido. Cuándo un pedido cambia de repartidor Antes de cada intento de asignación, el dispatcher comprueba si un pedido ya asignado a un repartidor debería pasar a otro distinto, pero solo por prioridad del repartidor, nunca por lo urgente o importante que sea el pedido en sí. Cuándo se permite una reasignación Situación Resultado El pedido aún no tiene repartidor Se asigna libremente El repartidor asignado ya no está disponible Se asigna libremente Se vuelve a considerar al mismo repartidor No hace falta cambiar nada El nuevo repartidor tiene mejor prioridad Se reasigna El repartidor actual tiene prioridad igual o mejor Se mantiene La prioridad se define en Clasificación y prioridad de repartidores. Escenarios habituales Repartidor actual Repartidor candidato Resultado Externo Interno Se reasigna — mejor tipo Libre, en la tienda Libre, en la tienda Sin cambio — igual de buenos Libre, lejos de la tienda Libre, en la tienda Se reasigna — mejor ubicación Esperando, en la tienda Libre, lejos de la tienda Sin cambio — el actual sigue siendo mejor Externo, lejos de la tienda Externo, lejos de la tienda Sin cambio — no hay mejora real Pasar la comprobación de prioridad no garantiza la entrega Pasarla solo significa que el dispatcher intentará la asignación. Todavía tiene que verificar que el nuevo repartidor puede entregar a tiempo: Situación del repartidor ¿Se comprueba el tiempo de entrega? Libre, en la tienda No — siempre es la opción más rápida posible Libre, lejos de la tienda Sí Esperando (ya tiene pedidos) Sí — debe poder entregarlos todos En ruta Sí — se recalcula la ruta completa Si la comprobación de tiempo falla, la asignación se revierte y el pedido queda disponible para el siguiente repartidor de la lista. No se pierde. Reglas que nunca cambian Los pedidos que ya están en reparto —el repartidor ha salido de la tienda— nunca se reasignan. Los pedidos asignados manualmente por un empleado, y no por el dispatcher, quedan completamente bloqueados frente a la reasignación automática. Un repartidor interno puede quitarle un pedido a uno externo. Al revés nunca se permite. Planes de programación: cómo funciona el ciclo automático El dispatcher se ejecuta según una programación que defines por tienda, o por grupo de tiendas. La programación y el comportamiento de asignación se configuran juntos, en el mismo plan. Cómo funciona el ciclo automático Cada plan define cada cuánto debe ejecutarse el dispatcher para un grupo de tiendas. Opcionalmente puedes restringir la ejecución a una franja horaria diaria, por ejemplo solo entre las 08:00 y las 23:00. Si una ejecución falla, el ciclo no se rompe: la siguiente se programa automáticamente mientras el plan siga activo. Si una ejecución cae fuera de la franja configurada, se omite en ese ciclo, pero la programación continúa y se reanuda con normalidad al volver dentro de la franja. Ajustes de programación Ajuste Por defecto Qué hace Nombre del plan — Etiqueta para identificar el plan. Opcional, texto libre Tiendas — Las tiendas a las que aplica el plan. Un plan puede cubrir varias Activo Desactivado Si el ciclo automático está funcionando para este plan Intervalo de ejecución 60 segundos Cada cuánto se reejecuta el dispatcher. Rango permitido: 60–300 segundos Franja horaria diaria Ninguna Hora de inicio y fin opcionales. Si no se define, el plan funciona 24/7 Última ejecución — Solo lectura. Cuándo se ejecutó realmente este plan por última vez Ajustes de comportamiento de asignación Ajuste Por defecto Qué hace Modo de asignación Automático Fuerza Modo PG o Google OR-Tools, o deja la elección automática (recomendado) Estrategia de ruta Automática Solo relevante cuando se usa Google OR-Tools Tiempo de parada en cliente 5 min Tiempo adicional contabilizado en cada parada en casa del cliente Tiempo de parada en tienda 3 min Tiempo adicional contabilizado en cada parada en tienda Máximo de pedidos por repartidor 3 Cuántos pedidos como máximo se agrupan en un repartidor propio. Rango: 1–5 Margen para repartidor desconectado 5 min Cuánto se tolera a un repartidor brevemente desconectado antes de considerarlo no disponible Aplicar resultados Activado Si se desactiva, la ejecución es solo una simulación y no cambia nada Margen de tiempo extra 10 min Holgura adicional permitida. Solo relevante para Google OR-Tools Mínimo de pedidos para aceptar un plan 0 Cuántos pedidos debe asignar Google OR-Tools con éxito para que se acepte su plan Clientes prioritarios (Platinum) Desactivado Activa y configura la capa Platinum — ver Clientes prioritarios (Platinum) Estimaciones con tráfico Desactivado Estimaciones de tiempo más precisas, con mayor coste Tipo de estimación de tráfico — Optimista, pesimista o estimación más probable. Solo se usa si las estimaciones con tráfico están activas Reutilización de tiempos de regreso — Avanzado. Controla con qué agresividad se reutilizan tiempos de repartidor a tienda ya calculados en lugar de recalcularlos Ajustes de reparto a nivel de tienda Otros dos ajustes viven en la tienda, no dentro del plan de programación. Se configuran desde los ajustes de dispatcher de la tienda y controlan cuánto retraso se tolera antes de considerar un pedido en riesgo. Ajuste Aplica a Qué hace Tolerancia de retraso de flota propia Tu flota propia — internos y contratados, tratados por igual La tolerancia usada al comprobar si tu flota propia puede entregar a tiempo. Si una tienda no tiene ningún repartidor interno, este valor se sustituye automáticamente por la tolerancia de transportistas de abajo, para que una tienda 100 % contratada no quede sujeta a un criterio más estricto del que puede cumplir Tolerancia de retraso de transportistas Transportistas externos La tolerancia usada para decidir si se puede confiar en que un transportista entregue a tiempo. Se aplica siempre a los transportistas, tenga o no la tienda repartidores internos La capacidad funciona distinto que la tolerancia de retraso. Tu flota propia tiene un límite por repartidor: cada vehículo lleva como máximo el número configurado a la vez. Los transportistas externos tienen una única bolsa compartida por tienda y por empresa transportista: por ejemplo "este transportista puede llevar 10 pedidos simultáneos en esta tienda", tenga los mensajeros que tenga en la calle. Por eso un transportista puede aparecer como lleno en una tienda aunque parezca que tiene repartidores de sobra: el límite está puesto a nivel de empresa, no por mensajero. Activar y pausar un plan Esta es la parte que más confusión genera. Acción ¿Arranca el ciclo? ¿Detiene el ciclo? Crear un plan con Activo encendido Sí — Crear un plan con Activo apagado No — queda inactivo — Editar un plan existente y encender Activo Sin efecto — solo actualiza el valor guardado — Editar un plan existente y apagar Activo — Sí, a partir de la siguiente ejecución Usar la acción dedicada Activar Sí — Usar la acción dedicada Pausar — Sí Eliminar un plan — Sí Recomendación: no confíes en editar el campo Activo desde un formulario de edición general. Usa siempre las acciones dedicadas Activar y Pausar: editar el campo directamente puede dejar un plan marcado como activo pero sin estar funcionando realmente. Dónde vive cada ajuste Más allá del plan de programación, hay varias partes del producto con ajustes que afectan directamente a las decisiones del dispatcher. Esta página los lista según dónde irías realmente a cambiarlos, e incluye solo los ajustes editables. Para el plan de programación en sí, ver Planes de programación: cómo funciona el ciclo automático. Zonas Se editan desde los ajustes de disponibilidad de repartidores de la zona. Ajuste Qué controla Prioridad propia frente a transportista Si los pedidos de esta zona van directamente a transportistas externos primero, o empiezan por tu flota propia como es habitual Regla de orden de transportistas Cuando hay más de un transportista disponible para la zona, en qué orden se prueban: tu orden configurado, menor coste primero, o menor tiempo primero Transportistas permitidos Qué transportistas pueden recibir pedidos de esta zona Tipos de repartidor propio permitidos Qué tipos de repartidor propio pueden repartir en esta zona. Dejarlo vacío bloquea por completo a todos los repartidores propios en la zona Margen de tiempo adicional Minutos extra añadidos al tiempo previsto en casa del cliente para los pedidos de esta zona, por ejemplo para compensar accesos difíciles Las zonas también muestran un campo de desviación del tiempo de entrega, junto a campos de precios como gastos de envío o importes mínimos de pedido. Son editables en la misma pantalla pero no los usa el dispatcher: la desviación del tiempo de entrega la consume la web de pedidos, no la lógica de asignación. Tiendas Se editan desde los ajustes de dispatcher de la tienda. Ajuste Qué controla Tolerancia de retraso propia / de transportistas Ver Planes de programación: cómo funciona el ciclo automático para entender cómo funcionan juntas Distancia máxima para personal de cocina Hasta dónde se puede enviar a un repartidor de cocina desde la tienda. Ponlo a cero para eliminar la restricción Las tiendas también tienen horarios de apertura y cierre, por día y por turno, configurados en otra parte del producto. El dispatcher no los usa. Transportistas externos: ajustes generales Se editan desde la configuración general del transportista. Aplican a toda la empresa, en todas las tiendas. Ajuste Qué controla Activo Interruptor principal. Mientras esté desactivado, este transportista nunca se considera, en ninguna tienda Tipo de pedido / canal de venta Restringe a qué tipos de pedido y canales de venta se le puede ofrecer Punto de integración La conexión usada para llegar a la plataforma del transportista. Normalmente se configura una sola vez, en el alta Coste de entrega por defecto Se usa para estimar y ordenar a este transportista cuando no hay precio en vivo Margen mínimo de preparación Cuánto tiempo debe faltar todavía para que un pedido pueda ofrecérsele Importe máximo contra reembolso Los pedidos en efectivo por encima de este importe no se le ofrecen Acepta tarjeta Si se le pueden ofrecer pedidos pagados con tarjeta Familias de producto excluidas Categorías de producto —por ejemplo artículos con restricción de edad— que nunca se le ofrecen Distancia máxima Distancia máxima de tienda a cliente para la que se le ofrecen pedidos Ventana de cancelación gratuita Minutos tras la asignación durante los cuales el pedido todavía puede recuperarse sin penalización. Ver Revisión de pedidos ya asignados a un transportista Descripción Etiqueta interna del transportista En este nivel también existe un ajuste de "tiempo de entrega por defecto", pero ya no se usa: se movió a los ajustes por tienda de abajo para poder afinarlo con más precisión. Transportistas externos: ajustes por tienda Se editan desde los ajustes del transportista para una tienda concreta. Añaden detalle específico de tienda sobre los ajustes generales anteriores, para el mismo transportista. Ajuste Qué controla Tiempo máximo para llegar a la tienda Si el repartidor del transportista no llega dentro de este tiempo tras aceptar, el pedido se cancela y se reasigna Tiempo estimado para llegar a la tienda (alternativo) Se usa cuando no hay estimación en vivo para este transportista en esta tienda Tiempo máximo para aceptar Si el transportista no acepta el pedido dentro de este tiempo, se libera para reasignación Tiempo de entrega por defecto La estimación de entrega que se usa cuando no hay media histórica para este transportista en esta tienda Agrupación permitida Si el repartidor de este transportista puede llevar más de un pedido por viaje en esta tienda Capacidad en esta tienda Bolsa compartida para este transportista en esta tienda, no un límite por mensajero Horario de operación Días y turnos en los que este transportista está disponible en esta tienda. Fuera de ese horario se omite por completo Reglas de referencia rápida Resumen en una página de las reglas que más se consultan. Cada una enlaza con la página que la explica a fondo. Regla Comportamiento Pedidos ya en reparto Nunca se revalidan ni se reasignan; solo se usan para estimar cuándo vuelve el repartidor Pedidos aún sin salir Pueden reasignarse si aparece un repartidor mejor Comprobaciones de reasignación Se ejecutan antes de cada intento de asignación Criterio de reasignación Solo prioridad del repartidor; nunca lo urgente que sea el pedido Pedidos asignados manualmente Totalmente bloqueados frente a la reasignación automática Repartidores internos frente a externos Los internos pueden quitar pedidos a los externos. Al revés, nunca Intentos por ciclo Exactamente uno con flota propia y uno con transportista. La zona decide el orden, no la cantidad Clientes prioritarios (Platinum) No se tienen en cuenta en la reasignación ordinaria; solo dentro de su propia capa opcional Pedido ya con un transportista Todavía puede recuperarse para la flota propia antes de que el transportista lo recoja, si se está dentro de la ventana de cancelación gratuita y hay hueco Un pedido con transportista nunca se cancela a ciegas Nunca se cancela nada sin tener ya un sustituto confirmado Sin asignar al final de un ciclo Se marca como Crítico o Pendiente y se reintenta desde cero en la siguiente ejecución programada Dónde ampliar Tema Página Orden de repartidores Clasificación y prioridad de repartidores Reglas de reasignación Cuándo un pedido cambia de repartidor Recuperar un pedido de un transportista Revisión de pedidos ya asignados a un transportista El último intento Last-Option: la red de seguridad final Límites de diseño Límites conocidos del sistema Límites conocidos del sistema Son límites de diseño intencionados, no fallos. Conocerlos mantiene las expectativas realistas y ahorra tiempo cuando algo parece incorrecto pero no lo es. No hay reequilibrado proactivo El dispatcher nunca saca un pedido normal de la ruta de un repartidor solo para hacer sitio a un pedido Platinum. La protección Platinum funciona únicamente mediante la doble simulación descrita en Clientes prioritarios (Platinum). Los pedidos en reparto están congelados Una vez que un repartidor ha salido de la tienda con un pedido, el dispatcher no vuelve a tocar ese pedido. Se sigue usando para estimar cuándo quedará libre ese repartidor, pero no puede reasignarse, revalidarse ni cancelarse desde el algoritmo. Las decisiones son locales, no globales Cada decisión de asignación compara al repartidor actual con un repartidor candidato. El dispatcher no intenta encontrar una solución óptima global para todos los repartidores y todos los pedidos a la vez. Por eso dos decisiones que individualmente parecen correctas pueden, juntas, resultar mejorables vistas en retrospectiva. La urgencia del pedido no es un criterio de reasignación Solo cuenta la prioridad del repartidor al decidir si se reasigna. Un pedido normal muy urgente no se adelanta por sí mismo a otro menos urgente. Ver Cuándo un pedido cambia de repartidor. Last-Option puede superar la tolerancia normal de retraso Como último recurso, un pedido puede colocarse con una estimación de llegada algo más tardía de lo que permitiría la tolerancia normal, en lugar de quedarse sin asignar. Ver Last-Option: la red de seguridad final. Una tienda sin cambios se omite Si nada ha cambiado en una tienda desde la última ejecución, se omite en lugar de reprocesarse. Una ejecución que parece "no haber hecho nada" en una tienda tranquila está funcionando correctamente — ver El ciclo de asignación, paso a paso. Visión de principio a fin El recorrido completo de los pedidos de una tienda en un solo ciclo, reuniendo todo lo de este capítulo. Un ciclo, una tienda Obtener pedidos y repartidores de esta tienda. Aquí se revisan los pedidos que siguen con un transportista externo de un ciclo anterior — ver Revisión de pedidos ya asignados a un transportista. ¿Es una zona con transportista primero? Sí → se prueba primero con un transportista externo. Si lo acepta, ese pedido está resuelto. No → se pasa directamente al paso 3. Solver propio — Modo PG o Google OR-Tools, elegido automáticamente salvo que fuerces uno. Si los clientes prioritarios (Platinum) están activados y aplican, este paso se sustituye por la doble simulación descrita en Clientes prioritarios (Platinum). Todo lo anterior y lo posterior se mantiene igual. Reintento con repartidores libres de la tienda que el solver no haya usado. Respaldo con transportista externo, pero solo para pedidos de zona estándar. Un pedido de una zona con transportista primero ya tuvo su turno y no recibe otro. Posprocesado — se clasifican los resultados y se identifican los pedidos agrupables en un mismo repartidor. ¿Sigue sin asignar? No → guardar y notificar. Sí → el último intento flexible descrito en Last-Option: la red de seguridad final. Si lo coloca, guardar y notificar. Si no, el pedido se marca como Crítico o Pendiente y el siguiente ciclo lo reintenta desde cero. Guardar y notificar — se escriben las asignaciones, se envía la notificación a los repartidores y se procesan las alarmas. Las dos cosas que conviene recordar Cada pedido recibe exactamente dos intentos por ciclo —uno con flota propia y otro con transportista externo—, más la red de seguridad Last-Option al final. La configuración de la zona cambia el orden de esos dos intentos, nunca la cantidad. Nunca se cancela nada sin un sustituto preparado. Un pedido que ya está con un transportista solo se recupera cuando se ha encontrado una asignación real en la flota propia y la cancelación con el transportista ha tenido éxito. Páginas relacionadas El ciclo de asignación, paso a paso — los cinco pasos en detalle Los tres mecanismos de asignación — cómo se combinan Modo PG, Google OR-Tools y transportistas Last-Option: la red de seguridad final — qué ocurre en el paso 7 Límites conocidos del sistema — lo que este flujo deliberadamente no hace Reportar una incidencia del dispatcher Si algo parece incorrecto —un pedido asignado al repartidor "equivocado", retrasado o atascado sin asignar—, la forma más rápida de resolverlo es reportarlo con la información adecuada a la primera. Las capturas por sí solas, sobre todo de pantallas que no vienen al caso, rara vez ayudan. Los datos concretos y coherentes entre sí, sí. Qué incluir Dato Por qué importa Request ID Identifica la ejecución exacta del dispatcher implicada. Aparece en el resumen de ejecución de la vista de detalle del plan, en el Planificador, y tiene el aspecto req_1785152470621_6v3uobxk86e. Es lo más útil que puedes aportar, más incluso que la tienda, porque apunta a una única ejecución concreta ID de pedido / número de ticket Sin él no se puede rastrear el pedido afectado Tienda De qué tienda es la ejecución afectada Fecha y hora aproximada Acota qué ciclo hay que revisar Qué esperabas Por ejemplo: "debería haber ido a un repartidor libre en la tienda", "debería haberse quedado con el repartidor original" Qué ocurrió realmente Por ejemplo: "estuvo 12 minutos sin asignar", "se reasignó a otro repartidor", "fue a un transportista en lugar de a nuestra flota" ¿Puntual o recurrente? Un pedido aislado y un patrón en muchos pedidos apuntan a causas muy distintas ¿Era un pedido de cliente prioritario (Platinum)? Ayuda a descartar o confirmar la capa Platinum opcional Cambios de configuración recientes Una zona, tienda o transportista modificado poco antes ayuda a separar causa de coincidencia Qué evidencia ayuda de verdad Una captura de la pantalla de detalle del pedido concreto, con las marcas de tiempo y la asignación actual, no de un panel o listado sin relación. Si hay varios pedidos afectados, lista todos sus identificadores en lugar de describirlos en general ("varios pedidos a la hora de comer"). Si sospechas que se saltó a un repartidor o transportista concreto, nómbralo, en lugar de decir "no eligió al correcto". Qué evitar Reportar sin el Request ID o sin el ID de pedido. Son los dos datos que nada más puede sustituir. Afirmaciones generales como "el algoritmo está roto" o "hoy no funciona", sin pedido, tienda y hora concretos. Adjuntar muchas capturas sin relación en lugar de la única pantalla relevante para el pedido. Antes de reportar Hay dos comportamientos que se confunden con frecuencia con fallos. Comprobarlos primero puede ahorrar una ida y vuelta: Una tienda en la que nada ha cambiado se omite, no se procesa — ver El ciclo de asignación, paso a paso. Editar el campo Activo de un plan no arranca ni detiene el ciclo. Usa las acciones Activar y Pausar — ver Planes de programación: cómo funciona el ciclo automático. Cuanto más claro y concreto sea el reporte, antes podrá cruzarse con la ejecución real que produjo el comportamiento que describes. Preguntas frecuentes del dispatcher ¿Por qué un pedido cambió de repente de repartidor? Quedó disponible un repartidor con mejor prioridad: por ejemplo uno libre en la tienda, o uno interno donde antes solo había uno externo. Ver Cuándo un pedido cambia de repartidor para las reglas exactas. ¿Por qué un pedido sigue sin asignar después de una ejecución? En condiciones normales todo pedido debería acabar asignado: a tu flota propia, a un transportista, mediante una pasada de respaldo o a través de la red de seguridad Last-Option. Un pedido que sigue sin asignar al final de un ciclo suele apuntar a una de estas causas: Falta real de capacidad — ningún repartidor disponible, propio o externo, puede llegar al cliente dentro de la ventana de entrega aceptada. Desajuste de zona y tipo de repartidor — la zona del pedido no permite el tipo de repartidores disponibles en ese momento. Ten en cuenta que dejar vacíos los tipos de repartidor propio permitidos en una zona los bloquea a todos. Datos incompletos del pedido — por ejemplo coordenadas de entrega ausentes o inválidas. Un problema técnico durante esa ejecución — conviene reportarlo si se repite en la misma tienda. Se reintentará automáticamente en el siguiente ciclo, pero si ocurre a menudo merece investigarse en lugar de darlo por normal. ¿Qué es Last-Option? ¿Significa que mi pedido recibe peor servicio? Last-Option es una red de seguridad final, dentro del mismo ciclo, para pedidos que el proceso normal no ha podido colocar. Relaja la comprobación habitual de tiempo de entrega para evitar dejar un pedido sin asignar, por lo que puede aceptar una estimación de llegada algo más tardía, pero solo cuando no existe mejor alternativa y solo después de que el proceso normal haya tenido su oportunidad completa. Ver Last-Option: la red de seguridad final. ¿Por qué no puedo activar o desactivar un plan simplemente editándolo? Editar un plan solo actualiza su configuración guardada; no arranca ni detiene el ciclo automático. Usa siempre las acciones dedicadas Activar y Pausar. Ver Planes de programación: cómo funciona el ciclo automático. ¿Qué cambia realmente al activar los clientes prioritarios (Platinum)? Añade un paso de evaluación que intenta proteger a los pedidos Platinum de entregarse tarde, pero solo si hacerlo no perjudica a demasiados pedidos normales al mismo tiempo. Si no está activado, los pedidos Platinum se tratan exactamente igual que cualquier otro. Ver Clientes prioritarios (Platinum). ¿Cada cuánto se ejecuta realmente el dispatcher? Según el intervalo que hayas puesto en el plan: mínimo 60 segundos, máximo 300. Si una ejecución falla, la programación no se rompe; la siguiente se programa con normalidad. ¿Un pedido que ya está con un transportista externo puede volver a mi flota propia? Sí, pero solo antes de que el repartidor del transportista haya salido de la tienda con él, y solo si se cumplen dos condiciones: el pedido sigue dentro de la ventana de cancelación gratuita del transportista, y hay un repartidor propio con capacidad disponible en ese momento. Aun así, el cambio solo se produce si la cancelación con el transportista tiene éxito primero. Si algo de eso no se cumple, el pedido simplemente se queda con el transportista y no cambia nada. Ver Revisión de pedidos ya asignados a un transportista. Un transportista parece tener repartidores de sobra, ¿por qué aparece como "lleno" en mi tienda? La capacidad de un transportista es una única bolsa compartida por tienda y por empresa transportista, no un límite por mensajero. Ver la nota sobre capacidad en Planes de programación: cómo funciona el ciclo automático. ¿Por qué una ejecución parece no haber hecho nada en una de mis tiendas? Si nada ha cambiado en esa tienda desde la última ejecución, se omite deliberadamente en lugar de reprocesarse. Ver El ciclo de asignación, paso a paso. Pausar y reanudar el reparto Necesitas: Pausar / reanudar reparto — lo tienen admin, hub_manager, dispatcher_manager y branch_manager. Consultar el estado solo requiere acceso de lectura a tiendas. Pausar el reparto detiene la entrada de nuevos pedidos a domicilio en una tienda durante un tiempo determinado, sin cerrar la tienda ni tocar los pedidos ya en curso. Pausar una tienda Abre los controles de reparto de la tienda. Elige Pausar e indica la duración en minutos. Confirma. La pausa está acotada en el tiempo: cuando se cumple la duración, el reparto se reanuda solo. No hace falta acordarse de volver a activarlo. Si la tienda ya está pausada, volver a pausar no acumula tiempo. Se te indicará que ya está pausada en lugar de ampliarla silenciosamente; consulta antes el estado actual si tu intención es alargar una pausa. Reanudar antes de tiempo Reanudar termina la pausa de inmediato, antes de cumplirse la duración. Úsalo cuando el motivo de la pausa desaparece antes de lo previsto: una acumulación en cocina que se resuelve, repartidores que se incorporan al turno. Consultar el estado actual La vista de estado responde a dos preguntas: si la tienda está pausada ahora mismo y, en ese caso, qué la va a reactivar. Consúltala antes de pausar, para no confundir una pausa existente con una nueva. Trabajos de pausa activos Cada pausa crea un trabajo que reanudará la tienda cuando se cumpla su tiempo. Por tienda — ver el trabajo activo de una tienda y cuándo se reanudará. De toda la cadena — ver todos los trabajos de pausa activos a la vez. Útil durante una incidencia, cuando varias tiendas se han pausado en momentos distintos y por personas distintas. Emergencia: cancelar todas las pausas Existe una acción para toda la cadena que cancela de golpe todos los trabajos de pausa activos. Es un control de emergencia, no rutinario. Afecta a todas las tiendas pausadas en ese momento, incluidas las que otras personas hayan pausado por motivos que quizá desconozcas. Consulta antes el listado de trabajos de toda la cadena para saber exactamente qué vas a reactivar, y avisa a las tiendas afectadas. Úsalo cuando se han aplicado pausas en bloque por error, o cuando una incidencia ha terminado y necesitas volver a poner todo en marcha sin entrar tienda por tienda. Lo que pausar no hace No detiene el dispatcher en esa tienda. Los pedidos ya aceptados se siguen asignando con normalidad — ver El ciclo de asignación, paso a paso. No cambia los horarios de apertura de la tienda, que se configuran en otro sitio y no los usa el dispatcher. No cancela ni reasigna pedidos existentes. Qué puedes ver y qué no Las acciones por tienda quedan filtradas por tu scope: solo puedes pausar, reanudar o consultar tiendas que estén dentro de él. El listado de trabajos de toda la cadena y la cancelación de emergencia no son específicos de una tienda, así que se limitan a roles con control de reparto sin restricción por tienda. Zonas de reparto Necesitas: Zonas de reparto — ver para consultar, Zonas de reparto — editar para cambiar algo. Lo tienen admin, dispatcher_manager y polygon_manager. Una zona es un área de reparto con un polígono en el mapa y un conjunto de reglas que deciden qué repartidores y transportistas la atienden. Las zonas son la mayor palanca sobre el comportamiento del dispatcher — ver Dónde vive cada ajuste para qué hace cada regla. Consultar zonas El listado muestra todas las zonas de la marca, con su tienda y si tienen polígono dibujado. Una vista aparte muestra las zonas junto a su configuración de disponibilidad de repartidores, que es donde se ve de un vistazo si una zona está configurada para probar primero con transportistas. La vista de mapa necesita una clave de Maps configurada para la marca. Si el mapa aparece en blanco mientras el listado sí muestra zonas, es un problema de configuración, no de zonas ausentes. Editar la disponibilidad de repartidores de una zona Aquí se controlan las reglas que el dispatcher usa realmente: prioridad de flota propia frente a transportista, la regla de orden de transportistas, qué transportistas se permiten, qué tipos de repartidor propio se permiten y el margen de tiempo adicional. La trampa que conviene repetir: dejar vacíos los tipos de repartidor propio permitidos no significa "todos los tipos". Bloquea a todos los repartidores propios de la zona, y sus pedidos solo podrán ir a transportistas. Es la causa más habitual de que todos los pedidos de una zona acaben siendo externos. Dibujar y eliminar polígonos El polígono de una zona define su límite geográfico. Crear o actualizar un polígono dibujándolo en el mapa y guardando. Eliminar un polígono deja la zona sin límite. Una zona sin polígono no puede corresponder con ninguna dirección, así que no le llegarán pedidos. Eliminar el polígono equivale, por tanto, a desactivar la zona, aunque la zona siga existiendo. Mover una zona a otra tienda Una zona —junto con su polígono— puede migrarse a otra tienda. Úsalo cuando una tienda se traslada o cuando un área se reasigna entre tiendas, en lugar de eliminar la zona y volver a dibujarla, lo que haría perder el límite. Cambios masivos por fichero Para cualquier cosa que vaya más allá de unas pocas zonas, usa las herramientas de fichero. Acción Qué hace Exportar zonas Descarga la configuración actual de zonas en CSV. Exporta siempre antes de un cambio masivo: es tu marcha atrás Importar zonas Aplica configuración de zonas desde un CSV Importar polígonos desde KML Carga masivamente límites de zona desde un fichero KML, el formato que exportan las herramientas de mapas La importación KML es parcial por diseño: las filas válidas se importan aunque otras fallen. Obtienes lo que funcionó más un informe de lo que no, en lugar de un rechazo total. Lee el informe: una importación parcialmente correcta deja el resto de tus zonas intactas y todavía pendientes de atención. Cambio de zonas por horario Las zonas pueden cambiar según un horario, de modo que un área se atienda de forma distinta a distintas horas del día. Estas reglas se cargan desde un CSV. A diferencia de la importación KML, esta es de todo o nada: si alguna fila es inválida, no se aplica nada. Corrige el fichero y vuelve a importar. Antes y después de un cambio masivo Exporta primero. La exportación es la única marcha atrás que tienes. Aplica la importación. Lee el resultado con atención, especialmente en KML, donde el éxito parcial es lo normal. Comprueba una zona de muestra en el mapa. Confírmalo con un pedido real en esa área, si puedes. Las copias de seguridad de zonas se conservan y se pueden restaurar — ver Copias de seguridad y restauración de configuración. Transportistas externos Necesitas: Transportistas — ver para consultar, Transportistas — editar para cambiar. Lo tienen admin, dispatcher_manager y third_party_manager. Los ajustes por tienda también son accesibles para hub_manager. La configuración de transportistas existe en dos niveles, y saber cuál estás editando es la mitad del trabajo. Nivel Aplica a Ajustes típicos Marca Todas las tiendas de la marca Si el transportista está activo, reglas de pago, exclusiones de producto, distancia máxima, ventana de cancelación gratuita Tienda Un transportista, en una tienda Límites de tiempo, capacidad en esa tienda, horario de operación, agrupación, tiempo de entrega por defecto Ambos niveles están detallados campo a campo en Dónde vive cada ajuste. Configuración a nivel de marca La vista de marca lista todos los tipos de transportista disponibles y su configuración actual. Editar aquí cambia ese transportista en todas partes. El interruptor principal Activo es de marca. Desactivar aquí un transportista lo retira de todas las tiendas de inmediato, digan lo que digan los ajustes por tienda. Si solo quieres dejar de usarlo en una ubicación, cambia los ajustes de esa tienda. Configuración a nivel de tienda La vista por tienda muestra los mismos transportistas con sus ajustes para esa tienda concreta. Aquí se afina lo que realmente varía según la ubicación: cuánto tiempo tiene el transportista para aceptar, cuánto para llegar a la tienda, cuántos pedidos simultáneos puede llevar allí y en qué horario opera. Dos de ellos rigen el comportamiento descrito en Revisión de pedidos ya asignados a un transportista: Tiempo máximo para aceptar y Tiempo máximo para llegar a la tienda. Se parecen y comparan cosas completamente distintas; esa página tiene la comparación. La capacidad es por empresa, no por mensajero La capacidad de un transportista en una tienda es una única bolsa compartida para esa empresa transportista. "Diez pedidos simultáneos en esta tienda" son diez, tenga los mensajeros que tenga cerca. Esta suele ser la explicación cuando un transportista parece ocupado en su propia aplicación pero aparece como lleno para el dispatcher. Cambios masivos por fichero Para trabajos de transportistas a nivel de cadena, usa las herramientas de fichero en lugar de editar tienda por tienda. Acción Qué hace Exportar configuración por tienda Descarga los ajustes por tienda actuales en CSV. Exporta antes de cada cambio masivo Importar configuración por tienda Aplica ajustes por tienda desde un CSV Las copias de seguridad de la configuración de transportistas se conservan y se pueden restaurar — ver Copias de seguridad y restauración de configuración. Cuando a un transportista nunca se le ofrecen pedidos Repasa esto antes de reportar un problema. Un transportista se omite por completo si se cumple cualquiera de estas condiciones: Está desactivado a nivel de marca. La hora actual está fuera de su horario de operación para esa tienda. Su bolsa de capacidad en esa tienda está llena. La zona del pedido no lo incluye entre los transportistas permitidos — ver Zonas de reparto. El pedido falla alguna de sus comprobaciones estructurales: tipo de pago, una familia de producto excluida, o la distancia. La lista ordenada completa de esas comprobaciones está en ¿Cuándo existe una alternativa? Ajustes de reparto de la tienda Necesitas: Configuración de tienda — ver para consultar, Configuración de tienda — editar para cambiar. Lo tienen admin, hub_manager, dispatcher_manager y branch_manager. Cada tienda tiene sus propios ajustes de dispatcher, separados del plan de programación que rige cuándo se ejecuta. Son dos cosas que se configuran en sitios distintos y se confunden con facilidad: el plan decide cuándo y cómo se ejecuta el dispatcher, la tienda decide cuánta tolerancia se aplica en esa ubicación. Listado de tiendas El listado muestra todas las tiendas dentro de tu scope. Un branch_manager ve la suya; un rol de cadena las ve todas. Si falta una tienda que esperabas, es una cuestión de scope y no de configuración — ver Cómo funciona el scope en la práctica. Ajustes de dispatcher de una tienda Dos ajustes son los importantes, y ambos están explicados a fondo en Planes de programación: cómo funciona el ciclo automático: Tolerancia de retraso de flota propia — cuánto retraso se acepta al comprobar si tus repartidores pueden entregar a tiempo. Tolerancia de retraso de transportistas — lo mismo, para los transportistas externos. Hay aquí una regla que sorprende: si una tienda no tiene ningún repartidor interno, la tolerancia de flota propia se sustituye automáticamente por el valor de transportistas. Una tienda 100 % contratada no queda sujeta a un criterio más estricto del que puede cumplir. Esto no se configura: ocurre solo. Un tercer ajuste, distancia máxima para personal de cocina, limita hasta dónde se puede enviar a un repartidor de cocina desde la tienda. Ponerlo a cero elimina la restricción por completo, en lugar de bloquear a todos los repartidores de cocina. Horas prometidas de entrega Cada tienda expone los tiempos de entrega que puede prometer a un cliente. Alimentan el tiempo que se le indica al cliente al hacer el pedido, y la hora prometida frente a la que luego trabaja el dispatcher para decidir qué va tarde — ver las definiciones de Crítico y Pendiente en el Glosario del dispatcher. Productos y promociones por tienda La vista de una tienda también lista los productos y promociones activos allí. Es una comprobación de solo lectura: útil cuando un pedido se comporta de forma inesperada y quieres confirmar qué ofrece realmente esa tienda, y no lo que dice el catálogo de la marca. Qué está en otro sitio Si buscas Está realmente en Cada cuánto se ejecuta el dispatcher en esta tienda El plan de programación — Planes de programación: cómo funciona el ciclo automático Qué repartidores y transportistas atienden un área La zona — Zonas de reparto Tiempos y capacidad de un transportista en esta tienda Ajustes por tienda del transportista — Transportistas externos Pausar el reparto temporalmente Pausar y reanudar el reparto Horarios de apertura de la tienda La configuración general de la tienda. El dispatcher no los usa Copias de seguridad y restauración de configuración Necesitas: el permiso de ver o editar de aquello que contenga la copia, no un permiso de copias aparte. Una copia de zonas requiere acceso a zonas de reparto; una de transportistas, acceso a transportistas; una de empleados, acceso a empleados. Cada vez que exportas configuración se guarda una copia de seguridad. Puedes listarlas, descargarlas, restaurar una o eliminarla. Qué se copia Tipo de copia Qué cubre Permiso que sigue Zonas Configuración de zonas de reparto Zonas de reparto Zonas por horario Reglas de cambio de zona por horario Zonas de reparto Transportistas externos Configuración de transportistas por tienda Transportistas Empleados Configuración de empleados y repartidores propios Empleados Como cada copia sigue el permiso de su propio contenido, quien puede restaurar una copia de zonas no necesariamente puede restaurar una de empleados. El acceso lo decide lo que la copia contiene, y se comprueba al abrirla. Consultar copias El listado se puede filtrar por tipo. Cada entrada indica qué cubre y cuándo se tomó. Los nombres de fichero siguen el patrón backup--.csv, de modo que un fichero descargado sigue siendo identificable fuera de la consola. Descargar La descarga entrega el CSV exactamente como se capturó. Dos buenos motivos para descargar en lugar de restaurar: Para inspeccionar antes de restaurar. Abre el CSV y confirma que contiene lo que esperas, sobre todo si la copia es antigua. Para comparar. Comparar la exportación de ayer con la de hoy responde a "¿qué ha cambiado realmente?" más rápido que revisar pantallas. Restaurar Restaurar vuelve a aplicar una instantánea capturada. Lee esto antes de restaurar. Una restauración reinstaura la configuración tal como estaba en el momento de la captura. Todo lo cambiado desde entonces —por ti o por cualquier otra persona— queda sobrescrito para las entidades de esa instantánea. Si dos personas han estado editando zonas esta semana, restaurar la copia de la semana pasada descarta ambos conjuntos de cambios, no solo el que querías deshacer. La secuencia segura: Exporta ahora, creando una copia fresca del estado actual. Es tu camino de vuelta. Descarga la copia que pretendes restaurar y léela. Restaura. Verifica en una zona, tienda o transportista real que el resultado es el que querías. Eliminar Eliminar borra una copia de forma permanente. Hazlo para limpiar ruido, no para ordenar después de un cambio: las copias antiguas son justo lo que necesitas cuando un problema se detecta tarde. Antes de eliminar, comprueba que no sea la última instantánea buena conocida anterior a un cambio importante. Páginas relacionadas Zonas de reparto — donde se exportan e importan las zonas Transportistas externos — exportación de configuración de transportistas Dónde vive cada ajuste — qué controla realmente cada campo restaurado