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

クイックスタート

統合APIは、SWATスイートのアプリケーション内のすべての機能への広範なアクセスを提供します。これには、次のものが含まれます。

  • SWAT Routes:ルート計画、最適化、配車、監視用。
  • SWATドライバーアプリ:現場での操作にドライバーが使用します。
  • SWATチーム:乗客サービスの管理用。
  • 基になるデータ構造とワークフロー。

このAPIは、次の主な用途向けに設計されています。

  • ルート計画機能のOMSまたはTMSへの統合
  • カスタムドライバーおよび/または乗客アプリケーションの構築
  • SWATバックエンドへの注文と予約の送信
  • 計画最適化の実行
  • 計画のリアルタイム実行の監視
  • 車両、ドライバー、ユーザー、およびシミュレーションの管理
  • 最適化モデルの微調整
  • カスタムビジネスワークフローの構築
  • 顧客の運用をサポートするためのテンプレートの構築

このAPIを介して行われたすべての変更はSWATアプリケーションに反映され、データはバックエンドに永続的に保存されます。データ永続性を必要としないアプリケーションの場合は、ステートレスAPIを使用できます。ただし、この代替手段は、運用テンプレートのサポートがないため、異なる実装アプローチと潜在的に高い複雑さを伴う場合があります。

SWAT統合APIを使用する場合、SWATは、ライブ注文の挿入の構成、ウェーブ計画のサポート、荷受人マスターの管理、配達証明の処理などのタスクを含む、データと最適化パイプラインの管理を担当します。逆に、ステートレスAPIでは、この責任はAPIコンシューマーにあります。

APIリファレンスドキュメントは、OpenAPI形式で入手できます。

ヒント

SWAT APIで使用される用語については、用語集を参照してください。

データモデルは、次のコンポーネントで構成されています。

  • プロジェクトは、複数の運用日にわたって確立する必要のある一意の設定がある場合に、エリア、顧客、部門などごとに作成されます。

  • プロジェクト設定には、プロジェクトの場所(緯度と経度)、タイムゾーン、メタデータなどのプロジェクト全体の設定が含まれます。また、UI/コンシューマーが使用するオプションの設定(ロケールやワークフロー設定など)も含まれる場合があります。

  • 車両タイプ設定(オプション)には、プロジェクトのフリート定義が含まれます。通常、これは、プロジェクトレベルでデータを保持したいWebおよびモバイルコンシューマーによって使用されます。これらの設定はシステムの動作に影響を与えず、オプションのストレージとして使用されます。

  • シミュレーションテンプレートには、設定、フリート構成、事前定義されたルートなど、プロジェクトの新しいシミュレーション

    を作成するために必要なすべてのシミュレーション設定が含まれています。これらの設定は、プロジェクトのシミュレーション作成ごとにデフォルトで適用されます。プロジェクトごとに複数のテンプレートがサポートされており、定期的な状況(日曜日に1つのテンプレート、月曜日に別のテンプレートなど)で使用できます。

  • シミュレーションプロセッサは、シミュレーション内で最適化リクエストを実行します。単一のシミュレーションで複数のプロセッサを利用でき、それぞれに一意の設定と車両/予約フィルターがあり、複雑なシナリオ(静的ルートとライブのオンデマンド挿入の組み合わせなど)を可能にします。これらのプロセッサはシミュレーションテンプレートにリンクでき、新しいシミュレーションが生成されると、事前定義された設定でプロセッサが自動的に作成されます。シミュレーションに定義されたプロセッサがない場合、デフォルトのプロセッサが最適化リクエストを処理します。

  • 車両には、各シミュレーションに適用される車両のリストとその関連設定が含まれます。このテンプレートは、ルート最適化に利用可能なフリート構成を定義します。

  • 予約には、尊重する必要のある制約を含む、ピックアップとドロップオフを表す注文(または予約

    )が含まれます。これは通常、%ERP|erp%やOMSなどのシステムから取得されますが、CVSや乗客アプリケーション(ライドシェアサービスの場合)を介して作成することもできます。

  • ジオフェンスには、最適化セッション中に制約として使用できるジオフェンスのリストが含まれており、車両がゾーンに入ることを許可または禁止します。1つのシミュレーション内のジオフェンスは重複する可能性があります。

注記

一部のネストされたオブジェクトまたはリンクされたオブジェクトには、重複するプロパティがある場合があります。この場合、オブジェクトインスタンスのプロパティがトップレベルのオブジェクトプロパティを上書きします。たとえば、ルーティングプロファイルを指定しない車両モデルの場合、シミュレーションのルーティングプロファイルが使用されます。したがって、車両のルーティングプロファイルがシミュレーションのルーティングプロファイルよりも優先されます。

一般的なAPI配信プロセス

プロジェクト構成とシミュレーション

テンプレートの確立は、通常、エンドカスタマーの運用に関する深い理解を必要とする要求の厳しいタスクです。これは、システムが運用上実行可能で効率的なルートを生成するために適切に調整する必要がある多数のパラメータと構成があるためです。これには、時間依存および顧客が編集可能なマップの設定、および(ルーティングAPI)[/docs/manuals/routing.md]も含まれます。APIコンシューマーはSWAT統合APIを介してこれらのアクションを実行できますが、SWATチームが初期構成を処理し、APIコンシューマーが必要な調整を行うことを強くお勧めします。

以下の図では、一般的なマイルストーンが示されています。すべての統合プロジェクトですべてのステップが実装されているわけではありませんが、各パートナーに注意を払うことでスムーズなエクスペリエンスを提供することを目指しています。

テンプレートからのシミュレーションの作成

シミュレーション

テンプレートを使用してプロジェクトを作成した後、そのテンプレートに基づいて各運用日の新しいシミュレーションを簡単にインスタンス化でき、各シミュレーションをゼロから構成する必要がなくなります。

POST /api/v2/microservices/simulation_template_instance

を使用して作成された各シミュレーションについて

新しいシミュレーションには、プロジェクトで利用可能なsimulation templateオブジェクトのデフォルト設定が入力されます。

ヒント

プロジェクトには、simulation_modetemplateに設定された多くのシミュレーションを含めることができ、これらはプロジェクト内でシミュレーションをインスタンス化するためのテンプレートとして使用されるため、時間と労力を節約できます。

シミュレーションのインスタンスが作成されると、新しい予約

をそのシミュレーションにアップロードできます。簡単にするために、SWAT統合APIは、予約のアップロード時にシミュレーションインスタンスを自動的にプロビジョニングする機能を提供します。簡単な統合ガイドを参照してください。

人の移動データモデル

以下の図は、乗客の予約処理を可能にするための乗客、請求エンティティ、およびプロジェクト間の関係を表しています。 モデルには、顧客の組織にリンクされている2種類のプロジェクトがあります。

  • 組織に固有のすべてのデータを含むメインプロジェクト
  • いくつかのサービスに関するデータを含み、そのサービスに関連するオブジェクトを含む交通プロジェクト

1つの組織は1つのメインプロジェクトのみを持つ必要があり、複数の交通プロジェクトを持つことができます。

データ削除

予約を削除 -> 予約のノードが削除されます 車両を削除 -> 割り当てられたノードは削除されますが、予約は不明な状態のままです