配送追跡を実装するには、複数のラスト ワンマイルのフリート ソリューション コンポーネント(Fleet Engine、JavaScript Shipment Tracking Library、Driver SDK)との連携が必要です。
Fleet Engine は、ラスト ワンマイルのフリート ソリューションのバックエンド サービスです。タスクと車両の状態を管理します。Driver SDK、JavaScript 配送トラッキング ライブラリ、バックエンド サービス間のやり取りを処理します。これらは REST または gRPC 呼び出しで Fleet Engine と通信できます。
JavaScript Shipment Tracking Library を一般ユーザー向けアプリに統合すると、車両の位置と到着予定時刻を可視化できます。
Driver SDK は、ドライバアプリに統合するライブラリです。ドライバーの位置、ルート、残り距離、到着予定時刻で Fleet Engine を更新する役割を担います。また、ターンバイターン方式のナビをドライバーに提供する Navigation SDK とも統合されています。詳しくは、Google マップを使ったナビゲーションをご覧ください。
次の図は、これらのコンポーネント間の関係を示しています。
配達車両とタスク
荷物の集荷と配送をモデル化する配送追跡アプリケーションの作成には、次の作業が含まれます。
- 荷物の輸送に使用された配送車両。
- 荷物の集荷と配送のタスク
配送車両
配達車両は、荷物をデポから配達場所へ、および集荷場所からデポに輸送します。場合によっては、集荷場所から配達場所に直接荷物を輸送することもできます。
タスク
各車両にはタスクが割り当てられています。これには、集荷や配達のタスク、ドライバーの必要な休憩、ドロップ ボックスなどの場所での停車予定などが含まれます。各タスクには一意のタスク ID が必要ですが、同じトラッキング ID を共有できます。タスクとそのスケジュール順序に基づいて、各タスクの ETA が計算されます。
配送タスクは、荷物の集荷または持ち込みに関連するものです。 配送タスクを作成するときに、荷物追跡番号または ID を指定する必要があります。また、タスクの完了、駐車時間、または引き渡し場所まで歩いて移動するための追加の時間を考慮して、滞留時間を指定する必要があります。
- 集荷場所と荷物追跡番号または ID を指定して、荷物を受け取る集荷タスクを作成します。
- 配達場所と荷物追跡番号または ID を指定して、荷物を配達するための配達タスクを作成します。
また、車両の集荷や配達ができない期間に利用不可のタスクを作成したり、配達車両による停車地をモデル化するためのスケジュールされた停車タスクを作成することもできます。ただし、利用不可のタスクやスケジュールされた停車地に Tracking_id を割り当てることはできません。そのため、利用不可のタスクやスケジュールされた停止に対して配送追跡を直接行うことはできません。
フローの例
次のシーケンス図は、一般的な配送追跡フローを示しています。
配送追跡の実装を開始するには、JavaScript 配送追跡ライブラリを使用して配送を追跡する をご覧ください。