Attività pianificate

Questo documento descrive il servizio di attività pianificate in Fleet Engine. Si presume che tu abbia letto l'articolo Che cos'è Fleet Engine? e che tu conosca la funzionalità del servizio Fleet Engine specifica di cui hai bisogno.

Mentre leggi questa documentazione, tieni presente quanto segue:

  • Crei attività e le associ a una fermata del veicolo per simulare l'associazione reale tra l'attività e la posizione in cui il veicolo dovrebbe fermarsi in modo che il conducente possa completarla. Leggi l'articolo Introduzione ai veicoli per comprendere meglio come funzionano i veicoli in Fleet Engine.
  • Fleet Engine per le attività pianificate utilizza le seguenti risorse: un Task e un DeliveryVehicle. Fleet Engine fornisce sia un servizio gRPC sia interfacce REST:
    • Task: gRPC e REST
    • DeliveryVehicle: gRPC e REST
    • Per semplicità, questo manuale utilizza esempi di gRPC.

Che cos'è un'attività pianificata?

Un'attività pianificata in Fleet Engine rappresenta un'azione individuale da completare da parte di un conducente che utilizza un veicolo nel contesto più ampio di un'operazione di trasporto. Definisce l'obiettivo specifico per il conducente. Ad esempio:

  • per consegnare un bene a una residenza
  • per ritirare un pacco da restituire al centro spedizioni
  • fermarsi in una località per fornire un servizio in loco a un cliente
  • per fare una fermata programmata per fare rifornimento al veicolo

Elementi attività

L'immagine seguente illustra questi elementi di attività in un percorso pianificato standard per un veicolo.

Campi di attività di base

Campo Descrizione
Tipo Definisce il tipo di azione associata all'attività.
ID attività Una stringa che identifica in modo univoco l'attività all'interno del sistema.
Posizione pianificata Specifica la posizione prevista in cui deve essere eseguita l'attività. Questa posizione non corrisponde sempre a quella pianificata per la fermata del veicolo.
Stato Indica se l'attività è aperta o chiusa.
Risultato dell'attività Indica se l'attività è riuscita o meno.

Modello di dati per le attività

I seguenti diagrammi illustrano il modello di dati della risorsa Task insieme al diagramma della risorsa DeliveryVehicle associata. Puoi esaminare entrambi i diagrammi per esplorare le relazioni tra le due risorse, tenendo presente quanto segue:

  • Posizione pianificata: sia le fermate dei veicoli sia le attività hanno posizioni pianificate distinte tra loro.
    • Per le attività, una posizione pianificata indica dove deve avvenire l'azione del conducente. Ad esempio, 15 consegne di pacchi a un grande complesso residenziale richiedono la consegna in diverse zone della posta all'interno dello stesso complesso.
    • Per le fermate del veicolo, la posizione pianificata indica la fermata del veicolo mentre il conducente completa le attività. Ad esempio, un veicolo si ferma all'ingresso di un complesso di appartamenti e il conducente consegna i pacchi a mano a caselle postali separate all'interno del complesso.
  • Stato: sia le attività che le fermate dei veicoli hanno un campo stato distinto tra loro.
    • Lo stato della fermata del veicolo riflette l'avanzamento del veicolo rispetto alla fermata, utilizzato a fini di monitoraggio della flotta.
    • Lo stato dell'attività indica se l'attività è attiva o meno. Ciò influisce su altre operazioni da eseguire sulle attività, ad esempio l'impostazione del risultato o l'assegnazione a un veicolo.
  • Risultato dell'attività: il risultato dell'attività è un campo importante nel modello di dati, poiché viene utilizzato per indicare il successo o il fallimento di un'attività, indipendentemente dal suo stato.

  • ID:

    • Quando assegni un'attività a un veicolo, Fleet Engine compila il deliveryVehicleId campo. Questo campo di sola lettura indica il veicolo a cui è assegnata l'attività.
    • Gli ID attività sono identificatori univoci di tutte le attività del sistema.
    • Gli ID monitoraggio identificano un'attività ai fini del monitoraggio della spedizione.

Modello di dati di Tasks

Modello di dati del veicolo

ID attività

Come per gli ID veicolo in Fleet Engine, ogni attività deve contenere un ID per distinguerla dalle altre attività all'interno del sistema. Puoi fare riferimento a tutte le attività del tuo flusso di lavoro e gestirle in base al relativo ID. Puoi creare questi ID utilizzando il servizioCreateTaskRequest e fornendo una stringa ID conforme ai requisiti descritti in questa sezione.

Questa stringa comprende quindi parte del nome della risorsa dell'attività stessa, un campo solo per l'output nell'oggetto Task. Questo è analogo al modo in cui Fleet Engine costruisce le risorse dei nomi dei veicoli. Consulta la sezione Nomi delle risorse in Introduzione a Fleet Engine.

Requisiti per gli ID attività
Proprietà Descrizione
Unicità Ogni ID attività deve essere univoco all'interno dell'implementazione di Fleet Engine per evitare confusione e garantire l'identificazione corretta.
Formato
  • Nessuna informazione che consente l'identificazione personale (PII) o dati in testo normale.
  • Stringhe Unicode valide.
  • Massimo 64 caratteri.
  • Escludi i seguenti caratteri: / : \ ? #
  • Normalizzati in base al formato di normalizzazione Unicode C.
Esempi di ID attività
Esempi di ID attività validi
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
ID attività non consentiti
  • 8/31/2019-20:48-46.70746,-130.10807,-85.17909,61.33680
  • JohnDoe-577b484da26f-Cupertino-SantaCruz
  • 4R0oXLToF"112 Summer Dr. East Hartford, CT06118"577b484da26f8a

Tipi di attività

Fleet Engine supporta vari tipi di attività per rappresentare azioni diverse all'interno di un'operazione di trasporto. Sono descritti qui insieme alla loro visibilità e ai dettagli di fatturazione.

Tipo di attività Descrizione Visibilità del monitoraggio della spedizione Fatturato
Attività di importazione Da utilizzare per la consegna di articoli o per completare un'attività per un cliente. I consumatori possono visualizzare e monitorare queste informazioni.
Attività di ritiro Da utilizzare per indicare il ritiro delle merci da un cliente. Devi avere attività di consegna corrispondenti per qualsiasi attività di ritiro. I consumatori possono visualizzare e monitorare queste informazioni. No
Attività di mancata disponibilità Identifica il veicolo come non disponibile per il servizio, ad esempio quando il conducente fa una pausa o fa rifornimento. Non visibile ai consumatori. No
Attività di arresto programmato Un'attività di consegna che richiede una fermata in una posizione specifica. Utilizza le attività di fermata programmata per le fermate di ritiro programmate giornaliere in una località specifica, indipendentemente da altre consegne o ritiri nella stessa località. Puoi anche creare attività di fermata pianificate per le raccolte da cassette postali o per simulare trasferimenti o fermate di veicoli di linea presso centri di servizi e punti di servizio. I consumatori non possono monitorare questa attività specifica, ma possono visualizzarla nell'ambito del monitoraggio di altre attività. No

Ciclo di vita di attività e percorsi

Questa sezione fornisce dettagli sul ciclo di vita dell'attività di importazione in Fleet Engine. Il ciclo di vita dell'attività è collegato al percorso del veicolo perché il veicolo deve raggiungere una fermata affinché un conducente possa completare un'attività nella sua posizione pianificata.

1. Creazione di attività

Quando crei un'attività per la prima volta in Fleet Engine, imposti una serie di campi per l'attività indipendentemente dall'associazione a una fermata.

Proprietà delle attività
Proprietà Descrizione
Stato Imposta su APERTO
ID Imposta l'attività e l'ID monitoraggio se utilizzi il monitoraggio delle spedizioni per i tuoi consumatori.
Tempi La durata pianificata dell'attività e la relativa finestra temporale target. Per informazioni dettagliate, consulta la sezione Tempi delle attività.
Posizione pianificata Imposta la coordinata geografica esatta in cui deve essere completata l'attività.

2. Assegnazione attività

Quando assegni un'attività a un veicolo, lo fai in combinazione con una fermata del veicolo. Le fermate sono coordinate di latitudine/longitudine che indicano la posizione in cui il veicolo si ferma mentre il conducente completa le attività associate alla fermata. Le fermate sono in genere un punto di accesso, come una banchina di carico o una posizione acquisita con la strada.

3. In corso

Lo stato di un'attività può essere APERTO o CHIUSO. Tuttavia, una volta assegnata un'attività a un veicolo, puoi monitorarne l'avanzamento tramite l'associazione al veicolo e la posizione del veicolo rispetto alla fermata in cui deve essere completata l'attività.

Quando il veicolo parte da una fermata o inizia la navigazione, lo stato della fermata dovrebbe cambiare in ENROUTE. In questo modo, il monitoraggio della spedizione per i consumatori può informare il destinatario di un'attività con il numero di fermate rimanenti e l'orario di arrivo stimato. Supporta anche qualsiasi visualizzazione in tempo reale per il monitoraggio delle spedizioni dei consumatori o per il monitoraggio della flotta.

4. Arrivo e esito dell'attività

Quando il veicolo arriva a una fermata, lo stato della fermata deve essere impostato su ARRIVED. Come per lo stato di interruzione ENROUTE, questo non influisce sullo stato della stessa attività, ma supporta sia le notifiche ai consumatori sia i report in tempo reale per il monitoraggio del parco risorse utilizzato dagli operatori del parco risorse. Inoltre, consente di eseguire analisi e generare report sulla tua attività da utilizzare per le ottimizzazioni di pubblicazione.

Quando il veicolo arriva a una fermata, il sistema può gestire il resto del percorso dell'attività utilizzando uno dei seguenti approcci:

  • Chiudi le attività man mano che le completi.

    Quando il conducente contrassegna l'attività come completata, il sistema può rimuoverla dalla fermata, ma lasciare la fermata con altre attività assegnate.

  • Rimuovi l'intera fermata dal veicolo.

    Una volta che il conducente ha contrassegnato tutte le attività come completate e il veicolo è in viaggio verso la fermata successiva, puoi rimuovere l'intera fermata dal veicolo. Fleet Engine chiude automaticamente tutte le attività associate a una fermata rimossa.

La chiusura di un'attività non indica l'esito positivo o negativo

La chiusura di un'attività indica solo che non è più considerata in corso. Per le attività nello stato CLOSED, imposta il relativo esito su SUCCEEDED o FAILED. Questo è necessario sia per indicare il risultato effettivo per il monitoraggio della spedizione sia per la fatturazione corretta. Fleet Engine addebita solo le attività di importazione con stato SUCCEEDED.

Una volta impostato un risultato dell'attività, non puoi modificarlo

Quando viene contrassegnato il risultato di un'attività, Fleet Engine compila automaticamente la posizione del risultato dell'attività con l'ultima posizione nota del veicolo. Tuttavia, puoi modificare la data e l'ora del risultato dell'attività e la posizione del risultato dell'attività dopo che sono stati impostati e Fleet Engine non sostituirà questi campi.

5. Altri scenari di attività

Non tutte le attività che modelli in Fleet Engine si inseriscono in un flusso di viaggio tipico. Ad esempio:

  • Attività di ritiro. Quando hai un'attività di ritiro per un pacco da restituire al deposito per l'elaborazione successiva, devi creare un'attività di consegna corrispondente per il pacco, con la posizione pianificata impostata sul deposito. In caso contrario, le attività di ritiro in genere seguono lo stesso flusso delle attività di consegna.
  • Riassegnazione delle attività. Non puoi riassegnare direttamente un'attività a un altro veicolo. Per spostare un'attività da un veicolo all'altro, chiudi l'attività originale e poi ricreala prima di assegnarla al nuovo veicolo. Se aggiorni l'ordine delle attività per un'attività già assegnata a un altro veicolo, Fleet Engine genera un errore.
  • Eliminare le attività. Come per i veicoli, Fleet Engine elimina le attività che non sono state aggiornate dopo sette giorni. Se provi a riutilizzare un ID attività per un'attività che è stata chiusa in precedenza, Fleet Engine restituisce un errore se l'ID è stato utilizzato negli ultimi sette giorni. Al contrario, se vuoi conservare i dati delle attività per più di sette giorni, devi implementare questa funzionalità autonomamente, ad esempio tramite un job pianificato per reimpostare il timer di 7 giorni.

Condividere l'avanzamento delle attività

In Fleet Engine, puoi monitorare l'avanzamento delle attività in tempo reale e condividere il percorso del conducente in due modi principali:

  • Esperienza del consumatore per consentire ai consumatori di conoscere lo stato dei loro ordini di spedizione o dell'ordine di servizio richiesto.
  • Monitoraggio del parco risorse per consentire agli operatori del parco risorse di monitorare e analizzare lo stato degli automezzi del parco risorse.

Esperienza del consumatore

Per condividere l'avanzamento delle attività, configura l'esperienza del consumatore utilizzando l'SDK Consumer JavaScript. Con l'SDK, puoi migliorare un'esperienza visiva su web o app mobile in modo che i consumatori possano monitorare lo stato della spedizione, nonché gli orari di arrivo stimati e gli aggiornamenti in tempo reale della posizione del veicolo di consegna. Consulta la panoramica delle attività pianificate dell'SDK per i consumatori.

L'SDK Consumer contiene componenti di mappa e dati JavaScript per connettersi a Fleet Engine. La mappa è un sostituto temporaneo di un oggetto google.maps.Map standard. Il cliente deve autenticare gli utenti finali e utilizzare il ruolo consumer Pubblicazione del progetto Google Cloud per restituire solo informazioni specifiche del cliente. Fleet Engine filtra e oscura tutte le altre informazioni nelle risposte. Ad esempio, durante un'attività di mancata disponibilità, non vengono condivise informazioni sulla posizione con un utente finale.

In Fleet Engine, puoi attivare le seguenti impostazioni per condividere con il consumatore l'avanzamento delle attività:

  • Le attività utilizzano la proprietà TaskTrackingViewConfig. Facoltativo.
  • Le attività utilizzano un ID monitoraggio, necessario alla libreria per identificare le attività pertinenti per un consumatore.

Monitoraggio del parco risorse

La libreria JavaScript Fleet Tracking ti consente di visualizzare le posizioni dei veicoli dei tuoi parchi quasi in tempo reale. La libreria utilizza l'API Fleet Engine per fornire la visualizzazione dei veicoli di consegna e delle relative attività assegnate. Come l'SDK per i consumatori JavaScript, contiene un componente mappa JavaScript che sostituisce direttamente un'entità google.maps.Map standard con componenti di dati che utilizzi per connetterti a Fleet Engine.

Questa libreria mostra la visibilità dei veicoli di consegna non appena vengono creati in Fleet Engine. Per questa implementazione, utilizza il ruolo IAM Cloud Super user del servizio Fleet Engine e fornisci un claim Java Web Token per accedere ai veicoli di consegna e alle relative attività associate.

Scenari di attività pianificate

Questa sezione mostra una serie di scenari di attività che riepilogano le informazioni fornite in questo punto della guida. Ha lo scopo di aiutarti a comprendere la varietà di modi in cui puoi modellare le tue operazioni di trasporto in Fleet Engine, a seconda della tua attività.

Consegna con monitoraggio

Questo scenario di importazione mostra un'attività di fermata programmata assegnata al deposito sia alla partenza dal deposito all'inizio del viaggio sia all'arrivo al deposito alla fine del viaggio. Inoltre, mostra due attività di recapito per una fermata, una delle quali non è riuscita. Utilizza questa assegnazione per attivare il monitoraggio da e verso il deposito e come modo per modellare le ore di inizio e di fine della giornata. Non viene addebitata alcuna commissione per le attività di interruzione pianificate.

Ritiro con consegna presso un centro di servizi

Questo scenario mostra come modellare un ritiro con la relativa attività di consegna obbligatoria. Imposti il ritorno al deposito come consegna ai fini della fatturazione.

Veicolo spazzatrice

Questo scenario mostra due consegne con una fermata programmata nel mezzo per un veicolo di trasporto pubblico, il cui scopo è consentire al veicolo di consegna di tornare al deposito con una serie di pacchi da spedire. Puoi anche modellare il veicolo di trasporto pubblico con una fermata programmata.

Tempi delle attività

La definizione dei tempi delle attività consente di pianificare in modo efficace i percorsi, fornire stime di arrivo e gestire le aspettative di consegna. Fleet Engine offre due funzionalità chiave per modellare e anticipare i tempi delle attività, come descritto in questa sezione.

Durata dell'attività

La durata dell'attività viene impostata con il campo task_duration, un campo obbligatorio che simula il tempo previsto che il conducente impiega per completare le attività in una fermata o per fare una pausa. Per le fermate, include tutte le attività necessarie dopo l'arrivo a una fermata, come lo scarico dei pacchi e l'interazione con il destinatario. Più queste informazioni sono specifiche, meglio il motore di flotta può fornire tempi di arrivo e ETA realistici per le fermate successive del viaggio. Per i dettagli del campo, consulta Duration nella documentazione di Protocol Buffers.

Finestra temporale target

L'ora target definisce un intervallo di tempo proposto per un'attività, in genere utilizzato per comunicare con i clienti o per scopi di pianificazione interna. Lo imposti con il campo target_time_window, composto da un'ora di inizio e un'ora di fine. Ciò non influisce direttamente sui calcoli del percorso, ma può essere utilizzato per situazioni come avvisare un consumatore di una finestra temporale per la consegna di un pacco o quando aspettarsi l'arrivo di un lavoratore del servizio programmato.

Attributi attività

Gli attributi delle attività in Fleet Engine offrono un modo pratico per filtrare le attività in base a caratteristiche specifiche quando si utilizza la richiesta ListTasks. Puoi anche utilizzare gli attributi delle attività personalizzate per l'analisi con Cloud Logging, nonché per comunicare informazioni ai consumatori o per il monitoraggio del parco veicoli. Lo scopo è simile a quello degli attributi dei veicoli: utilizzalo per creare una prospettiva più mirata delle tue operazioni di consegna.

Limitazioni

  • Creazione di attributi personalizzati: Fleet Engine limita il numero di attributi personalizzati che puoi definire per attività. Contatta il tuo rappresentante di vendita per richiedere un aumento di questi limiti.
  • Funzionalità di filtro: pur offrendo flessibilità di filtro, gli attributi delle attività non sostituiscono i campi di dati delle attività principali. Utilizzali per un filtro aggiuntivo in base alle tue esigenze specifiche.
  • Ogni attributo deve avere una chiave univoca.
  • Non includere informazioni che consentono l'identificazione personale o altre informazioni sensibili nel valore dell'attributo, in quanto potrebbero essere visibili all'utente.
  • Convalida dei dati: assicurati che i tipi e i formati dei dati degli attributi personalizzati siano compatibili con i requisiti di Fleet Engine.

Passaggi successivi