Che cos'è un viaggio on demand?

La documentazione in questa sezione mostra come creare e utilizzare i viaggi utilizzando il servizio Google Maps Mobility on-demand. Presuppone familiarità con quanto segue:

L'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, un viaggio è un tipo di percorso che modella l'evasione di una richiesta di consegna di cibo o di corsa da parte dei tuoi consumatori. Un viaggio ha uno stato che viene comunicato a Fleet Engine man mano che il percorso evolve, ad esempio NEW, ENROUTE_TO_PICKUP e altro ancora. Lo stato del viaggio corrisponde alle tappe geolocalizzate assegnate al veicolo e Fleet Engine modifica queste tappe del veicolo a ogni aggiornamento del viaggio. Consulta la sezione Viaggi on demand in Fleet Engine essentials per saperne di più sui viaggi e sul loro rapporto con i veicoli.

Durata di un viaggio

Per monitorare ogni viaggio in Fleet Engine, devi prima creare un'entità Trip. Per riferimento, consulta gRPC o REST.

La tabella seguente descrive un esempio di flusso end-to-end di un viaggio creato nel tuo sistema e le relative fasi del ciclo di vita in Fleet Engine. Presuppone che tu abbia configurato Fleet Engine e che tu abbia un veicolo da assegnare al viaggio, con gli aggiornamenti della posizione attivati nell'app del conducente. Consulta SDK Driver: viaggi on demand.

1 Ricevi la richiesta di prenotazione. Prima dell'inizio di un viaggio di Fleet Engine, il tuo sistema di prenotazione riceve una richiesta di corsa o consegna da un consumatore tramite la tua app o un altro sistema di prenotazione. Il sistema crea quindi l'entità viaggio utilizzando CreateTrip con i campi obbligatori, ad esempio il luogo di ritiro. A questo punto può anche impostare altri campi, come passeggeri e posizione di rilascio, o attendere l'assegnazione di un veicolo. Vedi Creare un viaggio con una sola destinazione.
2 Assegna veicolo.

Puoi assegnare i veicoli ai viaggi direttamente all'interno del tuo sistema e segnalare l'assegnazione a Fleet Engine oppure puoi utilizzare il servizio Cerca veicolo per cercare i veicoli, filtrando in base agli attributi del viaggio e del veicolo per trovare il veicolo migliore per completare il viaggio. Qualsiasi veicolo online nel raggio di ricerca rende nota la sua vicinanza tramite gli aggiornamenti della posizione forniti dall'SDK Driver.

Quando SearchVehicle restituisce un veicolo che corrisponde a un viaggio, il tuo sistema chiama l'endpoint UpdateTrip per segnalare l'ID veicolo che hai assegnato al viaggio NEW.

3 Aggiorna corsa. Una volta che l'autista accetta la corsa e inizia a navigare verso il luogo di partenza, il sistema aggiorna lo stato della corsa da NEW a ENROUTE_TO_PICKUP. Continui a eseguire il polling della posizione del veicolo durante il viaggio, tramite una connessione diretta dall'app al backend o eseguendo il polling di Fleet Engine, che riceve un flusso continuo di aggiornamenti della posizione del veicolo dall'SDK Driver. Il tuo sistema segnala quindi ogni traguardo del viaggio a Fleet Engine, che aggiorna l'elenco delle tappe del veicolo di conseguenza.
4 Condividi il percorso con il consumatore. Fleet Engine rende disponibili i dettagli del viaggio e la posizione del veicolo all'SDK consumer, che utilizza un listener per ricevere gli aggiornamenti del viaggio e visualizzarli nell'app consumer. Fleet Engine aggiorna automaticamente l'ETA, la distanza rimanente, i percorsi e i waypoint rimanenti del veicolo. Per saperne di più, consulta Condividere i viaggi per le corse on demand.
5 Viaggio completato. Una volta che il veicolo raggiunge il waypoint di destinazione del viaggio e l'autista indica che il viaggio è andato a buon fine, il sistema imposta TripStatus su COMPLETE in Fleet Engine. Tieni presente che, come i veicoli, le entità viaggio rimangono attive in Fleet Engine per 7 giorni indipendentemente dallo stato, dopodiché vengono rimosse.

Flusso della sequenza di viaggi

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

TripSequenceDiagram

Passaggi successivi