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 m の範囲で指定してください。

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)演算です。最大 50 個の requiredAttributes を使用できます。車両で許可される最大属性数と一致します。

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 での結合/論理積と、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> など)に関するものだけです。1 つのフィルタクエリで許可される制限の最大数は 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)

リクエストで指定された乗車地点までの車両の運転開始到着予定時刻。空の値は、車両の到着予定時刻の計算に失敗したことを示します。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 より前の任意の地点での停止も含まれます。値は、リクエストで降車地点が指定されている場合にのみ入力されます。値が空の場合は、ETA の計算エラーを示します。

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 など)が使用されることがあります。

ウェイポイント

SearchVehiclesResponse 内の VehicleMatch のルート上の中間ポイントを表します。このコンセプトは、他のすべてのエンドポイントで 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 車両は現在アクティブなルートを終了してから乗車地点に到着します。到着予定時刻と距離の計算では、既存のルートが考慮されます。