2. Planificacion Y Rutas
Objetivo
Transformar tareas pendientes en rutas ejecutables por conductor, vehiculo y secuencia.
Flujo
Actores
| Actor | Accion |
|---|---|
| Operador | Selecciona tareas, revisa mapa, asigna conductor, corrige datos. |
| Supervisor | Define prioridad, capacidad, zonas y excepciones. |
| Sistema | Optimiza, persiste ruta, emite eventos, recalcula. |
| Conductor | Recibe ruta y ejecuta en secuencia o segun ajuste. |
Como Funciona Internamente
- Zoho tiene
Ruta_de_Entregay funciones comoapi/createRoute.dg,Zelta/generateRoute.dgyZelta/updateRoute.dg. - Dashboard tiene rutas de optimizacion y pagina
/optimizacion. - Engine nuevo expone
/v1/optimize, sesiones recientes, reoptimizacion, edicion de visitas y WebSocket de progreso. - Driver backend tambien tiene endpoints de optimizacion (
/api/route/optimize) y servicios de sesion/ETA. - Hay evidencia de coexistencia: Google/Fleet/Engine nuevo y flujo historico Routific/Zoho.
Evidencia
| Area | Archivos |
|---|---|
| Zoho routing | apps/zoho-app/app/functions/api/createRoute.dg, apps/zoho-app/app/functions/Zelta/generateRoute.dg |
| Zoho schedules | apps/zoho-app/app/schedules/getNewRoute.dg, apps/zoho-app/app/schedules/Actualizar_rutas_de_entre.dg |
| Dashboard | apps/core-backend/server/routes/optimization.ts, apps/core-backend/server/services/route-optimization.ts, apps/dash-web/client/src/pages/optimization.tsx |
| Engine | apps/engine-backend/src/ros/api/v1/optimize.py, apps/engine-backend/src/ros/api/v1/sessions.py |
| Driver backend | apps/drivers-backend/server/services/engineClient.ts, apps/drivers-backend/server/services/engineSession.ts |
Puntos De Control
| Control | Indicador |
|---|---|
| Tareas con coordenadas | No deben entrar tareas sin ubicacion util. |
| Ventana horaria | Debe respetarse para entregas con promesa. |
| Capacidad conductor/vehiculo | Validar volumen, bultos, zona y tipo. |
| Ruta publicada | Debe verse en Dashboard y Driver App. |
| Cambios posteriores | Deben dejar evento y regla de reoptimizacion. |
Dudas
- Cual engine es oficial por tipo de operacion.
- Cuando un cambio obliga a reoptimizar vs solo actualizar secuencia.
- Quien puede sobreescribir la ruta sugerida por el optimizador.