In diesem Dokument wird der Dienst für geplante Aufgaben in Fleet Engine beschrieben. Es wird davon ausgegangen, dass Sie Was ist Fleet Engine? gelesen haben und die spezifische Fleet Engine-Dienstfunktion kennen, die Sie benötigen.
Beachten Sie beim Lesen dieser Dokumentation Folgendes:
- Sie erstellen Aufgaben und ordnen sie einer Fahrzeughaltestelle zu, um die tatsächliche Verknüpfung zwischen der Aufgabe und dem Ort zu modellieren, an dem das Fahrzeug voraussichtlich anhalten wird, damit der Fahrer die Aufgabe erledigen kann. Lesen Sie den Hilfeartikel Einführung in Fahrzeuge, um mehr über die Funktionsweise von Fahrzeugen in Fleet Engine zu erfahren.
- Fleet Engine für geplante Aufgaben verwendet die folgenden Ressourcen:
Task
undDeliveryVehicle
. Fleet Engine bietet sowohl einen gRPC-Dienst als auch REST-Schnittstellen:
Was ist eine geplante Aufgabe?
Eine geplante Aufgabe in Fleet Engine stellt eine einzelne Aktion dar, die von einem Fahrer, der ein Fahrzeug im umfassenderen Kontext eines Transportvorgangs verwendet, ausgeführt werden muss. Damit wird das spezifische Ziel des Treibers definiert. Beispiel:
- die Lieferung eines Guts an einen Wohnsitz
- zur Abholung eines Pakets zur Rückgabe an das Versanddepot
- an einem Ort anhalten, um einen Dienst vor Ort bereitzustellen
- einen geplanten Zwischenstopp für das Auftanken des Fahrzeugs einlegen
Aufgabenelemente
In der folgenden Abbildung sind diese Aufgabenelemente in einer standardmäßigen geplanten Fahrt für ein Fahrzeug dargestellt.
Grundlegende Aufgabenfelder
Feld | Beschreibung |
---|---|
Typ | Definiert den Typ der mit der Aufgabe verknüpften Aktion. |
Aufgaben-ID | Ein String, der die Aufgabe im System eindeutig identifiziert. |
Geplanter Ort | Gibt den gewünschten Ort an, an dem die Aufgabe ausgeführt werden soll. Dieser Standort entspricht nicht immer dem geplanten Standort für die Haltestelle. |
Status | Gibt an, ob die Aufgabe offen oder geschlossen ist. |
Ergebnis der Aufgabe | Gibt an, ob die Aufgabe erfolgreich war oder fehlgeschlagen ist. |
Datenmodell für Aufgaben
Die folgenden Diagramme zeigen das Datenmodell der Task
-Ressource neben dem Diagramm für die zugehörige DeliveryVehicle
-Ressource. Sie können sich beide Diagramme ansehen, um die Beziehungen zwischen den beiden Ressourcen zu untersuchen. Beachten Sie dabei Folgendes:
- Geplanter Standort: Sowohl Haltestellen als auch Aufgaben haben geplante Standorte, die sich voneinander unterscheiden.
- Bei Aufgaben gibt ein geplanter Standort an, wo die Aktion des Fahrers stattfinden soll. Beispiel: 15 Paketzustellungen an einen großen Wohnkomplex erfordern die Zustellung an verschiedene Poststellen innerhalb desselben Komplexes.
- Bei Fahrzeugstopps wird durch den geplanten Standort die Haltestelle für das Fahrzeug angegeben, während der Fahrer die Aufgaben erledigt. Ein Fahrzeug hält beispielsweise am Eingang eines Mehrfamilienhauses und der Fahrer liefert die Pakete per Hand in separaten Posträumen im Komplex aus.
- Status: Sowohl für Aufgaben als auch für Haltestellen gibt es ein separates Feld state.
- Der Status des Stopps spiegelt den Fortschritt des Fahrzeugs in Bezug auf die Haltestelle wider und wird zur Nachverfolgung der Flotte verwendet.
- Der Status der Aufgabe gibt an, ob sie aktiv ist oder nicht. Dies wirkt sich auf andere Vorgänge aus, die für Aufgaben ausgeführt werden sollen, z. B. das Festlegen des Ergebnisses oder die Zuweisung zu einem Fahrzeug.
Aufgabenergebnis: Das Aufgabenergebnis ist ein wichtiges Feld im Datenmodell, da es unabhängig vom Aufgabenstatus den Erfolg oder Misserfolg einer Aufgabe angibt.
IDs:
- Wenn Sie einem Fahrzeug eine Aufgabe zuweisen, wird das Feld
deliveryVehicleId
von Fleet Engine ausgefüllt. Dieses schreibgeschützte Feld gibt das Fahrzeug an, dem die Aufgabe zugewiesen ist. - Aufgaben-IDs sind eindeutige Kennungen für alle Aufgaben in Ihrem System.
- Tracking-IDs identifizieren eine Aufgabe zum Zwecke des Sendungs-Trackings.
- Wenn Sie einem Fahrzeug eine Aufgabe zuweisen, wird das Feld
Tasks-Datenmodell
Fahrzeugdatenmodell
Aufgaben-IDs
Ähnlich wie bei Fahrzeug-IDs in Fleet Engine müssen Aufgaben jeweils eine ID enthalten, um sie von anderen Aufgaben im System zu unterscheiden. Sie können alle Aufgaben in Ihrem Workflow anhand ihrer ID referenzieren und verwalten. Sie erstellen diese IDs mit dem CreateTaskRequest
-Dienst und geben einen ID-String an, der den in diesem Abschnitt beschriebenen Anforderungen entspricht.
Dieser String enthält dann einen Teil des Namens der Aufgabenressource selbst, ein reines Ausgabefeld im Task
-Objekt. Das entspricht der Art und Weise, wie Fleet Engine Fahrzeugnamensressourcen erstellt. Weitere Informationen finden Sie im Abschnitt Ressourcennamen des Artikels Einführung in die Fleet Engine.
Attribut | Beschreibung |
---|---|
Eindeutigkeit | Jede Aufgaben-ID muss innerhalb Ihrer Fleet Engine-Implementierung eindeutig sein, um Verwechslungen zu vermeiden und eine korrekte Identifizierung zu ermöglichen. |
Format |
|
Beispiele für gute Aufgaben-IDs |
|
---|---|
Unzulässige Aufgaben-IDs |
|
Aufgabentypen
Fleet Engine unterstützt verschiedene Aufgabentypen, um verschiedene Aktionen innerhalb eines Transportvorgangs darzustellen. Sie werden hier zusammen mit ihrer Sichtbarkeit und den Abrechnungsdetails beschrieben.
Aufgabentyp | Beschreibung | Sichtbarkeit der Sendungsverfolgung | In Rechnung gestellt |
---|---|---|---|
Zustellaufgabe | Verwenden Sie diese Option, wenn Sie Artikel abgeben oder eine Aufgabe für einen Kunden erledigen. | Verbraucher können dies sehen und verfolgen. | Ja |
Abholaufgabe | Dient zum Kennzeichnen der Abholung von Waren von einem Kunden. Für jede Abholaufgabe sind entsprechende Zustellaufgaben erforderlich. | Nutzer können dies sehen und verfolgen. | Nein |
Nichtverfügbarkeitsaufgabe | Das Fahrzeug wird als nicht verfügbar gekennzeichnet, z. B. wenn der Fahrer eine Pause macht oder das Fahrzeug auftankt. | Nicht für Verbraucher sichtbar. | Nein |
Aufgabe für geplanten Halt | Eine Nichtlieferungsaufgabe, die einen Stopp an einem bestimmten Ort erfordert. Verwenden Sie geplante Haltestellenaufgaben für täglich geplante Abholstellen an einem bestimmten Ort, unabhängig von anderen Lieferungen oder Abholungen am selben Ort. Sie können auch geplante Haltestellenaufgaben für die Abholung von Abholstellen erstellen oder Umstiege von Zubringerfahrzeugen oder Haltestellen an Servicecentern und Servicestellen modellieren. | Nutzer können diese spezielle Aufgabe nicht verfolgen, können sie jedoch als Teil der Verfolgung anderer Aufgaben sehen. | Nein |
Aufgaben- und Prozesslebenszyklus
Dieser Abschnitt enthält Details zum Lebenszyklus der Bereitstellungsaufgabe in Fleet Engine. Der Aufgabenlebenszyklus ist mit der Fahrt des Fahrzeugs verbunden, da das Fahrzeug zu einer Haltestelle fahren muss, damit der Fahrer eine Aufgabe an der geplanten Position ausführen kann.
1. Aufgabenerstellung
Wenn Sie eine Aufgabe in Fleet Engine zum ersten Mal erstellen, können Sie verschiedene Felder für die Aufgabe festlegen, unabhängig davon, ob sie mit einer Haltestelle verknüpft werden soll.
Attribut | Beschreibung |
---|---|
Status | Auf OFFEN festlegen |
IDs | Legen Sie die Aufgabe und die Tracking-ID fest, wenn Sie die Sendungsverfolgung für Ihre Kunden verwenden. |
Timing | Die geplante Dauer der Aufgabe und ihr Zielzeitraum. Weitere Informationen finden Sie unter Zeitplanung von Aufgaben. |
Geplanter Ort | Legen Sie die genauen geografischen Koordinaten fest, an denen die Aufgabe erledigt werden soll. |
2. Aufgabenzuweisung
Wenn Sie einem Fahrzeug eine Aufgabe zuweisen, geschieht dies in Verbindung mit einem Stopp. Haltestellen sind Breiten- und Längengradkoordinaten, die den Ort angeben, an dem das Fahrzeug parkt, während der Fahrer die mit der Haltestelle verbundenen Aufgaben erledigt. Haltestellen sind in der Regel Zugangspunkte wie ein Verladeplatz oder ein an einer Straße angepinnter Ort.
3. In Bearbeitung
Der Status einer Aufgabe ist entweder „OFFEN“ oder „GESCHLOSSEN“. Sobald eine Aufgabe jedoch einem Fahrzeug zugewiesen wurde, können Sie den Fortschritt über die Verknüpfung mit dem Fahrzeug und die Position des Fahrzeugs in Bezug auf die Haltestelle verfolgen, an der die Aufgabe erledigt werden soll.
Sobald das Fahrzeug eine Haltestelle verlässt oder die Navigation beginnt, sollte sich der Status der Haltestelle in ENROUTE
ändern. Auf diese Weise kann die Versandverfolgung für Verbraucher den Empfänger einer Aufgabe mit der Anzahl der verbleibenden Haltestellen und der voraussichtlichen Ankunftszeit aktualisieren. Dies unterstützt auch jede Echtzeit-Visualisierung zur Nachverfolgung von Verbraucherlieferungen oder zur Flottenverfolgung.
4. Ankunft und Aufgabenergebnis
Wenn das Fahrzeug an einer Haltestelle ankommt, sollte der Status der Haltestelle auf ARRIVED
gesetzt werden. Wie beim Haltestellenstatus ENROUTE
wirkt sich dies nicht auf den Status der Aufgabe selbst aus. Es werden jedoch sowohl Nutzerbenachrichtigungen als auch Echtzeitberichte zur Flottenverfolgung unterstützt, die von Ihren Flottenbetreibern verwendet werden. Außerdem ermöglicht es später Analysen und Berichte zum Betrieb, die Sie für Bereitstellungsoptimierungen verwenden können.
Sobald das Fahrzeug an einer Haltestelle ankommt, kann Ihr System den Rest der Fahrt mit einem der folgenden Ansätze abwickeln:
Schließen Sie Aufgaben ab, sobald sie erledigt sind.
Wenn der Fahrer die Aufgabe als erledigt markiert, kann Ihr System sie aus der Haltestelle entfernen, der Haltestelle aber andere Aufgaben zuweisen.
Entfernen Sie die gesamte Halterung aus dem Fahrzeug.
Sobald der Fahrer alle Aufgaben als erledigt markiert hat und das Fahrzeug auf dem Weg zur nächsten Haltestelle ist, können Sie die gesamte Haltestelle aus dem Fahrzeug entfernen. Die Fleet Engine schließt automatisch alle Aufgaben, die mit einer entfernten Haltestelle verknüpft sind.
Das Schließen einer Aufgabe gibt keinen Hinweis auf Erfolg oder Misserfolg
Das Schließen einer Aufgabe weist nur darauf hin, dass die Aufgabe nicht mehr als in Bearbeitung angesehen wird.
Bei Aufgaben mit dem Status CLOSED
legen Sie das Ergebnis entweder auf SUCCEEDED
oder auf FAILED
fest. Dies ist erforderlich, um das tatsächliche Ergebnis für die Sendungsverfolgung anzugeben und eine ordnungsgemäße Abrechnung zu gewährleisten. Fleet Engine berechnet nur Übermittlungsaufgaben mit dem Status „ERFOLGREICH“.
Sobald Sie ein Aufgabenergebnis festgelegt haben, können Sie es nicht mehr ändern.
Beim Markieren des Ergebnisses einer Aufgabe gibt Fleet Engine automatisch den letzten bekannten Fahrzeugstandort für den Aufgabenort ein. Sie können jedoch die Zeit und den Ort des Aufgabenergebnisses ändern, nachdem sie festgelegt wurden. Flet Engine überschreibt diese Felder dann nicht.
5. Andere Aufgabenszenarien
Nicht alle Aufgaben, die Sie in Fleet Engine modellieren, lassen sich in einen typischen Ablauf einfügen. Beispiel:
- Abholaufgaben Wenn Sie eine pickup-Aufgabe haben, damit ein Paket zur späteren Bearbeitung an das Depot zurückgesendet wird, sollten Sie eine entsprechende Lieferaufgabe für das Paket erstellen, wobei der geplante Standort auf das Depot gesetzt ist. Andernfalls folgen Abholaufgaben im Allgemeinen demselben Ablauf wie Zustellaufgaben.
- Aufgabenneuzuweisung Sie können eine Aufgabe nicht direkt einem anderen Fahrzeug zuweisen. Wenn Sie eine Aufgabe von einem Fahrzeug in ein anderes verschieben möchten, schließen Sie die ursprüngliche Aufgabe und erstellen Sie sie dann neu, bevor Sie sie dem neuen Fahrzeug zuweisen. Wenn Sie die Aufgabenreihenfolge für eine Aufgabe aktualisieren, die bereits einem anderen Fahrzeug zugewiesen ist, gibt Fleet Engine einen Fehler aus.
- Aufgaben löschen Wie bei Fahrzeugen löscht Fleet Engine Aufgaben, die nicht aktualisiert wurden, nach sieben Tagen. Wenn Sie versuchen, eine Aufgaben-ID für eine zuvor geschlossene Aufgabe wiederzuverwenden, gibt Fleet Engine einen Fehler zurück, sofern diese ID in den letzten sieben Tagen verwendet wurde. Umgekehrt gilt: Wenn Sie Aufgabendaten länger als sieben Tage aufbewahren möchten, müssen Sie diese Funktion selbst implementieren, z. B. durch einen geplanten Job zum Zurücksetzen der 7-Tage-Uhr.
Aufgabenfortschritt teilen
In Fleet Engine können Sie den Aufgabenfortschritt in Echtzeit überwachen und die Fahrt des Fahrers auf zwei Arten teilen:
- Verbrauchererfahrung für Verbraucher, um den Status ihrer Sendungen oder einer angeforderten Dienstleistungsbestellung zu erfahren.
- Flotten-Tracking, mit dem Flottenbetreiber den Status der Fahrzeuge in der Flotte verfolgen und analysieren können.
Nutzererfahrung
Wenn Sie den Fortschritt von Aufgaben teilen möchten, richten Sie die Nutzeroberfläche mit dem JavaScript Consumer SDK ein. Mit dem SDK kannst du die visuelle Web- oder mobile App optimieren, sodass Kunden den Status ihrer Lieferung, die voraussichtliche Ankunftszeit und Echtzeit-Standortupdates für das Lieferfahrzeug im Blick behalten können. Siehe Übersicht über geplante Aufgaben für das Consumer SDK.
Das Consumer SDK enthält eine JavaScript-Karte und Datenkomponenten, um eine Verbindung zu Fleet Engine herzustellen. Die Karte ist ein Drop-in-Ersatz für ein standardmäßiges google.maps.Map
-Objekt. Dein Kunde sollte deine Endnutzer authentifizieren und die Rolle Delivery aus deinem Google Cloud-Projekt verwenden, um nur kundenspezifische Informationen zurückzugeben. Alle anderen Informationen in den Antworten werden von Fleet Engine gefiltert und entfernt. Bei einer Nichtverfügbarkeitsaufgabe werden beispielsweise keine Standortinformationen an einen Endnutzer weitergegeben.
In Fleet Engine aktivieren Sie die folgenden Einstellungen, um den Aufgabenfortschritt für den Nutzer freizugeben:
- Für Aufgaben wird die Property
TaskTrackingViewConfig
verwendet. Optional. - Aufgaben verwenden eine Tracking-ID, die die Bibliothek benötigt, um relevante Aufgaben für einen Nutzer zu identifizieren.
Flottenverfolgung
Mit der JavaScript Fleet Tracking Library können Sie die Standorte von Fahrzeugen in Ihren Flotten nahezu in Echtzeit visualisieren. Die Bibliothek verwendet die Fleet Engine API, um die Auslieferungsfahrzeuge und die ihnen zugewiesenen Aufgaben zu visualisieren. Wie das JavaScript-Consumer SDK enthält es eine JavaScript-Kartenkomponente, die ein Drop-in-Ersatz für eine standardmäßige google.maps.Map
-Entität mit Datenkomponenten ist, mit denen Sie eine Verbindung zur Fleet Engine herstellen.
Diese Bibliothek zeigt die Sichtbarkeit von Lieferfahrzeugen an, sobald sie in Fleet Engine erstellt wurden. Für diese Implementierung verwenden Sie die Cloud IAM-Rolle Super User des Fleet Engine-Dienstes und gewähren die Java Web Token-Anforderung für den Zugriff auf die Übermittlungsfahrzeuge und die zugehörigen Aufgaben.
Szenarien für geplante Aufgaben
In diesem Abschnitt werden verschiedene Aufgabenszenarien beschrieben, in denen die Informationen an dieser Stelle des Leitfadens zusammengefasst werden. Es soll Ihnen dabei helfen, die verschiedenen Möglichkeiten zu verstehen, wie Sie Ihre Transportvorgänge in Fleet Engine je nach Unternehmen modellieren können.
Lieferung mit Sendungsverfolgung
Dieses Lieferszenario zeigt eine geplante Haltestelle, die dem Depot sowohl bei der Abfahrt vom Depot zu Beginn der Fahrt als auch bei der Ankunft am Depot am Ende der Fahrt zugewiesen ist. Außerdem werden zwei Zustellaufgaben für eine Haltestelle angezeigt, von denen eine fehlgeschlagen ist. Mit dieser Zuweisung können Sie die Fahrten zum und vom Depot erfassen und Start- und Endzeiten für den Tag modellieren. Für geplante Stoppaufgaben wird nicht abgerechnet.
Abholung mit Depotlieferung
Dieses Szenario zeigt, wie eine Abholoption mit der erforderlichen entsprechenden Lieferaufgabe modelliert wird. Sie legen die Rückgabe an das Depot zu Abrechnungszwecken als Zustellung fest.
Zubringerfahrzeug
Dieses Szenario zeigt zwei Lieferungen mit einem geplanten Zwischenstopp in der Mitte für ein Zubringerfahrzeug. Das Ziel besteht darin, dass das Lieferfahrzeug mit einer Reihe von Paketen, die versendet werden sollen, zum Depot zurückkehren kann. Sie können das Zubringerfahrzeug auch mit einer geplanten Haltestelle modellieren.
Aufgabenzeit
Die Modellierung der Aufgabenzeiten trägt zu einer effektiven Routenplanung, voraussichtlichen Ankunftszeit und zum Umgang mit den Liefererwartungen bei. Fleet Engine bietet zwei wichtige Funktionen, um den Zeitplan von Aufgaben zu modellieren und vorherzusagen, wie in diesem Abschnitt beschrieben.
Aufgabendauer
Die Aufgabendauer wird mit dem Feld task_duration
festgelegt. Dieses Feld ist erforderlich und gibt die voraussichtliche Zeit an, die der Fahrer für die Erledigung von Aufgaben an einer Haltestelle oder für eine Pause benötigt. Bei Haltestellen umfasst dies alle erforderlichen Aktivitäten nach der Ankunft an einer Haltestelle, z. B. das Entladen von Paketen und die Interaktion mit dem Empfänger. Je spezifischer diese Informationen sind, desto besser kann Fleet Engine realistische Ankunftszeiten und voraussichtliche Ankunftszeiten für nachfolgende Haltestellen der Fahrt bereitstellen.
Details zu den Feldern finden Sie in der Dokumentation zu Protokollzwischenspeichern unter Dauer.
Zielzeitfenster
Die Zielzeit definiert einen vorgeschlagenen Zeitraum für eine Aufgabe, der in der Regel für die Kommunikation mit der Kundschaft oder für interne Planungszwecke verwendet wird. Dazu verwenden Sie das Feld target_time_window
, das aus einer Start- und einer Endzeit besteht.
Dies hat keinen direkten Einfluss auf Routenberechnungen, kann aber verwendet werden, um einen Nutzer beispielsweise über ein Zeitfenster für eine Paketzustellung zu informieren oder das Eintreffen eines geplanten Service Workers zu erwarten.
Aufgabenattribute
Mithilfe von Aufgabenattributen in der Fleet Engine können Sie Aufgaben bei Verwendung der ListTasks
-Anfrage nach bestimmten Merkmalen filtern. Sie können benutzerdefinierte Aufgabenattribute auch für Analysen mit Cloud Logging verwenden, um Informationen an Nutzer weiterzugeben oder für die Flottenverfolgung. Der Zweck ist ähnlich wie bei Fahrzeugattributen: Verwenden Sie diese Option, um eine fokussiertere Perspektive Ihrer Liefervorgänge zu schaffen.
Einschränkungen
- Erstellen benutzerdefinierter Attribute: In Fleet Engine ist die Anzahl der benutzerdefinierten Attribute, die Sie pro Aufgabe definieren können, begrenzt. Wenden Sie sich an Ihren Vertriebsmitarbeiter, um eine Erhöhung dieser Limits zu beantragen.
- Filterfunktionen: Aufgabenattribute bieten zwar Flexibilität beim Filtern, ersetzen aber nicht die wichtigsten Datenfelder für Aufgaben. Sie können sie für eine zusätzliche Filterung verwenden, die auf Ihren spezifischen Anforderungen basiert.
- Jedes Attribut muss einen eindeutigen Schlüssel haben.
- Geben Sie keine personenidentifizierbaren Informationen oder andere vertraulichen Daten in den Attributwert ein, da diese für den Nutzer sichtbar sein könnten.
- Datenvalidierung: Prüfen Sie, ob die Datentypen und -formate Ihrer benutzerdefinierten Attribute mit den Anforderungen von Fleet Engine kompatibel sind.