Method: providers.vehicles.search

リクエストのオプションに一致する車両のリストを返します。

HTTP リクエスト

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
parent

string

必須。providers/{provider} の形式で指定してください。プロバイダは、この呼び出しを行うサービス アカウントがメンバーとなっている Google Cloud プロジェクトのプロジェクト ID(sample-cloud-project など)である必要があります。

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
フィールド
header

object (RequestHeader)

標準の Fleet Engine リクエスト ヘッダー。

pickupPoint

object (TerminalLocation)

必須。検索する付近の乗車ポイント。

dropoffPoint

object (TerminalLocation)

お客様の降車場所。tripTypesTripType.SHARED が含まれている場合、このフィールドは必須です。

pickupRadiusMeters

integer

必須。乗車地点を中心とした車両検索の半径を定義します。検索半径内の車両のみが返されます。値は 400 ~ 10,000 メートルの範囲で指定してください。

count

integer

必須。返す車両の最大数を指定します。値は 1 ~ 50 の範囲で指定してください。

minimumCapacity

integer

必須。ルートの人数を指定します。1 以上の値を指定してください。ドライバは容量の値に考慮されません。

tripTypes[]

enum (TripType)

必須。提案されたルートのタイプを表します。タイプを 1 つだけ含める必要があります。UNKNOWN_TRIP_TYPE は使用できません。検索対象を、そのルートタイプに対応できる車両に限定します。

maximumStaleness

string (Duration format)

検索を、指定した期間内に Fleet Engine に位置情報の更新を送信した車両のみに限定します。位置情報を送信している静止車両は、最新ではないとは見なされません。このフィールドが設定されていない場合、サーバーはデフォルト値として 5 分を使用します。

s」で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

vehicleTypes[]

object (VehicleType)

必須。検索対象を、指定されたタイプのいずれかを持つ車両に制限します。車両タイプを少なくとも 1 つ指定する必要があります。カテゴリが UNKNOWN の VehicleTypes は使用できません。

requiredAttributes[]

object (VehicleAttribute)

呼び出し元は、requiredAttributes フィールド、requiredOneOfAttributes フィールド、requiredOneOfAttributeSets フィールドを自由に組み合わせて複雑な論理演算を作成できます。

requiredAttributes はリストです。requiredOneOfAttributes はリストのリストを許可するメッセージを使用します。2 つのフィールドを組み合わせることで、次の式を構成できます。

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

検索対象を、指定した属性を持つ車両のみに制限します。このフィールドは論理積(AND)演算です。指定できる requiredAttributes は最大 50 個です。車両で使用できる属性の最大数と同じです。

requiredOneOfAttributes[]

object (VehicleAttributeList)

検索対象を、各 VehicleAttributeList で指定された属性の少なくとも 1 つを持つ車両に限定します。各リスト内で、車両が少なくとも 1 つの属性に一致する必要があります。このフィールドは、各 VehicleAttributeList における包括的な分離/OR 演算と、VehicleAttributeList のコレクションに対する論理和/AND 演算です。

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets は追加機能を提供します。

requiredOneOfAttributes と同様に、requiredOneOfAttributeSets はリストのリストを許可するメッセージを使用し、次のような式を許可します。

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

VehicleAttributeList 内のすべての属性を持つ車両のみに検索を制限します。各リスト内で、車両がすべての属性に一致する必要があります。このフィールドは、各 VehicleAttributeList における論理積/AND 演算と、VehicleAttributeList のコレクション全体における包括的な分離/OR 演算です。

orderBy

enum (VehicleMatchOrder)

必須。結果の順序付けの基準を指定します。

includeBackToBack

boolean

1 つの有効なルートを含む車両がこの検索の対象となるかどうかを示します。このフィールドは、currentTripsPresent が指定されていない場合にのみ使用されます。currentTripsPresent が指定されておらず、このフィールドが false の場合、ルートが割り当てられている車両は検索結果から除外されます。currentTripsPresent が指定されておらず、このフィールドが true の場合、ステータスが ENROUTE_TO_DROPOFF の有効なルートが 1 つ含まれる車両が検索結果に含まれます。currentTripsPresent が指定されている場合、このフィールドを true に設定することはできません。

デフォルト値は false です。

tripId

string

この SearchVehicleRequest に関連付けられているルートを表します。

currentTripsPresent

enum (CurrentTripsPresent)

有効なルートがある車両がこの検索の対象となるかどうかを示します。tripTypeSHARED が含まれている場合は、CURRENT_TRIPS_PRESENT_UNSPECIFIED 以外に設定する必要があります。

filter

string

省略可。車両の検索時に適用するフィルタクエリ。フィルタ構文の例については、http://aip.dev/160 をご覧ください。

このフィールドは、requiredAttributesrequiredOneOfAttributesrequired_one_of_attributes_sets の各フィールドを置き換えるように設計されています。空でない値を指定する場合は、requiredAttributesrequiredOneOfAttributesrequired_one_of_attributes_sets の各フィールドを空にする必要があります。

このフィルタは、minimumCapacityvehicleTypes などの他の制約との AND 句として機能します。

なお、サポートされているクエリは車両属性(attributes.<key> = <value>attributes.<key1> = <value1> AND attributes.<key2> = <value2> など)のみです。フィルタクエリで許容される制限の最大数は 50 です。

また、すべての属性は文字列として格納されるため、属性との比較でサポートされるのは文字列比較のみです。数値またはブール値と比較するには、値を文字列として扱われるように明示的に引用符で囲む必要があります(例: attributes.<key> = "10"attributes.<key> = "true")。

レスポンスの本文

vehicles.search レスポンス メッセージ。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
フィールド
matches[]

object (VehicleMatch)

SearchVehiclesRequest 条件に一致する車両のリスト。SearchVehiclesRequest.order_by フィールドに基づいて並べ替えられます。

VehicleAttributeList

車両属性のリストのリストデータ型。

JSON 表現
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
フィールド
attributes[]

object (VehicleAttribute)

このコレクション内の属性のリスト。

VehicleMatchOrder

レスポンス内の車両の一致順序を指定します。

列挙型
UNKNOWN_VEHICLE_MATCH_ORDER デフォルト。車両の一致順序が未指定または認識できない場合に使用されます。
PICKUP_POINT_ETA 乗車場所までの運転時間の昇順。
PICKUP_POINT_DISTANCE 乗車場所までの運転距離の昇順。
DROPOFF_POINT_ETA 降車場所までの車両走行時間の昇順。この注文は、リクエストで降車場所が指定されている場合にのみ使用できます。
PICKUP_POINT_STRAIGHT_DISTANCE 車両で最後に報告された場所から乗車地点までの直線距離の昇順。
COST 設定された一致費用の昇順。一致費用は、直線距離と到着予定時刻の加重計算として定義されます。重み付けはデフォルト値で設定されており、お客様ごとに変更できます。プロジェクトでこれらの重み付けを変更する必要がある場合は、Google サポートにお問い合わせください。

CurrentTripsPresent

車両の現在のルートについての制限の種類を指定します。

列挙型
CURRENT_TRIPS_PRESENT_UNSPECIFIED ルートがある車両の空き状況は、includeBackToBack フィールドによって管理されます。
NONE ルートのない車両が検索結果に表示されることがあります。この値を使用する場合、includeBackToBacktrue にすることはできません。
ANY 5 件以下の現在のルートと 10 地点を含む車両が検索結果に含まれます。この値を使用する場合、includeBackToBacktrue にすることはできません。

VehicleMatch

車両 SearchVehiclesRequest の有効なルートのポイントに一致する車両の車両と関連する推定値が含まれます。

JSON 表現
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
フィールド
vehicle

object (Vehicle)

必須。リクエストに一致する車両。

vehiclePickupEta

string (Timestamp format)

リクエストで指定された乗車場所までの車両の運転 ETA。空の値は、車両の到着予定時刻を計算できなかったことを示します。SearchVehiclesRequest.include_back_to_backtrue で、この車両に有効なルートがある場合、vehiclePickupEta には現在のアクティブなルートを完了するために必要な時間が含まれます。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

vehiclePickupDistanceMeters

integer

車両の現在地からリクエストで指定された乗車ポイントまでの距離(既存のルートの中間乗車地点または降車地点を含む)。この距離は、計算された運転(ルート)距離と、ナビゲーションの終点とリクエストされた乗車ポイントの間の直線距離で構成されます。(ナビゲーションの終点からリクエストされた乗車ポイントまでの距離は通常短いです)。空の値は、距離の計算でエラーが発生したことを示します。

vehiclePickupStraightLineDistanceMeters

integer

必須。リクエストで指定された乗車場所から車両までの直線距離。

vehicleDropoffEta

string (Timestamp format)

リクエストで指定された降車場所までの車両の到着予定時刻。ETA には、リクエストで指定された dropoffPoint の前にある任意の地点での停車地も含まれます。この値は、降車地点がリクエストで指定されている場合にのみ入力されます。空の値は、到着予定時刻の計算中にエラーが発生したことを示します。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

vehiclePickupToDropoffDistanceMeters

integer

リクエストで指定された乗車地点から降車地点までの車両の走行距離(メートル単位)。距離は 2 地点間の範囲のみであり、車両の位置や、車両が乗車ポイントまたは降車地点を訪問する前に訪問する必要があるその他のポイントは含まれません。この値は、リクエストで dropoffPoint が指定されている場合にのみ入力されます。空の値は、リクエストで指定された乗車地点から降車地点までの距離を計算できなかったことを示します。

tripType

enum (TripType)

必須。乗車場所までの到着予定時刻を計算するために使用されたリクエストのルートタイプ。

vehicleTripsWaypoints[]

object (Waypoint)

到着予定時刻の計算に使用されるウェイポイントの順序付きリスト。このリストには、車両の位置情報、車両のアクティブなルートの乗車地点、リクエストで提供された乗車地点が含まれます。空のリストは、車両の到着予定時刻を計算できなかったことを示します。

vehicleMatchType

enum (VehicleMatchType)

車両の一致タイプ。

requestedOrderedBy

enum (VehicleMatchOrder)

車両の一致の並べ替えにリクエストされた順序。

orderedBy

enum (VehicleMatchOrder)

この車両に使用された実際の注文。通常、これはリクエストの「orderBy」フィールドと一致しますが、内部サーバーエラーなどの特定の状況では、別のメソッド(PICKUP_POINT_STRAIGHT_DISTANCE など)が使用されることがあります。

ウェイポイント

SearchVehiclesResponseVehicleMatch のルートに沿った中間点を記述します。このコンセプトは、他のすべてのエンドポイントで TripWaypoint として表されます。

JSON 表現
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
フィールド
latLng

object (LatLng)

このウェイポイントの位置。

eta

string (Timestamp format)

車両がこの地点に到着する推定時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

VehicleMatchType

車両の一致タイプ。

列挙型
UNKNOWN 不明な車両マッチタイプ
EXCLUSIVE 車両には現在ルートが割り当てられておらず、乗車地点に進むことができます。
BACK_TO_BACK 車両は現在ルートに割り当てられていますが、進行中のルートの完了後に乗車地点に進むことができます。到着予定時刻と距離の計算では、既存のルートが考慮されます。
CARPOOL 相乗りに十分なキャパシティがある。
CARPOOL_BACK_TO_BACK 車両は、乗車地点より前に現在のアクティブなルートを終了します。到着予定時刻と距離の計算では、既存のルートが考慮されます。