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 演算)です。最大 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 での結合(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>)。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。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 など)が使用される場合があります。

ウェイポイント

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 車両は、現在進行中のルートを完了してから、乗車地点に向かいます。到着予定時刻と距離の計算では、既存のルートが考慮されます。