オンデマンドルートとは何ですか?

このセクションのドキュメントでは、Google マップのモビリティ オンデマンド ルート サービスを使用してルートを作成し、操作する方法について説明します。次のことを理解していることを前提としています。

  • Fleet Engine: Fleet Engine の実装 の詳細、リクエスト メカニズム、セキュリティについて理解している必要があります。詳しくは、Fleet Engine サービスとはFleet Engine の設定のセキュリティに関するトピックをご覧ください。
  • オンデマンド サービスの車両の基本 。車両の概要をご覧ください
  • オンデマンド サービスのルートの基本オンデマンド ルートをご覧ください。

使用する TripService は、gRPCREST で使用できます。 わかりやすくするため、フィールド参照は gRPC の規則に従います。

オンデマンド サービスの Fleet Engine では、ルートは、ユーザーからの食品配達または配車リクエストの履行をモデル化する旅程の一種です。ルートには、旅程の進行状況に応じて Fleet Engine に報告するステータス(NEWENROUTE_TO_PICKUP など)があります。ルートのステータスは、車両に割り当てられた地理位置情報付きの経由地に対応しています。Fleet Engine は、ルートを更新するたびにこれらの車両の経由地を変更します。ルートと車両の関係について詳しくは、Fleet Engine の基本オンデマンド ルートをご覧ください。

ルートのライフサイクル

Fleet Engine で各ルートを追跡するには、まず Trip エンティティを作成する必要があります。参考までに、gRPC または REST をご覧ください。

次の表に、システムで作成されたルートのエンドツーエンドのフローと、Fleet Engine でのライフサイクル ステージの例を示します。Fleet Engine を設定済みで、ルートに割り当てる車両があり、ドライバー アプリで位置情報の更新が有効になっていることを前提としています。ドライバー SDK: オンデマンド ルートをご覧ください。

1 予約リクエストを受け取る。 Fleet Engine ルートが開始される前に、予約システムはまず、アプリまたは他の 予約システムを介してユーザーから配車または配達の リクエストを受け取ります。次に、システムは CreateTrip を使用して、乗車場所などの必須フィールドを含むルート エンティティを作成します。 この時点で、乗客や 降車場所などの他のフィールドを設定することも、車両が割り当てられるまで待つこともできます。単一の目的地へのルートを作成するをご覧ください。
2 車両を割り当てる。

システム内でルートに車両を直接割り当てて、割り当てを Fleet Engine に報告することも、Search Vehicle サービスを使用して車両を検索し、ルートと車両の両方の属性でフィルタして、旅程を完了する最適な車両を見つけることもできます。検索範囲内のオンライン車両は、ドライバー SDK から提供される位置情報の更新を通じて、近接性を通知します。

SearchVehicle がルートに一致する車両を返すと、システムは UpdateTrip エンドポイントを呼び出して、NEW ルートに割り当てた車両 ID を報告します。

3 ルートを更新する。 ドライバーがルートを受け入れて乗車場所への移動を開始すると、システムはルートのステータスを NEW から ENROUTE_TO_PICKUP に更新します。アプリからバックエンドへの直接接続、またはドライバー SDK から車両位置情報の継続的なストリームを受信する Fleet Engine のポーリングのいずれかを使用して、旅程全体で車両の位置情報 をポーリングします。次に、システムは各旅程のマイルストーンを Fleet Engine に報告します。これにより、車両の経由地リストが更新されます。
4 旅程をユーザーと共有する。 Fleet Engine は、ルートの詳細と車両の位置情報を Consumer SDK で利用できるようにします。Consumer SDK は、リスナーを使用してルートの更新を受信し、ユーザー アプリに表示します。Fleet Engine は、到着予定時刻、残りの距離、ルート、残りの車両の経由地を自動的に更新します。詳しくは、 オンデマンド ルートの旅程を共有するをご覧ください。
5 ルートを完了する。 車両がルートの目的地の経由地に到着し、ドライバーがルートの完了を示したら、システムは Fleet Engine で TripStatusCOMPLETE に設定します。車両と同様に、ルート エンティティはステータスに関係なく 7 日間 Fleet Engine 内でアクティブな状態が維持され、その後削除されます。

ルート シーケンス フロー

次の図は、このフローの詳細を示しています。

TripSequenceDiagram

次のステップ