メインコンテンツまでスキップ

オンデマンドルート最適化とカスタム乗客アプリケーション

SWAT APIは、オペレーターが予約と乗客データを管理するためのWebアプリケーションとともに、モバイルデバイス用のカスタム乗客またはドライバーアプリケーションの構築をサポートしています。SWAT APIとコンポーネントで標準で利用できる2つの典型的なシナリオがあります。

  • オンデマンド車両共有(車両はリアルタイムでエリア内を移動し、乗客はリアルタイムでピックアップされる必要があります。別名オンデマンド。相乗りやバスプーリングの典型的なユースケース)
  • ジャストインタイム乗客配達(乗客は事前に予約され、特定の時間までにプールされて単一の場所に移動されます。典型的なユースケースには従業員輸送が含まれます)

さらに、SWAT APIはオプションで、次のようなより複雑なワークフロー機能を含みます。

  • 要求された予約の見積もり。車両の到着予定時刻と乗客の運賃を組み込みます。
  • 乗客が乗車オファーを受け入れるか拒否するかを決定できるオファーベースのワークフロー

前提条件

SWATチーム(詳細はこちらを参照)は通常、クライアントに高品質で実用的なワークフローを保証するために、初期プロジェクト構成を実行します。通常のセットアップに加えて、インテグレーターはSWATに、プロジェクトのウェイポイントベースのセットアップを有効にするように要求できます。これにより、乗客が任意の場所でピックアップされるのを制限し、代わりにバス停やその他の場所など、事前定義された場所のセットでのみピックアップとドロップオフを許可します。これは、APIを使用して取得することもできるtransit stopオブジェクトを使用して実現されます。

乗客体験を向上させるために、SWAT APIは、有効になっている場合に乗り換え停留所への徒歩ルートの提供をサポートしています。指定された近接範囲内に複数の停留所がある場合、SWAT APIは最適化基準を使用して、乗客にとって最も歩行時間が短い停留所を選択します。

運用と最適化エンジンの構成は、通常SWATチームによって構成されるテンプレートレベルで実行されます。

アプリケーション間のリアルタイム通信を容易にし、オンデマンドサービスをサポートするために、WebsocketまたはWebhookを利用できます。

SWAT APIは、システムへの動的なドライバーと乗客の登録もサポートしています。

さらに、インテグレーターがSWAT提供の支払いモデルをオプトインした場合、統合は乗客への請求と課金をサポートできます。

このワークフローが正しく機能するには、次の前提条件を満たす必要があります。

  • プロジェクトが適切な資格情報で構成されていること。
  • (オプション)そのプロジェクトに一連の乗り換え停留所が割り当てられていること。
  • シミュレーションテンプレートとサービスエリアのジオフェンスが構成されていること。

原則と認証

SWAT APIは、仲介バックエンドを使用する場合と使用しない場合の2つのアプローチでエンドカスタマーアプリケーションを構築することをサポートしています。それぞれのアプローチには長所と短所があります。インテグレーターは、ワークフローをより細かく制御でき、機密データがインテグレーターのシステム内に留まることを保証できるため、独自のバックエンドを持つことをお勧めします。

インテグレーターが独自のバックエンドを持つアプローチ

インテグレーターが専用のバックエンドを使用しないアプローチ

ドライバーアプリケーションと組み合わせ

SWAT APIは、APIを操作する際の混合モードをサポートしています。たとえば、インテグレーターは独自のWebアプリケーション、ドライバーアプリケーション、乗客アプリケーションを構築するか、SWAT提供のドライバー、乗客、またはWebアプリケーションと組み合わせて使用するかを選択できます。例:

あるいは、独自のオペレーター管理アプリケーションを構築したいインテグレーター向け:

ワークフローの定義

望ましい結果に応じて、ワークフローは異なる場合があります。次の図は、SWAT APIで可能な包括的なワークフローの例を示しています。

包括的なPAフロー

さらに、簡略化されたワークフローは次のようになります。

簡略化されたPAフロー

(オプション)乗り換え停留所の管理

乗り換え停留所は、乗客のピックアップとドロップオフのウェイポイントとして機能します。SWATチームは通常、これらの停留所を構成します。ただし、インテグレーターは次の方法を使用して情報を取得または更新できます。

POST {{base_url}}/api/v2/transitstop api

消費側アプリケーションは、近隣で利用可能な停留所を要求することもできます。

GET {{base_url}}/api/v2/transitstop/nearest api

(オプション)シミュレーションテンプレート(サービステンプレート)の設定

シミュレーションテンプレート(サービステンプレート)は、オンデマンド運用のすべての設定を保存するために使用されます。通常、これはSWATによって構成されますが、構成する必要がある場合や現在の設定を取得する必要がある場合は、シミュレーションapiを使用できます。

(オプション)車両の作成、変更、削除

警告

車両は、シミュレーション(サービス)テンプレートレベルおよびその日のシミュレーション(サービス)インスタンスレベルで作成できます。シミュレーション(サービス)が終了または削除されると、シミュレーションで直接作成された車両は保存されず、次のサービスでは利用できなくなります。さらに、シミュレーションインスタンスで車両が更新(有効化、無効化、変更)された場合、変更はシミュレーションテンプレートに自動的に伝播されないため、他のシミュレーションインスタンスには適用されません。

車両テンプレート(サービス)には、各運用日に利用可能な車両のリストを含めることができます。車両を作成するには、POST車両APIを使用できます。apiこのAPIリクエストは、新しい車両が属する適切なsimulation_idを設定することにより、テンプレートレベルまたはサービスレベルのいずれかで車両を作成するために使用できます。

車両を有効化および無効化するには(最適化および予約割り当ての目的で)、車両モデルin_useフィールドを使用できます。

車両は、is_invalidatedフラグを使用してソフト削除もサポートしています。

(オプション)ドライバーの作成

ドライバーは、APIリクエストを介してオプションで作成および管理できます。作成されたドライバーは、車両モデルAPIのdriverフィールドを使用して、対応する車両にリンクできます。この手順はオプションであり、プロジェクトでSWATドライバーアプリケーションが使用されている場合にのみ必要です。それ以外の場合、サービスは割り当てられたドライバーを使用せずに実装できます。