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

クイックスタート (Quick start)

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

  • SWAT Routes: ルート計画、最適化、派遣、監視のため。
  • SWAT Driver App: ドライバーが現場での運用に使用します。
  • SWAT Teams: 乗客サービスの管理のため。
  • 基礎となるデータ構造とワークフロー。

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

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

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

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

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

ヒント

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

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

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

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

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

  • シミュレーションテンプレート (Simulation template): 設定、フリート構成、事前定義ルートなど、プロジェクトの新しい シミュレーション

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

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

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

  • 予約 (Bookings): 遵守する必要のある制約を含む、ピックアップとドロップオフを表す注文(または 予約

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

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

注記

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

一般的な API 配信プロセス (Typical API delivery process)

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

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

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

テンプレートからのシミュレーションの作成 (Creating simulation from the template)

シミュレーション

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

以下を使用して作成された各シミュレーションに対して

POST /api/v2/microservices/simulation_template_instance

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

ヒント

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

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

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

人員移動データモデル (People moving data model)

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

  • 組織に固有のすべてのデータを含むメインプロジェクト
  • 一部のサービスに関するデータを含み、そのサービスに関連するオブジェクトを含む輸送プロジェクト

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

データ削除 (Data deletion)

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