Arquitectura y componentes

La implementación del seguimiento de envíos implica trabajar con varios componentes de la Last Mile Fleet Solution: Fleet Engine, la biblioteca de seguimiento de envíos de JavaScript y el SDK de Driver:

  • Fleet Engine es el servicio de backend de Last Mile Fleet Solution. Es responsable de administrar las tareas y el estado del vehículo. Controla la interacción entre el SDK de Driver, la biblioteca de seguimiento de envío de JavaScript y tu servicio de backend, que puede comunicarse con Fleet Engine mediante llamadas de REST o gRPC.

  • Puedes integrar la biblioteca de seguimiento de envíos de JavaScript en tu app para consumidores. Esta te permite brindarles a tus clientes una visualización de la ubicación del vehículo, junto con su hora de llegada estimada.

  • El SDK de Driver es una biblioteca que integras en tu app del conductor. Es responsable de actualizar Fleet Engine con la ubicación, la ruta, la distancia restante y la hora de llegada estimada del conductor. También se integra al SDK de Navigation, que proporciona instrucciones de navegación paso a paso para el conductor. Para obtener más información, consulta Navegación con Google Maps.

En el siguiente diagrama, se muestra la relación entre estos componentes:

Arquitectura

Tareas y vehículos de entrega

Crear una aplicación de seguimiento de envíos para modelar el retiro y la entrega de los envíos implica lo siguiente:

  • Es el vehículo de entrega que se usó para transportar el envío.
  • Las tareas de retiro y entrega del envío

Vehículos de entrega

Los vehículos de entrega transportan envíos desde un depósito a una ubicación de entrega y desde una ubicación de retiro hasta el depósito. En algunos casos, también es posible que transporten un envío directamente desde la ubicación de retiro hasta la de entrega.

Tareas

Cada vehículo tiene tareas asignadas. Estos pueden incluir tareas de recogida o entrega, descansos requeridos para los conductores o paradas programadas en los buzones de recepción o en otras ubicaciones. Cada tarea debe tener un ID de tarea único, pero puede compartir el mismo ID de seguimiento. Las tareas y el orden en el que se programan se utilizan para calcular el tiempo de espera estimado de cada tarea.

Las tareas de envío están relacionadas con el retiro o la devolución del envío. Cuando crees una tarea de envío, debes especificar un número de seguimiento o un ID. También debes especificar un tiempo de permanencia a fin de tener en cuenta el tiempo adicional para completar la tarea, buscar estacionamiento o caminar hasta la ubicación de traspaso.

  • Crea una tarea de retiro para retirar un envío en la que especifiques la ubicación de retiro y el número o ID de seguimiento.
  • Crea una tarea de entrega para entregar un envío, especificando la ubicación de entrega y el número de seguimiento o ID.

También puedes crear una tarea sin disponibilidad para un período en el que el vehículo no esté disponible para retiros o entregas, y para que un vehículo de reparto realice tareas de parada programadas para modelar las paradas. Sin embargo, no puedes asignar un id_seguimiento a una tarea de no disponibilidad ni a una parada programada. Como resultado, no puedes realizar directamente un seguimiento del envío en una tarea de no disponibilidad o una parada programada.

Flujo de muestra

En el siguiente diagrama de secuencias, se muestra el flujo típico de seguimiento de envíos.

Diagrama de flujo

Para comenzar a implementar el seguimiento de envíos, consulta Cómo realizar un seguimiento de los envíos con la biblioteca de seguimiento de envíos de JavaScript .