Casos de uso

Crear una herramienta de despacho de servicio técnico por distancia

Asignar el técnico disponible más cercano parece obvio hasta que te fijas en cómo funcionan realmente la mayoría de los pequeños sistemas de despacho, que a menudo se basan en la simple disponibilidad: el siguiente trabajo va al técnico que termine primero el actual, sin importar si ese técnico está al otro extremo de la zona de servicio respecto al lugar del nuevo trabajo. Una empresa de reparación de electrodomésticos con una flota de técnicos descubrió que esto le estaba costando tiempo de conducción de forma generalizada sin que se notara: técnicos que cruzaban la zona de servicio para llegar a trabajos que un compañero cercano podría haber alcanzado en una fracción del tiempo.

Solucionarlo exigía saber, en coordenadas, dónde estaba cada técnico en ese momento y dónde se encontraba cada nuevo trabajo, en lugar de tratar ambos como descripciones de texto sobre las que un despachador tenía que razonar de memoria según su conocimiento de la zona. Las direcciones de los nuevos trabajos se geocodificaban mediante /v1/forward a medida que llegaban, convirtiendo cada solicitud de servicio en una coordenada en el momento de programarla. Las ubicaciones de los técnicos, registradas mediante su propia app móvil mientras se desplazaban entre trabajos, llegaban directamente como coordenadas desde la ubicación del dispositivo y no necesitaban geocodificación, pero la consulta inversa, /v1/reverse, daba a los despachadores una descripción legible a nivel de calle de dónde estaba un técnico en ese momento, útil para un despachador humano que echaba un vistazo a la pantalla y necesitaba entender rápidamente la posición de un técnico en lugar de interpretar coordenadas en bruto.

Con ambos lados expresados como coordenadas, el sistema de despacho podía calcular la distancia real entre cada técnico disponible y un nuevo trabajo, y asignar según una combinación de distancia y disponibilidad en lugar de solo disponibilidad, ponderada de modo que un técnico algo menos disponible de inmediato pero mucho más cercano a menudo resultaba mejor asignación que uno que estaba libre en ese momento pero lejos, un equilibrio que la empresa ajustó durante unas semanas observando los resultados reales de las asignaciones.

El efecto medible fue una reducción del tiempo medio de conducción por trabajo en toda la flota, que se tradujo directamente en más trabajos completados por técnico y día, ya que menos tiempo conduciendo entre trabajos significaba más tiempo disponible para los trabajos en sí. El coste de combustible por trabajo también bajó, un beneficio adicional más pequeño pero real que la empresa no se había propuesto resolver específicamente cuando empezó el proyecto.

La empresa mantuvo a un despachador en el proceso en lugar de automatizar por completo la asignación, ya que la distancia es un factor importante pero no el único: la certificación específica de un técnico para una marca concreta de electrodomésticos o la preferencia de un cliente por un técnico al que ya conocía a veces pesaban más que una asignación óptima solo por distancia, y la herramienta mostraba la sugerencia ordenada por distancia como un valor predeterminado sólido que el despachador podía cambiar, no como una asignación automática sin ninguna revisión humana.

El volumen crecía con el número de trabajos, una llamada de geocodificación por cada nuevo trabajo más un número menor de consultas inversas para mostrar la ubicación de los técnicos a los despachadores, cómodamente dentro de la cuota diaria gratuita para una empresa con una flota de este tamaño, con margen en crédito prepago disponible si la empresa se expandía a nuevas zonas de servicio.

La documentación de ambos endpoints está en /docs/forward-geocoding/ y /docs/reverse-geocoding/.