Che cos'è un viaggio on demand?

La documentazione in questa sezione mostra come creare e utilizzare le corse utilizzando il servizio per viaggi on demand di Google Maps Mobility. Presuppone la familiarità con le seguenti:

Il TripService che utilizzerai è disponibile per gRPC e REST. Per semplicità, i riferimenti ai campi seguono la convenzione gRPC.

In Fleet Engine per i servizi on demand, una corsa è un tipo di percorso che modella l'evasione di una richiesta di consegna di cibo o di una corsa da parte dei consumatori. Un viaggio ha uno stato che segnali a Fleet Engine man mano che il viaggio si evolve, come NEW, ENROUTE_TO_PICKUP e altri ancora. Lo stato della corsa corrisponde a quello le tappe assegnate al veicolo e Fleet Engine le modifica a ogni aggiornamento della corsa che effettui. Vedi Viaggi on demand in Flotta Elementi essenziali del motore per saperne di più sugli spostamenti e sul loro rapporto con i veicoli.

La vita di un viaggio

Per monitorare ogni corsa in Fleet Engine, devi prima creare un Trip dell'oggetto. Vedi gRPC o REST come riferimento.

La tabella seguente descrive un esempio di flusso end-to-end di una corsa creata in del tuo sistema e delle sue fasi del ciclo di vita in Fleet Engine. Si presuppone che tu abbia configurato Fleet Engine e avere un veicolo da assegnare alla corsa, con aggiornamenti sulla posizione abilitato nell'app del conducente. Vedi SDK Driver: viaggi on demand.

1 Ricevere una richiesta di prenotazione. Prima dell'inizio di un viaggio Fleet Engine, il sistema di prenotazione riceve richiedere una corsa o una consegna a un consumatore tramite la tua app o un altro sistema di prenotazione. Il sistema crea quindi l'entità trip utilizzando CreateTrip con i campi obbligatori, ad esempio l'indirizzo di prelievo. A questo punto può anche impostare altri campi, come i passeggeri e punto di consegna o attendere che venga assegnato un veicolo. Consulta: Crea un viaggio con una sola destinazione.
2 Assegna il veicolo.

Puoi assegnare i veicoli alle corse direttamente all'interno del sistema e segnalare l'assegnazione a Fleet Engine, oppure puoi utilizzare Cerca veicolo servizio per cercare veicoli, filtrando per corsa e veicolo per trovare il veicolo migliore per completare il viaggio. Qualsiasi online del veicolo all'interno del raggio di ricerca ne indichi la prossimità tramite aggiornamenti della posizione forniti dall'SDK Driver.

Dopo che SearchVehicle restituisce un veicolo corrispondente a una corsa, il sistema chiama l'endpoint UpdateTrip per segnalare l'ID veicolo che hai assegnato al viaggio NEW.

3 Aggiorna la corsa. Dopo che il conducente accetta la corsa e inizia la navigazione verso punto di prelievo, il sistema aggiorna lo stato della corsa da NEW a ENROUTE_TO_PICKUP. Continui a chiamare il veicolo da un luogo all'altro durante l'intero tragitto, attraverso un collegamento diretto l'app al tuo backend, oppure eseguendo il polling di Fleet Engine, che riceve un flusso continuo di aggiornamenti sulla posizione dei veicoli dall'SDK Driver. Il tuo segnala poi ogni traguardo del viaggio a Fleet Engine, che si aggiorna l'elenco delle tappe del veicolo di conseguenza.
4 Condividi il percorso con il consumatore. Fleet Engine mette a disposizione del cliente i dettagli della corsa e la posizione del veicolo SDK consumer, che utilizza un listener per ricevere aggiornamenti sulle corse e visualizzarli nell'app consumer. Fleet Engine aggiorna automaticamente l'orario di arrivo stimato, le rimanenti distanza, percorsi e tappe rimanenti del veicolo. Consulta: Per saperne di più, condividi i percorsi per i viaggi on demand.
5 Percorso completo. Quando il veicolo raggiunge la tappa di destinazione della corsa e che il conducente indica che la corsa è andata a buon fine, il sistema imposta Da TripStatus a COMPLETE in Fleet Engine. Conserva tieni presente che, come i veicoli, le entità delle corse rimangono attive all'interno di Fleet Engine per 7 giorni indipendentemente dallo stato, dopodiché vengono rimossi.

Flusso della sequenza di viaggio

Il seguente diagramma mostra una vista più dettagliata di questo flusso.

TripSequenceDiagram

Passaggi successivi