スケジュール設定されたタスク

このドキュメントでは、Fleet Engine のスケジュール設定されたタスクサービスについて説明します。前提 Fleet Engine とはを読み、特定のフリートについて把握している。 サービス機能を提供します。

このドキュメントを読む際は、次の点に注意してください。

  • タスクを作成して停車地に関連付ける: タスクとその実行場所との間の現実世界の関連付けを ドライバーがタスクを完了できるように車両が停止することが期待されます。 自動車の概要を読む Fleet Engine における車両の仕組みを説明します
  • スケジュール設定されたタスク用の Fleet Engine は、次のリソースを使用します: TaskDeliveryVehicle。Fleet Engine は gRPC サービスと REST の両方を提供する インターフェース:
    • Task: gRPCREST
    • DeliveryVehicle: gRPCREST
    • わかりやすくするため、このマニュアルでは gRPC の例を使用しています。

スケジュールされたタスクとは

Fleet Engine のスケジュールされたタスクは、実行される個々のアクションを表します。 より広い文脈の中で、ドライバーが車両を使用する 交通オペレーションです。ドライバの特定の目標を定義します。 例:

  • 住宅に商品を配達する
  • 荷物を受け取り、配送センターに返送する
  • 顧客にオンサイト サービスを提供する場所に立ち寄る
  • 車両に給油するスケジュール設定された停車地

タスクの要素

次の図は、標準のスケジュール設定されたこれらのタスク要素を 考えてみましょう

基本タスク フィールド

フィールド 説明
タイプ タスクに関連付けられたアクションのタイプを定義します。
タスク ID システム内でタスクを一意に識別する文字列。
予定の場所 タスクを実行する場所を指定します。 このロケーションは、 停車地。
タスクが開いているか閉じているかを示します。
タスクの結果 タスクが成功したか失敗したかを示します。

タスクのデータモデル

次の図は、Task リソースのデータモデルを示しています。 関連する DeliveryVehicle リソースの図の横に表示されます。Google Chat では 両方の図を確認して 2 つのリソースの関係を確認する 次の点に留意してください

  • 予定場所: 車両の停車地とタスクの両方に予定場所が設定されています。 定義します。
    • タスクの場合、計画されたロケーションとは、ドライバーのアクションが 行われる必要があります。例: 大規模な住宅に 15 個の荷物を配達 複雑で、組織内のさまざまなメールルームに配信する必要がある 考えてみましょう
    • 車両停車地の場合、予定された場所は車両の停車地となる停車地を示します。 運転手がタスクを完了するまで待機しています。たとえば、 アパートの入り口に車両が停車し、運転手が 複合施設内の別々の郵便室に手作業で配達します。
  • State: タスクと車両停留所のどちらにも state フィールドが存在します。これは、 相互に通信します。
    • 車両停止の状態は、現在の車両の進行状況を 車両の追跡に使用されます。
    • タスクの状態は、タスクがアクティブかどうかを示します。この 設定など、タスクに対して行う他の操作にも影響します。 車両に割り当てられます
  • タスクの結果: タスクの結果は、データモデル内の重要なフィールドです。 タスクの成功または失敗を示すために使用されるため、 渡します。

  • ID:

    • 車両にタスクを割り当てると、フリート エンジンによって deliveryVehicleId フィールド。この読み取り専用フィールドは、 割り当てられています。
    • タスク ID は、システム内のすべてのタスクにわたる一意の識別子です。
    • トラッキング ID は、配送状況を追跡するためのタスクを識別します。

ToDo リストのデータモデル

車両データモデル

タスク ID

Fleet Engine の車両 ID と同様に、タスクにはそれぞれ ID を含める必要があります。 システム内の他のタスクと区別できます。お客様が参照と管理 ワークフロー内のすべてのタスクを ID で識別できます。これらの ID を作成するには、 CreateTaskRequest サービスに準拠し、 要件があります。

この文字列はその後、タスクリソース自体の名前の一部、 Task オブジェクトの出力専用フィールド。これは Fleet Engine が 車両名リソースを構築します。詳しくは、リソースの命名セクションをご覧ください。 Fleet Engine の概要

タスク ID の要件
プロパティ 説明
一意性 混乱を避け、適切に識別できるように、Fleet Engine 実装内で各タスク ID は一意である必要があります。
形式
  • 個人を特定できる情報(PII)やクリアテキスト データは含まれない。
  • 有効な Unicode 文字列。
  • 最大 64 文字です。
  • 次の文字は除きます。 / : \ ? #
  • 次に従って正規化 Unicode 正規化フォーム C
タスク ID の例
適切なタスク ID の例
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
許可されていないタスク ID
  • 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

タスクの種類

Fleet Engine は、組織内のさまざまなアクションを表すためにさまざまなタスクタイプをサポートしています。 交通オペレーションです。ここでは、その公開状況と公開設定について説明します。 お支払い情報などです

タスクの種類 説明 配送追跡の可視性 請求済み
デリバリー タスク 顧客のために品物を持ち込んだり、タスクを完了したりする場合に使用します。 消費者はこれを確認して追跡できます。 はい
Pickup タスク 購入者が商品を受け取ることを示すために使用します。必要なこと 受け取りタスクに対応する配送タスクがあります。 消費者はこれを確認して追跡できます。 いいえ
利用不能に関するタスク ドライバーが休憩中や車両に給油した場合などに、車両が利用できないと認識します。 コンシューマには表示されません。 いいえ
スケジュールされた停止タスク 特定の場所での停車を必要とする配達不可タスク。停留所のスケジュール設定は、同じ場所での他の配達や集荷と関係なく、特定の場所で毎日予定されている集荷所に利用します。また、ドロップ ボックスからの集荷用にスケジュール設定された停車タスクを作成したり、フィーダーと車両間の乗り換えやサービス センターとサービス ポイントでの停車をモデル化したりすることもできます。 コンシューマーはこの特定のタスクを追跡することはできませんが、他のタスクの追跡の一部として確認できます。 いいえ

タスクとジャーニーのライフサイクル

このセクションでは、フリート内のデリバリー タスクのライフサイクルについて詳しく説明します。 説明します。タスクのライフサイクルは、車両の走行に関係します。これは、 ドライバーが特定の場所でタスクを完了するためには、その停車地まで移動しなければならない 選択します。

1. タスクの作成

Fleet Engine で最初にタスクを作成するときに、さまざまなフィールドを設定します。 タスクの 1 つを、停車地との関連付けとは別個に取得します。

タスク プロパティ
プロパティ 説明
[OPEN] に設定
ID 配送追跡を使用する場合は、タスクと荷物追跡 ID を設定します 提供しています
タイミング タスクの計画期間とターゲット時間枠。詳しくは、 詳しくは、タスクのタイミングをご覧ください。
予定の場所 タスクの正確な地理的座標を設定する 完了していません。

2. タスクの割り当て

車両にタスクを割り当てる場合は、車両と連携して行います。 停止します。停車地は緯度と経度で ドライバーが停車地に関連するタスクを完了している間に車両が駐車します。 停車地は通常、ローディング ホルダーや道路がスナップされている場所などのアクセス ポイントです あります。

3. 処理中

タスクの状態は、OPEN または CLOSED のいずれかです。ただし、いったんタスクに 車両の場合は、車両との関連付けを通じて進行状況を追跡できます。 タスクを行う停車地との関係で車両の位置を指定します。 完了していません。

車両が停車地から出発するかナビゲーションを開始すると、 停車地が ENROUTE に変わります。このようにして、消費者の配送追跡は 残りの経由地数と推定数に基づいてタスクの受取人を更新する 指定します。また、コンシューマとクラウド プロバイダが 配送追跡やフリート追跡に使用できます

4. 到着とタスクの結果

車両が停車地に到着したときは、停車地のステータスを ARRIVEDENROUTE の停止ステータスと同様に、これは次のステータスには影響しません。 できます。ただし、コンシューマへの通知とリアルタイムの通知の両方を フリート オペレーターが使用するフリート追跡に関するレポート。また、後から デリバリーに使用するオペレーションに関する 分析とレポートを作成できます 役立ちます

停車地に到着すると、システムは残りのタスクを処理できる 移行プロセスを進めるには、次のいずれかの方法を使用します。

  • 完了したタスクを終了する

    ドライバがタスクを完了としてマークすると、システムはそのタスクを 他のタスクはそのままにします。

  • 車両から停車地全体を削除する

    ドライバーがすべてのタスクを完了し、車両が 車両からその駅または停留所全体を削除できます。フリート エンジン は、削除された経由地に関連付けられているすべてのタスクを自動的に終了します。

で確認できます。

タスクの終了は成功または失敗を意味するものではない

タスクを閉じることは、そのタスクが進行中のものと見なされないことを意味するだけです。 CLOSED 状態のタスクの場合は、結果を SUCCEEDED または FAILED。これは、配送の実際の結果を示すために必要です。 適切に請求できるようになりますFleet Engine では、課金の対象となるのは SUCCEEDED です。

タスクの結果は、一度設定すると変更できません

タスクの結果をマークすると、Fleet Engine がタスクを自動的に入力 最後に認識された車両の位置情報を使用して 結果の位置を返しますただし、 タスク結果時刻とタスク結果の場所を設定した後、 Fleet Engine はこれらのフィールドをオーバーライドしません。

5. その他のタスクのシナリオ

Fleet Engine でモデル化するタスクがすべて、一般的なジャーニー フローに収まるわけではありません。次に例を示します。

  • 受け取りタスク。荷物の返送タスクがある場合 後の処理のためにデポに送信する場合は、対応する delivery タスクを行うときに、予定場所をデポに設定します。 それ以外の場合、集荷タスクは通常、配達タスクと同じフローに従います。
  • タスクの再割り当て。タスクを別のユーザー グループに直接再割り当てすることはできません。 あります。別の車両にタスクを移動するには、 新しい車両に割り当てる前に再作成する必要があります。条件 すでに割り当てられているタスクの順序を、 Fleet Engine はエラーを生成します。
  • タスクの削除。車両の場合と同様に、Fleet Engine は、Google に 7 日後に更新されます。すでに設定されているタスク ID を再利用しようとすると、 すでに閉じられている場合、その ID が使用されていれば、Fleet Engine はエラーを返します。 過去 7 日間に発生した アラートを表示します逆に、タスクデータを長期間保持したい場合は、 実装する必要があります。たとえば、 7 日間の時計をリセットするスケジュールジョブが 作成されます

タスク ジャーニーの共有

Fleet Engine のタスクジャーニー共有を使用すると、Google Cloud で ドライバーの道のりを、次の 2 つの主要な方法で共有します。

  • カスタマー ジャーニーの共有: 消費者が購入経路の 依頼したサービス注文を記録します
  • フリートのトラッキング: フリート オペレーターがステータスを追跡および分析できるようにします 把握することができます

カスタマー ジャーニーの共有

カスタマー ジャーニーの共有をオペレーションに統合するには、ジャーニーを設定します 使用しています。この SDK を使用すると、 ビジュアル ウェブアプリやモバイルアプリで、消費者は自社のサイトの状況を 配送情報、到着予定時刻、リアルタイムの位置情報 提供しますカスタマー ジャーニーの共有に関する概要: スケジュール設定されたタスクをご覧ください。

カスタマー ジャーニーの共有 SDK に JavaScript の地図とデータ コンポーネントが含まれている Fleet Engine に接続するための コンポーネントが含まれていますこの地図は、Google Maps Platform の 標準の google.maps.Map オブジェクト。クライアントはお客様側を認証する必要がある Google Cloud プロジェクトの Delivery コンシューマ ロールを使用して、 顧客固有の情報のみを返すことができますFleet Engine はすべてをフィルタして秘匿化する その他の情報を回答に含めます。たとえば、使用不能なタスク中は、 位置情報がエンドユーザーと共有されることはありません。

Fleet Engine では、カスタマー ジャーニーについて以下の設定を有効にします 共有:

  • タスクでは TaskTrackingViewConfig プロパティを使用します。省略可。
  • ToDo リストではトラッキング ID が使用されます。ライブラリは、この ID を使用して、 コンシューマ向けの タスクを行えます
で確認できます。

フリートのトラッキング

JavaScript フリート トラッキング ライブラリを使用すると、 車両をほぼリアルタイムで把握できます。このライブラリでは、 Fleet Engine API: 配達車両の可視化と タスクを管理できます。JavaScript コンシューマ SDK と同様に、 標準の google.maps.Map のドロップイン代替となる地図コンポーネント Fleet Engine との接続に使用するデータ コンポーネントを持つエンティティです。

このライブラリは、配達車両が到着した直後の可視性を表示します Fleet Engine で作成されます。この実装では、Fleet Engine を使用して サービスのスーパー ユーザーの Cloud IAM ロールと、 配送車両とそれに関連するタスクに対するアクセスを制限できます。

スケジュール済みタスクのシナリオ

このセクションでは、さまざまなタスクシナリオについて説明します。 これについては後ほど説明しますこのガイドは、Google Cloud の Fleet Engine で輸送業務をモデル化できるさまざまな方法 ビジネスに応じて異なります

追跡付きで配送

この配送シナリオは、スケジュール設定された停止タスクを示しています。 発車時刻の初めの発車時および出発時と 旅程の終わりには輸送施設に到着する 必要がありますまた、 には、停車地に対する 2 つの配達タスクが表示されていますが、そのうちの 1 つは失敗しました。使用する 基地との間の追跡を可能にするとともに、 開始時刻と終了時刻を設定します課金なし スケジュール設定された停止タスクで発生します。

集荷所による店舗受け取り

このシナリオでは、乗車を 納品タスクが必要でした配送センターへの返品を 配信する必要があります。

フィーダー車両

このシナリオでは、停留所が間に挟まれた 2 つの配達が フィーダー ビークル。これは、配達車両が 発送対象の荷物を何個か持参してデポに返送する。マイページ スケジュール設定された停車地でフィーダー車両をモデル化することもできます。

タスクのタイミング

タスクの時間をモデル化することで、効果的なルート計画、到着予定時刻、 提供しますFleet Engine には、モデル化とオーケストレーションのために タスクのタイミングを予測できます。

タスクの期間

タスクの所要時間は、task_duration フィールド(必須項目)で設定します。 ドライバーが停車地でタスクを完了するのに費やす予想時間をモデル化 リフレッシュできます停車地の場合、これには必要なアクティビティがすべて含まれます。 停車地に到着した後(荷物の積み下ろしや、荷物の 送信します。情報が具体的であるほど Fleet Engine は 旅程に続く停車地の、現実的な到着時刻と到着予定時刻を提示する。 フィールドの詳細については、プロトコル バッファのドキュメントDuration をご覧ください。

ターゲット時間枠

ターゲット時間は、タスクに対して提案される期間を定義します。通常は次の期間に使用されます。 顧客とのコミュニケーションや社内での計画策定のために利用されています。これは、 target_time_window フィールド。開始時刻と終了時刻で構成されます。 これはルート計算に直接影響することはありませんが、 パッケージの時間枠について消費者に警告するなど、 スケジュールされた Service Worker の到着予定時刻などを指定できます。

タスク属性

Fleet Engine のタスク属性は、Google Cloud リソースに基づいて ListTasks リクエストを使用する場合は、特定の特性に関する原則を参照してください。また、 Cloud Logging による分析用のカスタムタスク属性のほか、 カスタマー ジャーニーの共有やフリートのトラッキングで情報を伝えること。「 車両属性の場合と似ています。 デリバリーオペレーションの 集中的な視点を提供します

制限事項

  • カスタム属性の作成: Fleet Engine は、カスタム属性の数を 属性を定義できます。営業担当者にお問い合わせのうえ、 上限の引き上げをリクエストできます
  • フィルタリング機能: フィルタリングの柔軟性を提供する一方で、 属性は、主要なタスクデータ フィールドに代わるものではありません。用途 追加のフィルタを使用できます。
  • 各属性には一意のキーが必要です
  • 個人を特定できる情報やその他の機密情報は含めないでください。 ユーザーに表示されます。
  • データの入力規則: カスタムの広告のデータ型と形式を Fleet Engine の要件と互換性があることを確認します。

次のステップ