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)

リクエストで指定された集荷場所までの車両の到着予定時刻。値が空白の場合は、車両の到着予定時刻の計算に失敗したことを示します。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)

リクエストで指定された降車地点までの車両の総走行所要時間。所要時間には、リクエストで指定された 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 と同じです。

orderedBy

enum (VehicleMatchOrder)

車両の一致を並べ替えるためにリクエストされた順序。requestedOrderedBy と同じです。

ウェイポイント

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