¿Qué es un viaje a pedido?

En la documentación de esta sección, se muestra cómo crear viajes y trabajar con ellos con el servicio de viajes a pedido de Google Maps Mobility. Se da por sentado que conoces lo siguiente:

El TripService que usarás está disponible para gRPC y REST. Para simplificar, las referencias de campo siguen la convención de gRPC.

En Fleet Engine para servicios a pedido, un viaje es un tipo de recorrido que modela la entrega de comida o la solicitud de viaje de tus consumidores. Un viaje tiene un estado que informas a Fleet Engine a medida que evoluciona el viaje, como NEW, ENROUTE_TO_PICKUP y mucho más. El estado del viaje corresponde a los puntos de referencia geolocalizados asignados al vehículo, y Fleet Engine modifica estos puntos de referencia con cada actualización de viaje que realices. Consulta Viajes a pedido en Nociones básicas de Fleet Engine para obtener más información sobre los viajes y su relación con los vehículos.

Ciclo de vida de un viaje

Para hacer un seguimiento de cada viaje en Fleet Engine, primero debes crear una entidad Trip. Consulta gRPC o REST como referencia.

En la siguiente tabla, se describe un ejemplo de flujo de extremo a extremo de un viaje creado en tu sistema y sus etapas del ciclo de vida en Fleet Engine. Se supone que configuraste Fleet Engine y tienes un vehículo para asignar al viaje, con las actualizaciones de ubicación habilitadas en la app para conductores. Consulta SDK de Driver: Viajes a pedido.

1 Recibe la solicitud de reserva. Antes de que comience un viaje de Fleet Engine, tu sistema de reservas primero recibe una solicitud de viaje o entrega de un consumidor a través de tu app o de otro sistema de reservas. Luego, tu sistema crea la entidad de viaje con CreateTrip y los campos obligatorios, como la ubicación de partida. También puede establecer otros campos en este punto, como los pasajeros y la ubicación de destino, o esperar hasta que se asigne un vehículo. Consulta Cómo crear un viaje con un solo destino.
2 Asigna el vehículo.

Puedes asignar vehículos a viajes directamente en tu sistema y registrar la asignación en Fleet Engine, o bien usar el servicio Search Vehicle para buscar vehículos, filtrar por atributos de viaje y de vehículo para encontrar el mejor vehículo para completar el viaje. Cualquier vehículo en línea dentro de tu radio de búsqueda muestra su proximidad a través de las actualizaciones de ubicación que proporciona el SDK de Driver.

Una vez que SearchVehicle muestra un vehículo que coincide con un viaje, tu sistema llama al extremo UpdateTrip para informar el ID del vehículo que asignaste al viaje NEW.

3 Actualiza el viaje. Una vez que el conductor acepta el viaje y comienza a navegar a la ubicación de partida, el sistema actualiza el estado del viaje de NEW a ENROUTE_TO_PICKUP. Sigues sondeando la ubicación del vehículo durante el viaje, ya sea a través de una conexión directa de la app a tu backend o sondeando Fleet Engine, que recibe un flujo continuo de actualizaciones de ubicación del vehículo desde el SDK de Driver. Luego, tu sistema informa cada evento importante del viaje a Fleet Engine, que actualiza la lista de puntos de referencia del vehículo según corresponda.
4 Comparte el recorrido con el consumidor. Fleet Engine pone los detalles del viaje y la ubicación del vehículo a disposición del SDK para consumidores, que usa un objeto de escucha para recibir actualizaciones de viajes y mostrarlas en la app para consumidores. Fleet Engine actualiza automáticamente la hora de llegada estimada, la distancia restante, las rutas y los puntos de referencia restantes del vehículo. Consulta Cómo compartir viajes para viajes a pedido para obtener más información.
5 Completar el viaje. Una vez que el vehículo llega al punto de destino del viaje y el conductor indica que el viaje se realizó correctamente, el sistema establece TripStatus en COMPLETE en Fleet Engine. Ten en cuenta que, al igual que los vehículos, las entidades de viaje permanecen activas en Fleet Engine durante 7 días, independientemente del estado, y, luego, se quitan.

Flujo de secuencia de viaje

En el siguiente diagrama, se muestra una vista más detallada de este flujo.

TripSequenceDiagram

¿Qué sigue?