{
  "rootUrl": "https://fleetengine.googleapis.com/",
  "resources": {
    "providers": {
      "resources": {
        "deliveryVehicles": {
          "methods": {
            "delete": {
              "parameterOrder": [
                "name"
              ],
              "id": "fleetengine.providers.deliveryVehicles.delete",
              "parameters": {
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "type": "string",
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query"
                },
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/deliveryVehicles/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}/deliveryVehicles/{delivery_vehicle}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.sdkType": {
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ]
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.platform": {
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query"
                },
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/providers/{providersId}/deliveryVehicles/{deliveryVehiclesId}",
              "path": "v1/{+name}",
              "description": "Deletes a DeliveryVehicle from the Fleet Engine. Returns FAILED_PRECONDITION if the DeliveryVehicle has OPEN Tasks assigned to it.",
              "response": {
                "$ref": "Empty"
              },
              "httpMethod": "DELETE"
            },
            "list": {
              "httpMethod": "GET",
              "description": "Gets all `DeliveryVehicle`s that meet the specified filtering criteria.",
              "response": {
                "$ref": "ListDeliveryVehiclesResponse"
              },
              "path": "v1/{+parent}/deliveryVehicles",
              "flatPath": "v1/providers/{providersId}/deliveryVehicles",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.deliveryVehicles.list",
              "parameters": {
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "viewport.low.longitude": {
                  "type": "number",
                  "format": "double",
                  "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ]
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "parent": {
                  "description": "Required. Must be in the format `providers/{provider}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+$",
                  "type": "string"
                },
                "header.platform": {
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query"
                },
                "viewport.high.longitude": {
                  "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
                  "location": "query",
                  "type": "number",
                  "format": "double"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Optional. The maximum number of vehicles to return. The service may return fewer than this number. If you don't specify this number, then the server determines the number of results to return.",
                  "location": "query"
                },
                "viewport.low.latitude": {
                  "type": "number",
                  "format": "double",
                  "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
                  "location": "query"
                },
                "pageToken": {
                  "type": "string",
                  "description": "Optional. A page token, received from a previous `ListDeliveryVehicles` call. You must provide this in order to retrieve the subsequent page. When paginating, all other parameters provided to `ListDeliveryVehicles` must match the call that provided the page token.",
                  "location": "query"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "viewport.high.latitude": {
                  "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
                  "location": "query",
                  "type": "number",
                  "format": "double"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "filter": {
                  "type": "string",
                  "description": "Optional. A filter query to apply when listing delivery vehicles. See http://aip.dev/160 for examples of the filter syntax. If you don't specify a value, or if you specify an empty string for the filter, then all delivery vehicles are returned. Note that the only queries supported for `ListDeliveryVehicles` are on vehicle attributes (for example, `attributes. = ` or `attributes. = AND attributes. = `). Also, all attributes are stored as strings, so the only supported comparisons against attributes are string comparisons. In order to compare against number or boolean values, the values must be explicitly quoted to be treated as strings (for example, `attributes. = \"10\"` or `attributes. = \"true\"`). The maximum number of restrictions allowed in a filter query is 50. A restriction is a part of the query of the form `attribute. `, for example `attributes.foo = bar` is 1 restriction.",
                  "location": "query"
                }
              },
              "parameterOrder": [
                "parent"
              ]
            },
            "create": {
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "DeliveryVehicle"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.deliveryVehicles.create",
              "parameters": {
                "deliveryVehicleId": {
                  "type": "string",
                  "description": "Required. The Delivery Vehicle ID must be unique and subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
                  "location": "query"
                },
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "type": "string",
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                },
                "parent": {
                  "description": "Required. Must be in the format `providers/{provider}`. The provider must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+$",
                  "type": "string"
                },
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                }
              },
              "path": "v1/{+parent}/deliveryVehicles",
              "flatPath": "v1/providers/{providersId}/deliveryVehicles",
              "httpMethod": "POST",
              "description": "Creates and returns a new `DeliveryVehicle`.",
              "response": {
                "$ref": "DeliveryVehicle"
              }
            },
            "get": {
              "httpMethod": "GET",
              "description": "Returns the specified `DeliveryVehicle` instance.",
              "response": {
                "$ref": "DeliveryVehicle"
              },
              "path": "v1/{+name}",
              "flatPath": "v1/providers/{providersId}/deliveryVehicles/{deliveryVehiclesId}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.deliveryVehicles.get",
              "parameters": {
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string"
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/deliveryVehicles/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}/deliveryVehicles/{delivery_vehicle}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ]
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                }
              },
              "parameterOrder": [
                "name"
              ]
            },
            "patch": {
              "httpMethod": "PATCH",
              "description": "Writes updated `DeliveryVehicle` data to Fleet Engine, and assigns `Tasks` to the `DeliveryVehicle`. You cannot update the name of the `DeliveryVehicle`. You *can* update `remaining_vehicle_journey_segments`, but it must contain all of the `VehicleJourneySegment`s to be persisted on the `DeliveryVehicle`. The `task_id`s are retrieved from `remaining_vehicle_journey_segments`, and their corresponding `Tasks` are assigned to the `DeliveryVehicle` if they have not yet been assigned.",
              "response": {
                "$ref": "DeliveryVehicle"
              },
              "path": "v1/{+name}",
              "flatPath": "v1/providers/{providersId}/deliveryVehicles/{deliveryVehiclesId}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.deliveryVehicles.patch",
              "parameters": {
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "updateMask": {
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. A field mask that indicates which `DeliveryVehicle` fields to update. Note that the update_mask must contain at least one field. This is a comma-separated list of fully qualified names of fields. Example: `\"remaining_vehicle_journey_segments\"`.",
                  "location": "query"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ]
                },
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/deliveryVehicles/[^/]+$",
                  "description": "The unique name of this Delivery Vehicle. The format is `providers/{provider}/deliveryVehicles/{vehicle}`.",
                  "location": "path",
                  "required": true
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "header.platform": {
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                }
              },
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "DeliveryVehicle"
              }
            }
          }
        },
        "trips": {
          "methods": {
            "get": {
              "flatPath": "v1/providers/{providersId}/trips/{tripsId}",
              "path": "v1/{+name}",
              "response": {
                "$ref": "Trip"
              },
              "description": "Get information about a single trip.",
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "currentRouteSegmentVersion": {
                  "type": "string",
                  "format": "google-datetime",
                  "description": "Indicates the minimum timestamp (exclusive) for which `Trip.route` or `Trip.current_route_segment` data are retrieved. If route data are unchanged since this timestamp, the route field is not set in the response. If a minimum is unspecified, the route data are always retrieved.",
                  "location": "query"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                },
                "remainingWaypointsVersion": {
                  "type": "string",
                  "format": "google-datetime",
                  "deprecated": true,
                  "description": "Deprecated: `Trip.remaining_waypoints` are always retrieved. Use `remaining_waypoints_route_version` to control when `Trip.remaining_waypoints.traffic_to_waypoint` and `Trip.remaining_waypoints.path_to_waypoint` data are retrieved.",
                  "location": "query"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/trips/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}/trips/{trip}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true
                },
                "currentRouteSegmentTrafficVersion": {
                  "type": "string",
                  "format": "google-datetime",
                  "description": "Indicates the minimum timestamp (exclusive) for which `Trip.current_route_segment_traffic` is retrieved. If traffic data are unchanged since this timestamp, the `current_route_segment_traffic` field is not set in the response. If a minimum is unspecified, the traffic data are always retrieved. Note that traffic is only available for On-Demand Rides and Deliveries Solution customers.",
                  "location": "query"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "remainingWaypointsRouteVersion": {
                  "type": "string",
                  "format": "google-datetime",
                  "description": "Indicates the minimum timestamp (exclusive) for which `Trip.remaining_waypoints.traffic_to_waypoint` and `Trip.remaining_waypoints.path_to_waypoint` data are retrieved. If data are unchanged since this timestamp, the fields above are not set in the response. If `remaining_waypoints_route_version` is unspecified, traffic and path are always retrieved.",
                  "location": "query"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.sdkType": {
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "view": {
                  "type": "string",
                  "enum": [
                    "TRIP_VIEW_UNSPECIFIED",
                    "SDK",
                    "JOURNEY_SHARING_V1S"
                  ],
                  "description": "The subset of Trip fields that should be returned and their interpretation.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. For backwards-compatibility, the API will default to an SDK view. To ensure stability and support, customers are advised to select a `TripView` other than `SDK`.",
                    "Includes fields that may not be interpretable or supportable using publicly available libraries.",
                    "Trip fields are populated for the Journey Sharing use case. This view is intended for server-to-server communications."
                  ]
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "routeFormatType": {
                  "enumDescriptions": [
                    "The format is unspecified or unknown.",
                    "A list of `google.type.LatLng`.",
                    "A polyline encoded with a polyline compression algorithm. Decoding is not yet supported."
                  ],
                  "description": "The returned current route format, `LAT_LNG_LIST_TYPE` (in `Trip.route`), or `ENCODED_POLYLINE_TYPE` (in `Trip.current_route_segment`). The default is `LAT_LNG_LIST_TYPE`.",
                  "location": "query",
                  "enum": [
                    "UNKNOWN_FORMAT_TYPE",
                    "LAT_LNG_LIST_TYPE",
                    "ENCODED_POLYLINE_TYPE"
                  ],
                  "type": "string"
                }
              },
              "id": "fleetengine.providers.trips.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "create": {
              "flatPath": "v1/providers/{providersId}/trips",
              "path": "v1/{+parent}/trips",
              "description": "Creates a trip in the Fleet Engine and returns the new trip.",
              "response": {
                "$ref": "Trip"
              },
              "httpMethod": "POST",
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "Trip"
              },
              "id": "fleetengine.providers.trips.create",
              "parameters": {
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ]
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "type": "string",
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                },
                "parent": {
                  "description": "Required. Must be in the format `providers/{provider}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+$",
                  "type": "string"
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "tripId": {
                  "description": "Required. Unique Trip ID. Subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
                  "location": "query",
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "delete": {
              "httpMethod": "DELETE",
              "description": "Deletes a single Trip. Returns FAILED_PRECONDITION if the Trip is active and assigned to a vehicle.",
              "response": {
                "$ref": "Empty"
              },
              "path": "v1/{+name}",
              "flatPath": "v1/providers/{providersId}/trips/{tripsId}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.trips.delete",
              "parameters": {
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "type": "string",
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query"
                },
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/trips/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}/trips/{trip}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                }
              },
              "parameterOrder": [
                "name"
              ]
            },
            "search": {
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "SearchTripsRequest"
              },
              "parameters": {
                "parent": {
                  "description": "Required. Must be in the format `providers/{provider}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+$",
                  "type": "string"
                }
              },
              "id": "fleetengine.providers.trips.search",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/providers/{providersId}/trips:search",
              "path": "v1/{+parent}/trips:search",
              "response": {
                "$ref": "SearchTripsResponse"
              },
              "description": "Get all the trips for a specific vehicle.",
              "httpMethod": "POST"
            },
            "update": {
              "description": "Updates trip data.",
              "response": {
                "$ref": "Trip"
              },
              "httpMethod": "PUT",
              "flatPath": "v1/providers/{providersId}/trips/{tripsId}",
              "path": "v1/{+name}",
              "id": "fleetengine.providers.trips.update",
              "parameters": {
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query"
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "updateMask": {
                  "description": "Required. The field mask indicating which fields in Trip to update. The `update_mask` must contain at least one field.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.sdkType": {
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "description": "Required. Must be in the format `providers/{provider}/trips/{trip}`. The provider must be the Project ID (for example, `sample-consumer-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/trips/[^/]+$"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "Trip"
              }
            }
          }
        },
        "vehicles": {
          "methods": {
            "create": {
              "path": "v1/{+parent}/vehicles",
              "flatPath": "v1/providers/{providersId}/vehicles",
              "httpMethod": "POST",
              "description": "Instantiates a new vehicle associated with an on-demand rideshare or deliveries provider. Each `Vehicle` must have a unique vehicle ID. The following `Vehicle` fields are required when creating a `Vehicle`: * `vehicleState` * `supportedTripTypes` * `maximumCapacity` * `vehicleType` The following `Vehicle` fields are ignored when creating a `Vehicle`: * `name` * `currentTrips` * `availableCapacity` * `current_route_segment` * `current_route_segment_end_point` * `current_route_segment_version` * `current_route_segment_traffic` * `route` * `waypoints` * `waypoints_version` * `remaining_distance_meters` * `remaining_time_seconds` * `eta_to_next_waypoint` * `navigation_status` All other fields are optional and used if provided.",
              "response": {
                "$ref": "Vehicle"
              },
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "Vehicle"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.vehicles.create",
              "parameters": {
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "vehicleId": {
                  "description": "Required. Unique Vehicle ID. Subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
                  "location": "query",
                  "type": "string"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "type": "string",
                  "pattern": "^providers/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "header.platform": {
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ]
                }
              }
            },
            "updateAttributes": {
              "id": "fleetengine.providers.vehicles.updateAttributes",
              "parameters": {
                "name": {
                  "description": "Required. Must be in the format `providers/{provider}/vehicles/{vehicle}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/vehicles/[^/]+$",
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "UpdateVehicleAttributesRequest"
              },
              "description": "Partially updates a vehicle's attributes. Only the attributes mentioned in the request will be updated, other attributes will NOT be altered. Note: this is different in `UpdateVehicle`, where the whole `attributes` field will be replaced by the one in `UpdateVehicleRequest`, attributes not in the request would be removed.",
              "response": {
                "$ref": "UpdateVehicleAttributesResponse"
              },
              "httpMethod": "POST",
              "flatPath": "v1/providers/{providersId}/vehicles/{vehiclesId}:updateAttributes",
              "path": "v1/{+name}:updateAttributes"
            },
            "delete": {
              "parameterOrder": [
                "name"
              ],
              "id": "fleetengine.providers.vehicles.delete",
              "parameters": {
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string"
                },
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "description": "Required. Must be in the format `providers/{provider}/vehicles/{vehicle}`. The {provider} must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/vehicles/[^/]+$"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/providers/{providersId}/vehicles/{vehiclesId}",
              "path": "v1/{+name}",
              "description": "Deletes a Vehicle from the Fleet Engine. Returns FAILED_PRECONDITION if the Vehicle has active Trips. assigned to it.",
              "response": {
                "$ref": "Empty"
              },
              "httpMethod": "DELETE"
            },
            "list": {
              "id": "fleetengine.providers.vehicles.list",
              "parameters": {
                "onTripOnly": {
                  "description": "Only return the vehicles with current trip(s).",
                  "location": "query",
                  "type": "boolean"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "requiredOneOfAttributeSets": {
                  "repeated": true,
                  "description": "`required_one_of_attribute_sets` provides additional functionality. Similar to `required_one_of_attributes`, `required_one_of_attribute_sets` uses a message which allows a list of lists, allowing expressions such as this one: ``` (required_attributes[0] AND required_attributes[1] AND ...) AND ( (required_one_of_attribute_sets0 AND required_one_of_attribute_sets0 AND ...) OR (required_one_of_attribute_sets1 AND required_one_of_attribute_sets1 AND ...) ) ``` Restricts the response to vehicles that match all the attributes in a `VehicleAttributeList`. Within each list, a vehicle must match all of the attributes. This field is a conjunction/AND operation in each `VehicleAttributeList` and inclusive disjunction/OR operation across the collection of `VehicleAttributeList`. Each repeated string should be of the format \"key1:value1|key2:value2|key3:value3\".",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of vehicles to return. Default value: 100.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "vehicleState": {
                  "enumDescriptions": [
                    "Default, used for unspecified or unrecognized vehicle states.",
                    "The vehicle is not accepting new trips. Note: the vehicle may continue to operate in this state while completing a trip assigned to it.",
                    "The vehicle is accepting new trips."
                  ],
                  "description": "Restricts the response to vehicles that have this vehicle state.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "UNKNOWN_VEHICLE_STATE",
                    "OFFLINE",
                    "ONLINE"
                  ]
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "viewport.low.longitude": {
                  "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
                  "location": "query",
                  "type": "number",
                  "format": "double"
                },
                "requiredAttributes": {
                  "description": "Callers can form complex logical operations using any combination of the `required_attributes`, `required_one_of_attributes`, and `required_one_of_attribute_sets` fields. `required_attributes` is a list; `required_one_of_attributes` uses a message which allows a list of lists. In combination, the two fields allow the composition of this expression: ``` (required_attributes[0] AND required_attributes[1] AND ...) AND (required_one_of_attributes0 OR required_one_of_attributes0 OR ...) AND (required_one_of_attributes1 OR required_one_of_attributes1 OR ...) ``` Restricts the response to vehicles with the specified attributes. This field is a conjunction/AND operation. A max of 50 required_attributes is allowed. This matches the maximum number of attributes allowed on a vehicle. Each repeated string should be of the format \"key:value\".",
                  "location": "query",
                  "repeated": true,
                  "type": "string"
                },
                "viewport.low.latitude": {
                  "type": "number",
                  "format": "double",
                  "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
                  "location": "query"
                },
                "pageToken": {
                  "description": "The value of the `next_page_token` provided by a previous call to `ListVehicles` so that you can paginate through groups of vehicles. The value is undefined if the filter criteria of the request is not the same as the filter criteria for the previous call to `ListVehicles`.",
                  "location": "query",
                  "type": "string"
                },
                "viewport.high.latitude": {
                  "type": "number",
                  "format": "double",
                  "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
                  "location": "query"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "description": "Optional. A filter query to apply when listing vehicles. See http://aip.dev/160 for examples of the filter syntax. This field is designed to replace the `required_attributes`, `required_one_of_attributes`, and `required_one_of_attributes_sets` fields. If a non-empty value is specified here, the following fields must be empty: `required_attributes`, `required_one_of_attributes`, and `required_one_of_attributes_sets`. This filter functions as an AND clause with other constraints, such as `vehicle_state` or `on_trip_only`. Note that the only queries supported are on vehicle attributes (for example, `attributes. = ` or `attributes. = AND attributes. = `). The maximum number of restrictions allowed in a filter query is 50. Also, all attributes are stored as strings, so the only supported comparisons against attributes are string comparisons. In order to compare against number or boolean values, the values must be explicitly quoted to be treated as strings (for example, `attributes. = \"10\"` or `attributes. = \"true\"`).",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "pattern": "^providers/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "minimumCapacity": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Specifies the required minimum capacity of the vehicle. All vehicles returned will have a `maximum_capacity` greater than or equal to this value. If set, must be greater or equal to 0.",
                  "location": "query"
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                },
                "viewport.high.longitude": {
                  "type": "number",
                  "format": "double",
                  "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
                  "location": "query"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "maximumStaleness": {
                  "description": "Restricts the response to vehicles that have sent location updates to Fleet Engine within the specified duration. Stationary vehicles still transmitting their locations are not considered stale. If present, must be a valid positive duration.",
                  "location": "query",
                  "type": "string",
                  "format": "google-duration"
                },
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string"
                },
                "tripTypes": {
                  "description": "Restricts the response to vehicles that support at least one of the specified trip types.",
                  "location": "query",
                  "enumDescriptions": [
                    "Default, used for unspecified or unrecognized trip types.",
                    "The trip may share a vehicle with other trips.",
                    "The trip is exclusive to a vehicle."
                  ],
                  "repeated": true,
                  "type": "string",
                  "enum": [
                    "UNKNOWN_TRIP_TYPE",
                    "SHARED",
                    "EXCLUSIVE"
                  ]
                },
                "vehicleTypeCategories": {
                  "description": "Required. Restricts the response to vehicles with one of the specified type categories. `UNKNOWN` is not allowed.",
                  "location": "query",
                  "enumDescriptions": [
                    "Default, used for unspecified or unrecognized vehicle categories.",
                    "An automobile.",
                    "Any vehicle that acts as a taxi (typically licensed or regulated).",
                    "Generally, a vehicle with a large storage capacity.",
                    "A motorcycle, moped, or other two-wheeled vehicle",
                    "Human-powered transport.",
                    "A human transporter, typically walking or running, traveling along pedestrian pathways."
                  ],
                  "repeated": true,
                  "enum": [
                    "UNKNOWN",
                    "AUTO",
                    "TAXI",
                    "TRUCK",
                    "TWO_WHEELER",
                    "BICYCLE",
                    "PEDESTRIAN"
                  ],
                  "type": "string"
                },
                "requiredOneOfAttributes": {
                  "repeated": true,
                  "description": "Restricts the response to vehicles with at least one of the specified attributes in each `VehicleAttributeList`. Within each list, a vehicle must match at least one of the attributes. This field is an inclusive disjunction/OR operation in each `VehicleAttributeList` and a conjunction/AND operation across the collection of `VehicleAttributeList`. Each repeated string should be of the format \"key1:value1|key2:value2|key3:value3\".",
                  "location": "query",
                  "type": "string"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "parent"
              ],
              "description": "Returns a paginated list of vehicles associated with a provider that match the request options.",
              "response": {
                "$ref": "ListVehiclesResponse"
              },
              "httpMethod": "GET",
              "flatPath": "v1/providers/{providersId}/vehicles",
              "path": "v1/{+parent}/vehicles"
            },
            "search": {
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "SearchVehiclesRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.vehicles.search",
              "parameters": {
                "parent": {
                  "type": "string",
                  "pattern": "^providers/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true
                }
              },
              "path": "v1/{+parent}/vehicles:search",
              "flatPath": "v1/providers/{providersId}/vehicles:search",
              "httpMethod": "POST",
              "description": "Returns a list of vehicles that match the request options.",
              "response": {
                "$ref": "SearchVehiclesResponse"
              }
            },
            "update": {
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "Vehicle"
              },
              "id": "fleetengine.providers.vehicles.update",
              "parameters": {
                "header.platform": {
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string",
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ]
                },
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/vehicles/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}/vehicles/{vehicle}`. The {provider} must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true
                },
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "updateMask": {
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. A field mask indicating which fields of the `Vehicle` to update. At least one field name must be provided.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/providers/{providersId}/vehicles/{vehiclesId}",
              "path": "v1/{+name}",
              "description": "Writes updated vehicle data to the Fleet Engine. When updating a `Vehicle`, the following fields cannot be updated since they are managed by the server: * `currentTrips` * `availableCapacity` * `current_route_segment_version` * `waypoints_version` The vehicle `name` also cannot be updated. If the `attributes` field is updated, **all** the vehicle's attributes are replaced with the attributes provided in the request. If you want to update only some attributes, see the `UpdateVehicleAttributes` method. Likewise, the `waypoints` field can be updated, but must contain all the waypoints currently on the vehicle, and no other waypoints.",
              "response": {
                "$ref": "Vehicle"
              },
              "httpMethod": "PUT"
            },
            "get": {
              "id": "fleetengine.providers.vehicles.get",
              "parameters": {
                "name": {
                  "type": "string",
                  "pattern": "^providers/[^/]+/vehicles/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}/vehicles/{vehicle}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true
                },
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "type": "string",
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query"
                },
                "currentRouteSegmentVersion": {
                  "type": "string",
                  "format": "google-datetime",
                  "description": "Indicates the minimum timestamp (exclusive) for which `Vehicle.current_route_segment` is retrieved. If the route is unchanged since this timestamp, the `current_route_segment` field is not set in the response. If a minimum is unspecified, the `current_route_segment` is always retrieved.",
                  "location": "query"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "waypointsVersion": {
                  "type": "string",
                  "format": "google-datetime",
                  "description": "Indicates the minimum timestamp (exclusive) for which `Vehicle.waypoints` data is retrieved. If the waypoints are unchanged since this timestamp, the `vehicle.waypoints` data is not set in the response. If this field is unspecified, `vehicle.waypoints` is always retrieved.",
                  "location": "query"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "description": "Returns a vehicle from the Fleet Engine.",
              "response": {
                "$ref": "Vehicle"
              },
              "httpMethod": "GET",
              "flatPath": "v1/providers/{providersId}/vehicles/{vehiclesId}",
              "path": "v1/{+name}"
            }
          }
        },
        "taskTrackingInfo": {
          "methods": {
            "get": {
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "Required. Must be in the format `providers/{provider}/taskTrackingInfo/{tracking_id}`. The `provider` must be the Google Cloud Project ID, and the `tracking_id` must be the tracking ID associated with the task. An example name can be `providers/sample-cloud-project/taskTrackingInfo/sample-tracking-id`.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/taskTrackingInfo/[^/]+$",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.sdkType": {
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string"
                }
              },
              "id": "fleetengine.providers.taskTrackingInfo.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/providers/{providersId}/taskTrackingInfo/{taskTrackingInfoId}",
              "path": "v1/{+name}",
              "response": {
                "$ref": "TaskTrackingInfo"
              },
              "description": "Returns the specified `TaskTrackingInfo` instance.",
              "httpMethod": "GET"
            }
          }
        },
        "tasks": {
          "methods": {
            "get": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.tasks.get",
              "parameters": {
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "name": {
                  "description": "Required. Must be in the format `providers/{provider}/tasks/{task}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/tasks/[^/]+$",
                  "type": "string"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "type": "string",
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query"
                },
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.sdkType": {
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "description": "Gets information about a `Task`.",
              "response": {
                "$ref": "Task"
              },
              "path": "v1/{+name}",
              "flatPath": "v1/providers/{providersId}/tasks/{tasksId}"
            },
            "patch": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "pattern": "^providers/[^/]+/tasks/[^/]+$",
                  "description": "Must be in the format `providers/{provider}/tasks/{task}`.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "updateMask": {
                  "description": "Required. The field mask that indicates which Task fields to update. Note: The `update_mask` must contain at least one field. This is a comma-separated list of fully qualified names of fields. Example: `\"task_outcome,task_outcome_time,task_outcome_location\"`.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ]
                }
              },
              "id": "fleetengine.providers.tasks.patch",
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "Task"
              },
              "httpMethod": "PATCH",
              "response": {
                "$ref": "Task"
              },
              "description": "Updates `Task` data.",
              "path": "v1/{+name}",
              "flatPath": "v1/providers/{providersId}/tasks/{tasksId}"
            },
            "batchCreate": {
              "description": "Creates and returns a batch of new `Task` objects.",
              "response": {
                "$ref": "BatchCreateTasksResponse"
              },
              "httpMethod": "POST",
              "flatPath": "v1/providers/{providersId}/tasks:batchCreate",
              "path": "v1/{+parent}/tasks:batchCreate",
              "id": "fleetengine.providers.tasks.batchCreate",
              "parameters": {
                "parent": {
                  "type": "string",
                  "description": "Required. The parent resource shared by all tasks. This value must be in the format `providers/{provider}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`. The parent field in the `CreateTaskRequest` messages must either be empty, or it must match this field.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+$"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "BatchCreateTasksRequest"
              }
            },
            "create": {
              "path": "v1/{+parent}/tasks",
              "flatPath": "v1/providers/{providersId}/tasks",
              "httpMethod": "POST",
              "description": "Creates and returns a new `Task` object.",
              "response": {
                "$ref": "Task"
              },
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "Task"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "fleetengine.providers.tasks.create",
              "parameters": {
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "type": "string",
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query"
                },
                "header.androidApiLevel": {
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "header.navSdkVersion": {
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query",
                  "type": "string"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "taskId": {
                  "description": "Required. The Task ID must be unique, but it should be not a shipment tracking ID. To store a shipment tracking ID, use the `tracking_id` field. Note that multiple tasks can have the same `tracking_id`. Task IDs are subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
                  "location": "query",
                  "type": "string"
                },
                "header.platform": {
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                },
                "parent": {
                  "description": "Required. Must be in the format `providers/{provider}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+$",
                  "type": "string"
                },
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                }
              }
            },
            "delete": {
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "header.mapsSdkVersion": {
                  "type": "string",
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query"
                },
                "header.platform": {
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ],
                  "type": "string"
                },
                "header.regionCode": {
                  "type": "string",
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query"
                },
                "header.languageCode": {
                  "type": "string",
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query"
                },
                "name": {
                  "type": "string",
                  "description": "Required. Must be in the format `providers/{provider}/tasks/{task}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/tasks/[^/]+$"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "header.osVersion": {
                  "type": "string",
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query"
                },
                "header.traceId": {
                  "type": "string",
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query"
                },
                "header.sdkType": {
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "description": "The type of SDK sending the request.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.sdkVersion": {
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query",
                  "type": "string"
                }
              },
              "id": "fleetengine.providers.tasks.delete",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/providers/{providersId}/tasks/{tasksId}",
              "path": "v1/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "description": "Deletes a single Task. Returns FAILED_PRECONDITION if the Task is OPEN and assigned to a DeliveryVehicle.",
              "httpMethod": "DELETE"
            },
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "header.traceId": {
                  "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
                  "location": "query",
                  "type": "string"
                },
                "header.osVersion": {
                  "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkType": {
                  "description": "The type of SDK sending the request.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the `sdk_type` is omitted.",
                    "The calling SDK is Consumer.",
                    "The calling SDK is Driver.",
                    "The calling SDK is JavaScript."
                  ],
                  "type": "string",
                  "enum": [
                    "SDK_TYPE_UNSPECIFIED",
                    "CONSUMER",
                    "DRIVER",
                    "JAVASCRIPT"
                  ]
                },
                "header.androidApiLevel": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
                  "location": "query"
                },
                "header.deviceModel": {
                  "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
                  "location": "query",
                  "type": "string"
                },
                "header.sdkVersion": {
                  "type": "string",
                  "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
                  "location": "query"
                },
                "header.navSdkVersion": {
                  "type": "string",
                  "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
                  "location": "query"
                },
                "header.manufacturer": {
                  "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
                  "location": "query",
                  "type": "string"
                },
                "header.regionCode": {
                  "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
                  "location": "query",
                  "type": "string"
                },
                "header.languageCode": {
                  "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "type": "string",
                  "description": "Optional. A filter query to apply when listing Tasks. See http://aip.dev/160 for examples of filter syntax. If you don't specify a value, or if you filter on an empty string, then all Tasks are returned. For information about the Task properties that you can filter on, see [List tasks](https://developers.google.com/maps/documentation/mobility/fleet-engine/journeys/tasks/find-tasks#filter_listed_tasks).",
                  "location": "query"
                },
                "pageToken": {
                  "description": "Optional. A page token received from a previous `ListTasks` call. You can provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTasks` must match the call that provided the page token.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Optional. The maximum number of Tasks to return. The service may return fewer than this value. If you don't specify this value, then the server determines the number of results to return.",
                  "location": "query"
                },
                "header.mapsSdkVersion": {
                  "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "type": "string",
                  "pattern": "^providers/[^/]+$",
                  "description": "Required. Must be in the format `providers/{provider}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
                  "location": "path",
                  "required": true
                },
                "header.platform": {
                  "description": "Platform of the calling SDK.",
                  "location": "query",
                  "enumDescriptions": [
                    "The default value. This value is used if the platform is omitted.",
                    "The request is coming from Android.",
                    "The request is coming from iOS.",
                    "The request is coming from the web."
                  ],
                  "type": "string",
                  "enum": [
                    "PLATFORM_UNSPECIFIED",
                    "ANDROID",
                    "IOS",
                    "WEB"
                  ]
                }
              },
              "id": "fleetengine.providers.tasks.list",
              "path": "v1/{+parent}/tasks",
              "flatPath": "v1/providers/{providersId}/tasks",
              "httpMethod": "GET",
              "response": {
                "$ref": "ListTasksResponse"
              },
              "description": "Gets all `Task`s that meet the specified filtering criteria."
            }
          }
        },
        "billableTrips": {
          "methods": {
            "report": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Must be in the format `providers/{provider}/billableTrips/{billable_trip}`. The provider must be the Project ID (for example, `sample-cloud-project`) of the Google Cloud Project of which the service account making this call is a member.",
                  "location": "path",
                  "required": true,
                  "pattern": "^providers/[^/]+/billableTrips/[^/]+$",
                  "type": "string"
                }
              },
              "id": "fleetengine.providers.billableTrips.report",
              "parameterOrder": [
                "name"
              ],
              "request": {
                "$ref": "ReportBillableTripRequest"
              },
              "httpMethod": "POST",
              "response": {
                "$ref": "Empty"
              },
              "description": "Report billable trip usage.",
              "path": "v1/{+name}:report",
              "flatPath": "v1/providers/{providersId}/billableTrips/{billableTripsId}:report"
            }
          }
        }
      }
    }
  },
  "kind": "discovery#restDescription",
  "id": "fleetengine:v1",
  "basePath": "",
  "version": "v1",
  "ownerDomain": "google.com",
  "baseUrl": "https://fleetengine.googleapis.com/",
  "version_module": true,
  "name": "fleetengine",
  "parameters": {
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response.",
      "location": "query",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "type": "string"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "canonicalName": "FleetEngine",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "ownerName": "Google",
  "fullyEncodeReservedExpansion": true,
  "discoveryVersion": "v1",
  "batchPath": "batch",
  "revision": "20260303",
  "documentationLink": "https://developers.google.com/maps/documentation/mobility/",
  "servicePath": "",
  "description": "Enables Fleet Engine for access to the On Demand Rides and Deliveries and Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in the Cloud Logging Services is subject to the Google Maps Platform Terms of Service located at https://cloud.google.com/maps-platform/terms.",
  "title": "Local Rides and Deliveries API",
  "schemas": {
    "VisibilityOption": {
      "id": "VisibilityOption",
      "description": "The option message that defines when a data element should be visible to the end users.",
      "type": "object",
      "properties": {
        "remainingStopCountThreshold": {
          "type": "integer",
          "format": "int32",
          "description": "This data element is visible to the end users if the remaining stop count \u003c= remaining_stop_count_threshold."
        },
        "always": {
          "description": "If set to true, this data element is always visible to the end users with no thresholds. This field cannot be set to false.",
          "type": "boolean"
        },
        "never": {
          "description": "If set to true, this data element is always hidden from the end users with no thresholds. This field cannot be set to false.",
          "type": "boolean"
        },
        "durationUntilEstimatedArrivalTimeThreshold": {
          "description": "This data element is visible to the end users if the ETA to the stop \u003c= duration_until_estimated_arrival_time_threshold.",
          "type": "string",
          "format": "google-duration"
        },
        "remainingDrivingDistanceMetersThreshold": {
          "type": "integer",
          "format": "int32",
          "description": "This data element is visible to the end users if the remaining driving distance in meters \u003c= remaining_driving_distance_meters_threshold."
        }
      }
    },
    "ListVehiclesResponse": {
      "type": "object",
      "properties": {
        "vehicles": {
          "type": "array",
          "items": {
            "$ref": "Vehicle"
          },
          "description": "Vehicles matching the criteria in the request. The maximum number of vehicles returned is determined by the `page_size` field in the request."
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of vehicles, or empty if there are no more vehicles that meet the request criteria.",
          "type": "string"
        },
        "totalSize": {
          "description": "Required. Total number of vehicles matching the request criteria across all pages.",
          "type": "string",
          "format": "int64"
        }
      },
      "id": "ListVehiclesResponse",
      "description": "`ListVehicles` response message."
    },
    "DeliveryVehicleLocation": {
      "id": "DeliveryVehicleLocation",
      "description": "The location, speed, and heading of a vehicle at a point in time.",
      "type": "object",
      "properties": {
        "supplementalLocationTime": {
          "description": "Timestamp associated with the supplemental location.",
          "type": "string",
          "format": "google-datetime"
        },
        "isRoadSnapped": {
          "description": "Whether `location` is snapped to a road.",
          "type": "boolean"
        },
        "altitudeAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `altitude` in meters."
        },
        "speedKmph": {
          "description": "Speed of the vehicle in kilometers per hour. Deprecated: Use `speed` instead.",
          "type": "integer",
          "format": "int32",
          "deprecated": true
        },
        "speedAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `speed` in meters/second."
        },
        "timeSinceUpdate": {
          "description": "Input only. Time (in seconds) since this location was first sent to the server. This will be zero for the first update. If the time is unknown (for example, when the app restarts), this value resets to zero.",
          "type": "integer",
          "format": "int32"
        },
        "rawLocationSensor": {
          "description": "Source of the raw location. Defaults to `GPS`.",
          "enum": [
            "UNKNOWN_SENSOR",
            "GPS",
            "NETWORK",
            "PASSIVE",
            "ROAD_SNAPPED_LOCATION_PROVIDER",
            "CUSTOMER_SUPPLIED_LOCATION",
            "FLEET_ENGINE_LOCATION",
            "FUSED_LOCATION_PROVIDER",
            "CORE_LOCATION"
          ],
          "type": "string",
          "enumDescriptions": [
            "The sensor is unspecified or unknown.",
            "GPS or Assisted GPS.",
            "Assisted GPS, cell tower ID, or WiFi access point.",
            "Cell tower ID or WiFi access point.",
            "A location determined by the mobile device to be the most likely road position.",
            "A customer-supplied location from an independent source. Typically, this value is used for a location provided from sources other than the mobile device running Driver SDK. If the original source is described by one of the other enum values, use that value. Locations marked CUSTOMER_SUPPLIED_LOCATION are typically provided via a DeliveryVehicle's `last_location.supplemental_location_sensor`.",
            "A location calculated by Fleet Engine based on the signals available to it. Output only. This value will be rejected if it is received in a request.",
            "Android's Fused Location Provider.",
            "The location provider on Apple operating systems."
          ]
        },
        "flpLocation": {
          "description": "The location from Android's Fused Location Provider.",
          "$ref": "LatLng"
        },
        "verticalAccuracy": {
          "deprecated": true,
          "type": "number",
          "format": "double",
          "description": "Deprecated: Use `altitude_accuracy` instead."
        },
        "flpLatlngAccuracyMeters": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `flp_location` in meters as a radius."
        },
        "bearingAccuracy": {
          "description": "Deprecated: Use `heading_accuracy` instead.",
          "type": "number",
          "format": "double",
          "deprecated": true
        },
        "numStaleUpdates": {
          "description": "Input only. Deprecated: Other signals are now used to determine if a location is stale.",
          "type": "integer",
          "format": "int32",
          "deprecated": true
        },
        "rawLocationTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Timestamp associated with the raw location."
        },
        "headingAccuracy": {
          "description": "Accuracy of `heading` in degrees.",
          "type": "number",
          "format": "double"
        },
        "isGpsSensorEnabled": {
          "description": "Input only. Indicates whether the GPS sensor is enabled on the mobile device.",
          "type": "boolean"
        },
        "speed": {
          "type": "number",
          "format": "double",
          "description": "Speed of the vehicle in meters/second"
        },
        "altitude": {
          "type": "number",
          "format": "double",
          "description": "Altitude in meters above WGS84."
        },
        "locationSensor": {
          "description": "Provider of location data (for example, `GPS`).",
          "type": "string",
          "enumDescriptions": [
            "The sensor is unspecified or unknown.",
            "GPS or Assisted GPS.",
            "Assisted GPS, cell tower ID, or WiFi access point.",
            "Cell tower ID or WiFi access point.",
            "A location determined by the mobile device to be the most likely road position.",
            "A customer-supplied location from an independent source. Typically, this value is used for a location provided from sources other than the mobile device running Driver SDK. If the original source is described by one of the other enum values, use that value. Locations marked CUSTOMER_SUPPLIED_LOCATION are typically provided via a DeliveryVehicle's `last_location.supplemental_location_sensor`.",
            "A location calculated by Fleet Engine based on the signals available to it. Output only. This value will be rejected if it is received in a request.",
            "Android's Fused Location Provider.",
            "The location provider on Apple operating systems."
          ],
          "enum": [
            "UNKNOWN_SENSOR",
            "GPS",
            "NETWORK",
            "PASSIVE",
            "ROAD_SNAPPED_LOCATION_PROVIDER",
            "CUSTOMER_SUPPLIED_LOCATION",
            "FLEET_ENGINE_LOCATION",
            "FUSED_LOCATION_PROVIDER",
            "CORE_LOCATION"
          ]
        },
        "heading": {
          "description": "Direction the vehicle is moving in degrees. 0 represents North. The valid range is [0,360).",
          "type": "integer",
          "format": "int32"
        },
        "flpUpdateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Update timestamp of `flp_location`"
        },
        "roadSnapped": {
          "deprecated": true,
          "type": "boolean",
          "description": "Deprecated: Use `is_road_snapped` instead."
        },
        "horizontalAccuracy": {
          "description": "Deprecated: Use `latlng_accuracy` instead.",
          "deprecated": true,
          "type": "number",
          "format": "double"
        },
        "rawLocation": {
          "description": "Raw vehicle location (unprocessed by road-snapper).",
          "$ref": "LatLng"
        },
        "supplementalLocationAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `supplemental_location` as a radius, in meters."
        },
        "serverTime": {
          "description": "Output only. The time when the server received the location information.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "supplementalLocationSensor": {
          "description": "Source of the supplemental location. Defaults to `CUSTOMER_SUPPLIED_LOCATION`.",
          "type": "string",
          "enumDescriptions": [
            "The sensor is unspecified or unknown.",
            "GPS or Assisted GPS.",
            "Assisted GPS, cell tower ID, or WiFi access point.",
            "Cell tower ID or WiFi access point.",
            "A location determined by the mobile device to be the most likely road position.",
            "A customer-supplied location from an independent source. Typically, this value is used for a location provided from sources other than the mobile device running Driver SDK. If the original source is described by one of the other enum values, use that value. Locations marked CUSTOMER_SUPPLIED_LOCATION are typically provided via a DeliveryVehicle's `last_location.supplemental_location_sensor`.",
            "A location calculated by Fleet Engine based on the signals available to it. Output only. This value will be rejected if it is received in a request.",
            "Android's Fused Location Provider.",
            "The location provider on Apple operating systems."
          ],
          "enum": [
            "UNKNOWN_SENSOR",
            "GPS",
            "NETWORK",
            "PASSIVE",
            "ROAD_SNAPPED_LOCATION_PROVIDER",
            "CUSTOMER_SUPPLIED_LOCATION",
            "FLEET_ENGINE_LOCATION",
            "FUSED_LOCATION_PROVIDER",
            "CORE_LOCATION"
          ]
        },
        "rawLocationAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `raw_location` as a radius, in meters."
        },
        "location": {
          "description": "The location of the vehicle. When it is sent to Fleet Engine, the vehicle's location is a GPS location. When you receive it in a response, the vehicle's location can be either a GPS location, a supplemental location, or some other estimated location. The source is specified in `location_sensor`.",
          "$ref": "LatLng"
        },
        "latlngAccuracy": {
          "description": "Accuracy of `location` in meters as a radius.",
          "type": "number",
          "format": "double"
        },
        "flpHeadingDegrees": {
          "description": "Direction the vehicle is moving in degrees, as determined by the Fused Location Provider. 0 represents North. The valid range is [0,360).",
          "type": "integer",
          "format": "int32"
        },
        "supplementalLocation": {
          "description": "Supplemental location provided by the integrating app.",
          "$ref": "LatLng"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time when `location` was reported by the sensor according to the sensor's clock."
        }
      }
    },
    "TaskTrackingInfo": {
      "type": "object",
      "properties": {
        "routePolylinePoints": {
          "description": "A list of points which when connected forms a polyline of the vehicle's expected route to the location of this task.",
          "items": {
            "$ref": "LatLng"
          },
          "type": "array"
        },
        "targetTimeWindow": {
          "description": "The time window during which the task should be completed.",
          "$ref": "TimeWindow"
        },
        "taskOutcome": {
          "enum": [
            "TASK_OUTCOME_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED"
          ],
          "type": "string",
          "enumDescriptions": [
            "The Task outcome before its value is set.",
            "The Task completed successfully.",
            "Either the Task couldn't be completed, or it was cancelled."
          ],
          "description": "The outcome of attempting to execute a Task."
        },
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "TaskAttribute"
          },
          "description": "The custom attributes set on the task."
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "OPEN",
            "CLOSED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default. Used for an unspecified or unrecognized Task state.",
            "Either the Task has not yet been assigned to a delivery vehicle, or the delivery vehicle has not yet passed the `Task`'s assigned vehicle stop.",
            "When the vehicle passes the vehicle stop for this Task."
          ],
          "description": "The current execution state of the Task."
        },
        "taskOutcomeTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The timestamp that indicates when the Task's outcome was set by the provider."
        },
        "remainingDrivingDistanceMeters": {
          "description": "The total remaining distance in meters to the `VehicleStop` of interest.",
          "type": "integer",
          "format": "int32"
        },
        "plannedLocation": {
          "description": "Immutable. The location where the Task will be completed.",
          "$ref": "LocationInfo"
        },
        "name": {
          "description": "Must be in the format `providers/{provider}/taskTrackingInfo/{tracking}`, where `tracking` represents the tracking ID.",
          "type": "string"
        },
        "trackingId": {
          "description": "Immutable. The tracking ID of a Task. * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
          "type": "string"
        },
        "estimatedTaskCompletionTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The timestamp that indicates the estimated completion time of a Task."
        },
        "vehicleLocation": {
          "description": "The vehicle's last location.",
          "$ref": "DeliveryVehicleLocation"
        },
        "estimatedArrivalTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The timestamp that indicates the estimated arrival time to the stop location."
        },
        "remainingStopCount": {
          "description": "Indicates the number of stops the vehicle remaining until the task stop is reached, including the task stop. For example, if the vehicle's next stop is the task stop, the value will be 1.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "TaskTrackingInfo",
      "description": "The `TaskTrackingInfo` message. The message contains task tracking information which will be used for display. If a tracking ID is associated with multiple Tasks, Fleet Engine uses a heuristic to decide which Task's TaskTrackingInfo to select."
    },
    "TripAttribute": {
      "type": "object",
      "properties": {
        "key": {
          "description": "The attribute's key. Keys may not contain the colon character (:).",
          "type": "string"
        },
        "stringValue": {
          "description": "String typed attribute value.",
          "type": "string"
        },
        "numberValue": {
          "description": "Double typed attribute value.",
          "type": "number",
          "format": "double"
        },
        "boolValue": {
          "description": "Boolean typed attribute value.",
          "type": "boolean"
        }
      },
      "id": "TripAttribute",
      "description": "Describes a trip attribute as a key-value pair. The \"key:value\" string length cannot exceed 256 characters."
    },
    "TaskAttribute": {
      "type": "object",
      "properties": {
        "boolValue": {
          "description": "Boolean typed attribute value.",
          "type": "boolean"
        },
        "key": {
          "description": "The attribute's key. Keys may not contain the colon character (:).",
          "type": "string"
        },
        "stringValue": {
          "description": "String typed attribute value.",
          "type": "string"
        },
        "numberValue": {
          "description": "Double typed attribute value.",
          "type": "number",
          "format": "double"
        }
      },
      "id": "TaskAttribute",
      "description": "Describes a task attribute as a key-value pair. The \"key:value\" string length cannot exceed 256 characters."
    },
    "DeliveryVehicleAttribute": {
      "type": "object",
      "properties": {
        "value": {
          "description": "The attribute's value.",
          "type": "string"
        },
        "boolValue": {
          "description": "Boolean typed attribute value.",
          "type": "boolean"
        },
        "key": {
          "description": "The attribute's key.",
          "type": "string"
        },
        "stringValue": {
          "description": "String typed attribute value. Note: This is identical to the `value` field which will eventually be deprecated. For create or update methods, either field can be used, but it's strongly recommended to use `string_value`. If both `string_value` and `value` are set, they must be identical or an error will be thrown. Both fields are populated in responses.",
          "type": "string"
        },
        "numberValue": {
          "type": "number",
          "format": "double",
          "description": "Double typed attribute value."
        }
      },
      "id": "DeliveryVehicleAttribute",
      "description": "Describes a vehicle attribute as a key-value pair. The \"key:value\" string length cannot exceed 256 characters."
    },
    "BatchCreateTasksRequest": {
      "id": "BatchCreateTasksRequest",
      "description": "The `BatchCreateTask` request message.",
      "type": "object",
      "properties": {
        "header": {
          "description": "Optional. The standard Delivery API request header. Note: If you set this field, then the header field in the `CreateTaskRequest` messages must either be empty, or it must match this field.",
          "$ref": "DeliveryRequestHeader"
        },
        "requests": {
          "type": "array",
          "items": {
            "$ref": "CreateTaskRequest"
          },
          "description": "Required. The request message that specifies the resources to create. Note: You can create a maximum of 500 tasks in a batch."
        }
      }
    },
    "ListDeliveryVehiclesResponse": {
      "id": "ListDeliveryVehiclesResponse",
      "description": "The `ListDeliveryVehicles` response message.",
      "type": "object",
      "properties": {
        "totalSize": {
          "description": "The total number of delivery vehicles that match the request criteria, across all pages.",
          "type": "string",
          "format": "int64"
        },
        "deliveryVehicles": {
          "type": "array",
          "items": {
            "$ref": "DeliveryVehicle"
          },
          "description": "The set of delivery vehicles that meet the requested filtering criteria. When no filter is specified, the request returns all delivery vehicles. A successful response can also be empty. An empty response indicates that no delivery vehicles were found meeting the requested filter criteria."
        },
        "nextPageToken": {
          "description": "You can pass this token in the `ListDeliveryVehiclesRequest` to continue to list results. When all of the results are returned, this field won't be in the response, or it will be an empty string.",
          "type": "string"
        }
      }
    },
    "TerminalLocation": {
      "id": "TerminalLocation",
      "description": "Describes the location of a waypoint.",
      "type": "object",
      "properties": {
        "point": {
          "description": "Denotes the exact `LatLng` of the waypoint. Either `point` or `place` must be specified as input. If both are specified, `point` will be used for routing and `place` will be used for metadata. If only `place` is specified as input, `point` will be calculated from the `place` and included in the output.",
          "$ref": "LatLng"
        },
        "tripId": {
          "description": "Deprecated.",
          "deprecated": true,
          "type": "string"
        },
        "place": {
          "description": "The resource name of the place that represents this location. The format is `places/{place_id}`. Either `point` or `place` must be specified as input. If both are specified, `point` will be used for routing and `place` will be used for metadata. `place` is only included in the output if it was included in the input, meaning that there is no `place` lookup from `LatLng` performed. This is an experimental feature.",
          "type": "string"
        },
        "terminalPointId": {
          "$ref": "TerminalPointId",
          "deprecated": true,
          "description": "Deprecated: Specify the `place` field instead."
        },
        "pointLocationSource": {
          "enum": [
            "POINT_SOURCE_UNSPECIFIED",
            "POINT_SOURCE_DEVELOPER_PROVIDED",
            "POINT_SOURCE_CALCULATED_FROM_PLACE"
          ],
          "type": "string",
          "description": "Output only. The source of the `point` field.",
          "readOnly": true,
          "enumDescriptions": [
            "Point source unspecified.",
            "The `LatLng` was explicitly provided by the developer.",
            "The `LatLng` was calculated from the provided place."
          ]
        },
        "terminalLocationType": {
          "type": "string",
          "deprecated": true,
          "enum": [
            "UNKNOWN_WAYPOINT_TYPE",
            "PICKUP_WAYPOINT_TYPE",
            "DROP_OFF_WAYPOINT_TYPE",
            "INTERMEDIATE_DESTINATION_WAYPOINT_TYPE"
          ],
          "description": "Deprecated: `Vehicle.waypoint` will have this data.",
          "enumDescriptions": [
            "Unknown or unspecified waypoint type.",
            "Waypoints for picking up riders or items.",
            "Waypoints for dropping off riders or items.",
            "Waypoints for intermediate destinations in a multi-destination trip."
          ]
        },
        "accessPointId": {
          "deprecated": true,
          "type": "string",
          "description": "Deprecated: Specify the `place` field instead."
        }
      }
    },
    "TripWaypoint": {
      "id": "TripWaypoint",
      "description": "Describes a stopping point on a vehicle's route or an ending point on a vehicle's trip.",
      "type": "object",
      "properties": {
        "location": {
          "description": "The location of this waypoint.",
          "$ref": "TerminalLocation"
        },
        "pathToWaypoint": {
          "description": "The path from the previous waypoint to the current waypoint. If this is the first waypoint, the path is from the vehicle's current location to the waypoint. This field is only populated when requested.",
          "items": {
            "$ref": "LatLng"
          },
          "type": "array"
        },
        "trafficToWaypoint": {
          "description": "The traffic conditions along the path to this waypoint. Note that traffic is only available for Google Map Platform Rides and Deliveries Solution customers.",
          "$ref": "ConsumableTrafficPolyline"
        },
        "encodedPathToWaypoint": {
          "description": "The encoded path from the previous waypoint to the current waypoint. Note: This field is intended only for use by the Driver SDK and Consumer SDK. Decoding is not yet supported.",
          "type": "string"
        },
        "distanceMeters": {
          "type": "integer",
          "format": "int32",
          "description": "The path distance from the previous waypoint to the current waypoint. If this is the first waypoint, the path distance is from the vehicle's current location to the waypoint."
        },
        "tripId": {
          "description": "The trip associated with this waypoint.",
          "type": "string"
        },
        "duration": {
          "description": "The travel time from previous waypoint to this waypoint. If this is the first waypoint, the travel time is from the vehicle's current location to the waypoint.",
          "type": "string",
          "format": "google-duration"
        },
        "waypointType": {
          "description": "The role this waypoint plays in this trip, such as pickup or dropoff.",
          "type": "string",
          "enumDescriptions": [
            "Unknown or unspecified waypoint type.",
            "Waypoints for picking up riders or items.",
            "Waypoints for dropping off riders or items.",
            "Waypoints for intermediate destinations in a multi-destination trip."
          ],
          "enum": [
            "UNKNOWN_WAYPOINT_TYPE",
            "PICKUP_WAYPOINT_TYPE",
            "DROP_OFF_WAYPOINT_TYPE",
            "INTERMEDIATE_DESTINATION_WAYPOINT_TYPE"
          ]
        },
        "eta": {
          "description": "The estimated time of arrival at this waypoint.",
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "ConsumableTrafficPolyline": {
      "type": "object",
      "properties": {
        "speedReadingInterval": {
          "type": "array",
          "items": {
            "$ref": "SpeedReadingInterval"
          },
          "description": "Traffic speed along the path from the previous waypoint to the current waypoint."
        },
        "encodedPathToWaypoint": {
          "description": "The path the driver is taking from the previous waypoint to the current waypoint. This path has landmarks in it so clients can show traffic markers along the path (see `speed_reading_interval`). Decoding is not yet supported.",
          "type": "string"
        }
      },
      "id": "ConsumableTrafficPolyline",
      "description": "Traffic density along a Vehicle's path."
    },
    "UpdateVehicleAttributesRequest": {
      "id": "UpdateVehicleAttributesRequest",
      "description": "`UpdateVehicleAttributes` request message.",
      "type": "object",
      "properties": {
        "header": {
          "description": "The standard Fleet Engine request header.",
          "$ref": "RequestHeader"
        },
        "attributes": {
          "description": "Required. The vehicle attributes to update. Unmentioned attributes are not altered or removed.",
          "type": "array",
          "items": {
            "$ref": "VehicleAttribute"
          }
        }
      }
    },
    "TerminalPointId": {
      "properties": {
        "placeId": {
          "type": "string",
          "deprecated": true,
          "description": "Deprecated."
        },
        "value": {
          "description": "Deprecated.",
          "type": "string",
          "deprecated": true
        },
        "generatedId": {
          "description": "Deprecated.",
          "type": "string",
          "deprecated": true
        }
      },
      "id": "TerminalPointId",
      "description": "Deprecated: TerminalPoints are no longer supported in Fleet Engine. Use `TerminalLocation.point` instead.",
      "type": "object",
      "deprecated": true
    },
    "DeliveryRequestHeader": {
      "type": "object",
      "properties": {
        "androidApiLevel": {
          "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
          "type": "integer",
          "format": "int32"
        },
        "manufacturer": {
          "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
          "type": "string"
        },
        "deviceModel": {
          "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
          "type": "string"
        },
        "sdkType": {
          "type": "string",
          "enumDescriptions": [
            "The default value. This value is used if the `sdk_type` is omitted.",
            "The calling SDK is Consumer.",
            "The calling SDK is Driver.",
            "The calling SDK is JavaScript."
          ],
          "enum": [
            "SDK_TYPE_UNSPECIFIED",
            "CONSUMER",
            "DRIVER",
            "JAVASCRIPT"
          ],
          "description": "The type of SDK sending the request."
        },
        "platform": {
          "type": "string",
          "enumDescriptions": [
            "The default value. This value is used if the platform is omitted.",
            "The request is coming from Android.",
            "The request is coming from iOS.",
            "The request is coming from the web."
          ],
          "enum": [
            "PLATFORM_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "WEB"
          ],
          "description": "Platform of the calling SDK."
        },
        "sdkVersion": {
          "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
          "type": "string"
        },
        "osVersion": {
          "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
          "type": "string"
        },
        "traceId": {
          "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
          "type": "string"
        },
        "mapsSdkVersion": {
          "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
          "type": "string"
        },
        "navSdkVersion": {
          "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
          "type": "string"
        },
        "languageCode": {
          "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
          "type": "string"
        },
        "regionCode": {
          "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
          "type": "string"
        }
      },
      "id": "DeliveryRequestHeader",
      "description": "A RequestHeader contains fields common to all Delivery RPC requests."
    },
    "VehicleAttribute": {
      "id": "VehicleAttribute",
      "description": "Describes a vehicle attribute as a key-value pair. The \"key:value\" string length cannot exceed 256 characters.",
      "type": "object",
      "properties": {
        "boolValue": {
          "description": "Boolean typed attribute value.",
          "type": "boolean"
        },
        "key": {
          "description": "The attribute's key. Keys may not contain the colon character (:).",
          "type": "string"
        },
        "stringValue": {
          "description": "String typed attribute value. Note: This is identical to the `value` field which will eventually be deprecated. For create or update methods, either field can be used, but it's strongly recommended to use `string_value`. If both `string_value` and `value` are set, they must be identical or an error will be thrown. Both fields are populated in responses.",
          "type": "string"
        },
        "numberValue": {
          "description": "Double typed attribute value.",
          "type": "number",
          "format": "double"
        },
        "value": {
          "description": "The attribute's value.",
          "type": "string"
        }
      }
    },
    "TaskInfo": {
      "type": "object",
      "properties": {
        "taskId": {
          "description": "The Task ID. This field won't be populated in the response of a `GetTask` call. Task IDs are subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
          "type": "string"
        },
        "taskDuration": {
          "description": "Output only. The time required to perform the Task.",
          "readOnly": true,
          "type": "string",
          "format": "google-duration"
        },
        "targetTimeWindow": {
          "description": "Output only. The time window during which the task should be completed. This is only set in the response to `GetDeliveryVehicle`.",
          "readOnly": true,
          "$ref": "TimeWindow"
        }
      },
      "id": "TaskInfo",
      "description": "Additional information about the Task performed at this stop."
    },
    "StopLocation": {
      "type": "object",
      "properties": {
        "timestamp": {
          "description": "Indicates when the stop happened.",
          "type": "string",
          "format": "google-datetime"
        },
        "point": {
          "description": "Required. Denotes the actual location.",
          "$ref": "LatLng"
        },
        "stopTime": {
          "type": "string",
          "format": "google-datetime",
          "deprecated": true,
          "description": "Input only. Deprecated. Use the timestamp field."
        }
      },
      "id": "StopLocation",
      "description": "The actual location where a stop (pickup/dropoff) happened."
    },
    "SpeedReadingInterval": {
      "id": "SpeedReadingInterval",
      "description": "Traffic density indicator on a contiguous segment of a path. Given a path with points P_0, P_1, ... , P_N (zero-based index), the SpeedReadingInterval defines an interval and describes its traffic using the following categories.",
      "type": "object",
      "properties": {
        "endPolylinePointIndex": {
          "description": "The ending index of this interval in the path. In JSON, when the index is 0, the field will appear to be unpopulated.",
          "type": "integer",
          "format": "int32"
        },
        "startPolylinePointIndex": {
          "description": "The starting index of this interval in the path. In JSON, when the index is 0, the field will appear to be unpopulated.",
          "type": "integer",
          "format": "int32"
        },
        "speed": {
          "description": "Traffic speed in this interval.",
          "type": "string",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Normal speed, no traffic delays.",
            "Slowdown detected, medium amount of traffic.",
            "Traffic delays."
          ],
          "enum": [
            "SPEED_UNSPECIFIED",
            "NORMAL",
            "SLOW",
            "TRAFFIC_JAM"
          ]
        }
      }
    },
    "VehicleLocation": {
      "id": "VehicleLocation",
      "description": "The location, speed, and heading of a vehicle at a point in time.",
      "type": "object",
      "properties": {
        "rawLocation": {
          "description": "Raw vehicle location (unprocessed by road-snapper).",
          "$ref": "LatLng"
        },
        "supplementalLocationAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `supplemental_location` as a radius, in meters."
        },
        "serverTime": {
          "description": "Output only. The time when the server received the location information.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "supplementalLocationSensor": {
          "description": "Source of the supplemental location. Defaults to `CUSTOMER_SUPPLIED_LOCATION`.",
          "type": "string",
          "enumDescriptions": [
            "The sensor is unspecified or unknown.",
            "GPS or Assisted GPS.",
            "Assisted GPS, cell tower ID, or WiFi access point.",
            "Cell tower ID or WiFi access point.",
            "A location determined by the mobile device to be the most likely road position.",
            "A customer-supplied location from an independent source. Typically, this value is used for a location provided from sources other than the mobile device running Driver SDK. If the original source is described by one of the other enum values, use that value. Locations marked CUSTOMER_SUPPLIED_LOCATION are typically provided via a Vehicle's `last_location.supplemental_location_sensor`.",
            "A location calculated by Fleet Engine based on the signals available to it. Output only. This value will be rejected if it is received in a request.",
            "Android's Fused Location Provider.",
            "The location provider on Apple operating systems."
          ],
          "enum": [
            "UNKNOWN_SENSOR",
            "GPS",
            "NETWORK",
            "PASSIVE",
            "ROAD_SNAPPED_LOCATION_PROVIDER",
            "CUSTOMER_SUPPLIED_LOCATION",
            "FLEET_ENGINE_LOCATION",
            "FUSED_LOCATION_PROVIDER",
            "CORE_LOCATION"
          ]
        },
        "rawLocationAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `raw_location` as a radius, in meters."
        },
        "location": {
          "description": "The location of the vehicle. When it is sent to Fleet Engine, the vehicle's location is a GPS location. When you receive it in a response, the vehicle's location can be either a GPS location, a supplemental location, or some other estimated location. The source is specified in `location_sensor`.",
          "$ref": "LatLng"
        },
        "latlngAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `location` in meters as a radius."
        },
        "flpHeadingDegrees": {
          "type": "integer",
          "format": "int32",
          "description": "Direction the vehicle is moving in degrees, as determined by the Fused Location Provider. 0 represents North. The valid range is [0,360)."
        },
        "supplementalLocation": {
          "description": "Supplemental location provided by the integrating app.",
          "$ref": "LatLng"
        },
        "updateTime": {
          "description": "The time when `location` was reported by the sensor according to the sensor's clock.",
          "type": "string",
          "format": "google-datetime"
        },
        "speed": {
          "type": "number",
          "format": "double",
          "description": "Speed of the vehicle in meters/second"
        },
        "altitude": {
          "type": "number",
          "format": "double",
          "description": "Altitude in meters above WGS84."
        },
        "locationSensor": {
          "description": "Provider of location data (for example, `GPS`).",
          "enum": [
            "UNKNOWN_SENSOR",
            "GPS",
            "NETWORK",
            "PASSIVE",
            "ROAD_SNAPPED_LOCATION_PROVIDER",
            "CUSTOMER_SUPPLIED_LOCATION",
            "FLEET_ENGINE_LOCATION",
            "FUSED_LOCATION_PROVIDER",
            "CORE_LOCATION"
          ],
          "type": "string",
          "enumDescriptions": [
            "The sensor is unspecified or unknown.",
            "GPS or Assisted GPS.",
            "Assisted GPS, cell tower ID, or WiFi access point.",
            "Cell tower ID or WiFi access point.",
            "A location determined by the mobile device to be the most likely road position.",
            "A customer-supplied location from an independent source. Typically, this value is used for a location provided from sources other than the mobile device running Driver SDK. If the original source is described by one of the other enum values, use that value. Locations marked CUSTOMER_SUPPLIED_LOCATION are typically provided via a Vehicle's `last_location.supplemental_location_sensor`.",
            "A location calculated by Fleet Engine based on the signals available to it. Output only. This value will be rejected if it is received in a request.",
            "Android's Fused Location Provider.",
            "The location provider on Apple operating systems."
          ]
        },
        "heading": {
          "type": "integer",
          "format": "int32",
          "description": "Direction the vehicle is moving in degrees. 0 represents North. The valid range is [0,360)."
        },
        "flpUpdateTime": {
          "description": "Update timestamp of `flp_location`",
          "type": "string",
          "format": "google-datetime"
        },
        "roadSnapped": {
          "description": "Deprecated: Use `is_road_snapped` instead.",
          "type": "boolean",
          "deprecated": true
        },
        "horizontalAccuracy": {
          "description": "Deprecated: Use `latlng_accuracy` instead.",
          "deprecated": true,
          "type": "number",
          "format": "double"
        },
        "speedKmph": {
          "description": "Speed of the vehicle in kilometers per hour. Deprecated: Use `speed` instead.",
          "type": "integer",
          "format": "int32",
          "deprecated": true
        },
        "speedAccuracy": {
          "description": "Accuracy of `speed` in meters/second.",
          "type": "number",
          "format": "double"
        },
        "timeSinceUpdate": {
          "description": "Input only. Time (in seconds) since this location was first sent to the server. This will be zero for the first update. If the time is unknown (for example, when the app restarts), this value resets to zero.",
          "type": "integer",
          "format": "int32"
        },
        "rawLocationSensor": {
          "type": "string",
          "enumDescriptions": [
            "The sensor is unspecified or unknown.",
            "GPS or Assisted GPS.",
            "Assisted GPS, cell tower ID, or WiFi access point.",
            "Cell tower ID or WiFi access point.",
            "A location determined by the mobile device to be the most likely road position.",
            "A customer-supplied location from an independent source. Typically, this value is used for a location provided from sources other than the mobile device running Driver SDK. If the original source is described by one of the other enum values, use that value. Locations marked CUSTOMER_SUPPLIED_LOCATION are typically provided via a Vehicle's `last_location.supplemental_location_sensor`.",
            "A location calculated by Fleet Engine based on the signals available to it. Output only. This value will be rejected if it is received in a request.",
            "Android's Fused Location Provider.",
            "The location provider on Apple operating systems."
          ],
          "enum": [
            "UNKNOWN_SENSOR",
            "GPS",
            "NETWORK",
            "PASSIVE",
            "ROAD_SNAPPED_LOCATION_PROVIDER",
            "CUSTOMER_SUPPLIED_LOCATION",
            "FLEET_ENGINE_LOCATION",
            "FUSED_LOCATION_PROVIDER",
            "CORE_LOCATION"
          ],
          "description": "Source of the raw location. Defaults to `GPS`."
        },
        "flpLocation": {
          "description": "The location from Android's Fused Location Provider.",
          "$ref": "LatLng"
        },
        "verticalAccuracy": {
          "deprecated": true,
          "type": "number",
          "format": "double",
          "description": "Deprecated: Use `altitude_accuracy` instead."
        },
        "flpLatlngAccuracyMeters": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `flp_location` in meters as a radius."
        },
        "bearingAccuracy": {
          "deprecated": true,
          "type": "number",
          "format": "double",
          "description": "Deprecated: Use `heading_accuracy` instead."
        },
        "numStaleUpdates": {
          "description": "Input only. Deprecated: Other signals are now used to determine if a location is stale.",
          "type": "integer",
          "format": "int32",
          "deprecated": true
        },
        "rawLocationTime": {
          "description": "Timestamp associated with the raw location.",
          "type": "string",
          "format": "google-datetime"
        },
        "headingAccuracy": {
          "description": "Accuracy of `heading` in degrees.",
          "type": "number",
          "format": "double"
        },
        "isGpsSensorEnabled": {
          "description": "Input only. Indicates whether the GPS sensor is enabled on the mobile device.",
          "type": "boolean"
        },
        "supplementalLocationTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Timestamp associated with the supplemental location."
        },
        "isRoadSnapped": {
          "description": "Whether `location` is snapped to a road.",
          "type": "boolean"
        },
        "altitudeAccuracy": {
          "type": "number",
          "format": "double",
          "description": "Accuracy of `altitude` in meters."
        }
      }
    },
    "SearchTripsResponse": {
      "id": "SearchTripsResponse",
      "description": "SearchTrips response message.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Pass this token in the SearchTripsRequest to page through list results. The API returns a trip list on each call, and when no more results remain the trip list is empty.",
          "type": "string"
        },
        "trips": {
          "description": "The list of trips for the requested vehicle.",
          "items": {
            "$ref": "Trip"
          },
          "type": "array"
        }
      }
    },
    "JourneySharingInfo": {
      "type": "object",
      "properties": {
        "lastLocation": {
          "description": "Indicates the vehicle's last reported location of the assigned vehicle.",
          "$ref": "DeliveryVehicleLocation"
        },
        "lastLocationSnappable": {
          "description": "Indicates whether the vehicle's lastLocation can be snapped to the `current_route_segment`. This value is False if either `last_location` or `current_route_segment` don't exist. This value is computed by Fleet Engine. Updates from clients are ignored.",
          "type": "boolean"
        },
        "remainingVehicleJourneySegments": {
          "type": "array",
          "items": {
            "$ref": "VehicleJourneySegment"
          },
          "description": "Tracking information for the stops that the assigned vehicle will make before it completes this Task. Note that this list can contain stops from other tasks. The first segment, `Task.journey_sharing_info.remaining_vehicle_journey_segments[0]` (gRPC) or `Task.journeySharingInfo.remainingVehicleJourneySegments[0]` (REST), contains route information from the driver's last known location to the upcoming `VehicleStop`. Current route information usually comes from the driver app, except for some cases noted in the documentation for DeliveryVehicle.current_route_segment. The other segments in `Task.journey_sharing_info.remaining_vehicle_journey_segments` (gRPC) or `Task.journeySharingInfo.remainingVehicleJourneySegments` (REST) are populated by Fleet Engine. They provide route information between the remaining `VehicleStops`."
        }
      },
      "id": "JourneySharingInfo",
      "description": "Journey sharing specific fields."
    },
    "LocationInfo": {
      "type": "object",
      "properties": {
        "place": {
          "description": "The resource name of the place that represents this location. The format is `places/{place_id}`. Either `point` or `place` must be specified as input. If both are specified, `point` will be used for routing and `place` will be used for metadata. `place` is only included in the output if it was included in the input, meaning that there is no `place` lookup from `LatLng` performed. This is an experimental feature.",
          "type": "string"
        },
        "point": {
          "description": "The location's coordinates. Either `point` or `place` must be specified as input. If both are specified, `point` will be used for routing and `place` will be used for metadata. If only `place` is specified as input, `point` will be calculated from the `place` and included in the output.",
          "$ref": "LatLng"
        },
        "pointLocationSource": {
          "enum": [
            "POINT_SOURCE_UNSPECIFIED",
            "POINT_SOURCE_DEVELOPER_PROVIDED",
            "POINT_SOURCE_CALCULATED_FROM_PLACE"
          ],
          "type": "string",
          "description": "Output only. The source of the latlng `point` field. This is part of an experimental feature.",
          "readOnly": true,
          "enumDescriptions": [
            "Point source unspecified.",
            "The `LatLng` was explicitly provided by the developer.",
            "The `LatLng` was calculated from the provided place."
          ]
        }
      },
      "id": "LocationInfo",
      "description": "A location with any additional identifiers."
    },
    "Empty": {
      "type": "object",
      "properties": {},
      "id": "Empty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }"
    },
    "Task": {
      "type": "object",
      "properties": {
        "taskDuration": {
          "type": "string",
          "format": "google-duration",
          "description": "Required. Immutable. The time needed to execute a Task at this location."
        },
        "attributes": {
          "description": "A list of custom Task attributes. Each attribute must have a unique key.",
          "items": {
            "$ref": "TaskAttribute"
          },
          "type": "array"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "OPEN",
            "CLOSED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default. Used for an unspecified or unrecognized Task state.",
            "Either the Task has not yet been assigned to a delivery vehicle, or the delivery vehicle has not yet passed the `Task`'s assigned vehicle stop.",
            "When the vehicle passes the vehicle stop for this Task."
          ],
          "description": "Required. The current execution state of the Task."
        },
        "targetTimeWindow": {
          "description": "The time window during which the task should be completed.",
          "$ref": "TimeWindow"
        },
        "journeySharingInfo": {
          "$ref": "JourneySharingInfo",
          "readOnly": true,
          "description": "Output only. Journey sharing-specific fields. Not populated when state is `CLOSED`."
        },
        "taskOutcome": {
          "description": "The outcome of the Task.",
          "enum": [
            "TASK_OUTCOME_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED"
          ],
          "type": "string",
          "enumDescriptions": [
            "The Task outcome before its value is set.",
            "The Task completed successfully.",
            "Either the Task couldn't be completed, or it was cancelled."
          ]
        },
        "type": {
          "description": "Required. Immutable. Defines the type of the Task. For example, a break or shipment.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "PICKUP",
            "DELIVERY",
            "SCHEDULED_STOP",
            "UNAVAILABLE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default, the Task type is unknown.",
            "A pickup Task is the action taken for picking up a shipment from a customer. Depot or feeder vehicle pickups should use the `SCHEDULED_STOP` type.",
            "A delivery Task is the action taken for delivering a shipment to an end customer. Depot or feeder vehicle dropoffs should use the `SCHEDULED_STOP` type.",
            "A scheduled stop Task is used for planning purposes. For example, it could represent picking up or dropping off shipments from feeder vehicles or depots. It shouldn't be used for any shipments that are picked up or dropped off from an end customer.",
            "A Task that means the Vehicle is not available for service. For example, this can happen when the driver takes a break, or when the vehicle is being refueled."
          ]
        },
        "taskOutcomeTime": {
          "description": "The timestamp that indicates when the `Task`'s outcome was set by the provider.",
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "description": "Must be in the format `providers/{provider}/tasks/{task}`.",
          "type": "string"
        },
        "taskOutcomeLocation": {
          "description": "The location where the `Task`'s outcome was set. This value is updated as part of `UpdateTask`. If this value isn't explicitly updated by the provider, then Fleet Engine populates it by default with the last known vehicle location (the *raw* location).",
          "$ref": "LocationInfo"
        },
        "trackingId": {
          "description": "Immutable. This field facilitates the storing of an ID so you can avoid using a complicated mapping. You cannot set `tracking_id` for Tasks of type `UNAVAILABLE` and `SCHEDULED_STOP`. These IDs are subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
          "type": "string"
        },
        "deliveryVehicleId": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The ID of the vehicle that is executing this Task. Delivery Vehicle IDs are subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'."
        },
        "plannedLocation": {
          "description": "Immutable. The location where the Task will be completed. Optional for `UNAVAILABLE` Tasks, but required for all other Tasks.",
          "$ref": "LocationInfo"
        },
        "taskTrackingViewConfig": {
          "description": "The configuration for task tracking that specifies which data elements are visible to the end users under what circumstances.",
          "$ref": "TaskTrackingViewConfig"
        },
        "taskOutcomeLocationSource": {
          "enum": [
            "TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED",
            "PROVIDER",
            "LAST_VEHICLE_LOCATION"
          ],
          "type": "string",
          "enumDescriptions": [
            "The task outcome before it is set.",
            "The provider-specified the `task_outcome_location`.",
            "The provider didn't specify the `task_outcome_location`, so Fleet Engine used the last known vehicle location."
          ],
          "description": "Indicates where the value of the `task_outcome_location` came from."
        }
      },
      "id": "Task",
      "description": "A Task in the Delivery API represents a single action to track. In general, there is a distinction between shipment-related Tasks and break Tasks. A shipment can have multiple Tasks associated with it. For example, there could be one Task for the pickup, and one for the drop-off or transfer. Also, different Tasks for a given shipment can be handled by different vehicles. For example, one vehicle could handle the pickup, driving the shipment to the hub, while another vehicle drives the same shipment from the hub to the drop-off location. Note: gRPC and REST APIs use different field naming conventions. For example, the `Task.journey_sharing_info` field in the gRPC API and the `Task.journeySharingInfo` field in the REST API refer to the same field."
    },
    "SearchVehiclesResponse": {
      "type": "object",
      "properties": {
        "matches": {
          "items": {
            "$ref": "VehicleMatch"
          },
          "type": "array",
          "description": "List of vehicles that match the `SearchVehiclesRequest` criteria, ordered according to `SearchVehiclesRequest.order_by` field."
        }
      },
      "id": "SearchVehiclesResponse",
      "description": "`SearchVehicles` response message."
    },
    "Waypoint": {
      "type": "object",
      "properties": {
        "latLng": {
          "description": "The location of this waypoint.",
          "$ref": "LatLng"
        },
        "eta": {
          "type": "string",
          "format": "google-datetime",
          "description": "The estimated time that the vehicle will arrive at this waypoint."
        }
      },
      "id": "Waypoint",
      "description": "Describes intermediate points along a route for a `VehicleMatch` in a `SearchVehiclesResponse`. This concept is represented as a `TripWaypoint` in all other endpoints."
    },
    "ListTasksResponse": {
      "type": "object",
      "properties": {
        "tasks": {
          "description": "The set of Tasks that meet the requested filtering criteria. When no filter is specified, the request returns all tasks. A successful response can also be empty. An empty response indicates that no Tasks were found meeting the requested filter criteria.",
          "type": "array",
          "items": {
            "$ref": "Task"
          }
        },
        "totalSize": {
          "type": "string",
          "format": "int64",
          "description": "The total number of Tasks that match the request criteria, across all pages."
        },
        "nextPageToken": {
          "description": "Pass this token in the `ListTasksRequest` to continue to list results. If all results have been returned, then this field is either an empty string, or it doesn't appear in the response.",
          "type": "string"
        }
      },
      "id": "ListTasksResponse",
      "description": "The `ListTasks` response that contains the set of Tasks that meet the filter criteria in the `ListTasksRequest`."
    },
    "ReportBillableTripRequest": {
      "id": "ReportBillableTripRequest",
      "description": "ReportBillableTrip request message.",
      "type": "object",
      "properties": {
        "solutionType": {
          "enum": [
            "SOLUTION_TYPE_UNSPECIFIED",
            "ON_DEMAND_RIDESHARING_AND_DELIVERIES"
          ],
          "type": "string",
          "enumDescriptions": [
            "The default value. For backwards-compatibility, the API will use `ON_DEMAND_RIDESHARING_AND_DELIVERIES` by default which is the first supported solution type.",
            "The solution is an on-demand ridesharing and deliveries trip."
          ],
          "description": "The type of GMP product solution (for example, `ON_DEMAND_RIDESHARING_AND_DELIVERIES`) used for the reported trip."
        },
        "countryCode": {
          "description": "Required. Two letter country code of the country where the trip takes place. Price is defined according to country code.",
          "type": "string"
        },
        "platform": {
          "description": "The platform upon which the request was issued.",
          "type": "string",
          "enumDescriptions": [
            "Default. Used for unspecified platforms.",
            "The platform is a client server.",
            "The platform is a web browser.",
            "The platform is an Android mobile device.",
            "The platform is an IOS mobile device.",
            "Other platforms that are not listed in this enumeration."
          ],
          "enum": [
            "BILLING_PLATFORM_IDENTIFIER_UNSPECIFIED",
            "SERVER",
            "WEB",
            "ANDROID",
            "IOS",
            "OTHERS"
          ]
        },
        "relatedIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The identifiers that are directly related to the trip being reported. These are usually IDs (for example, session IDs) of pre-booking operations done before the trip ID is available. The number of `related_ids` is limited to 50."
        }
      }
    },
    "Trip": {
      "id": "Trip",
      "description": "Trip metadata.",
      "type": "object",
      "properties": {
        "actualIntermediateDestinationArrivalPoints": {
          "description": "Input only. The actual time and location of the driver's arrival at an intermediate destination. This field is for provider to provide feedback on actual arrival information at intermediate destinations.",
          "items": {
            "$ref": "StopLocation"
          },
          "type": "array"
        },
        "remainingWaypointsRouteVersion": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Indicates the last time the `remaining_waypoints.path_to_waypoint` and `remaining_waypoints.traffic_to_waypoint` were modified. Your client app should cache this value and pass it in `GetTripRequest` to ensure the paths and traffic for `remaining_waypoints` are only returned if updated."
        },
        "pickupPoint": {
          "description": "Location where customer indicates they will be picked up.",
          "$ref": "TerminalLocation"
        },
        "pickupTime": {
          "description": "Output only. Either the estimated future time when the rider(s) will be picked up, or the actual time when they were picked up.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "description": "Output only. In the format \"providers/{provider}/trips/{trip}\"",
          "readOnly": true,
          "type": "string"
        },
        "actualPickupPoint": {
          "description": "Input only. The actual location when and where customer was picked up. This field is for provider to provide feedback on actual pickup information.",
          "$ref": "StopLocation"
        },
        "intermediateDestinationsVersion": {
          "type": "string",
          "format": "google-datetime",
          "description": "Indicates the last time the `intermediate_destinations` was modified. Your server should cache this value and pass it in `UpdateTripRequest` when update `intermediate_destination_index` to ensure the `intermediate_destinations` is not changed."
        },
        "currentRouteSegmentTrafficVersion": {
          "description": "Output only. Indicates the last time the `current_route_segment_traffic` was modified. Note: This field is intended only for use by the Driver SDK and Consumer SDK.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "vehicleId": {
          "description": "ID of the vehicle making this trip.",
          "type": "string"
        },
        "tripStatus": {
          "description": "Current status of the trip.",
          "enum": [
            "UNKNOWN_TRIP_STATUS",
            "NEW",
            "ENROUTE_TO_PICKUP",
            "ARRIVED_AT_PICKUP",
            "ARRIVED_AT_INTERMEDIATE_DESTINATION",
            "ENROUTE_TO_INTERMEDIATE_DESTINATION",
            "ENROUTE_TO_DROPOFF",
            "COMPLETE",
            "CANCELED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized trip status.",
            "Newly created trip.",
            "The driver is on their way to the pickup point.",
            "The driver has arrived at the pickup point.",
            "The driver has arrived at an intermediate destination and is waiting for the rider.",
            "The driver is on their way to an intermediate destination (not the dropoff point).",
            "The driver has picked up the rider and is on their way to the next destination.",
            "The rider has been dropped off and the trip is complete.",
            "The trip was canceled prior to pickup by the driver, rider, or rideshare provider."
          ]
        },
        "actualIntermediateDestinations": {
          "type": "array",
          "items": {
            "$ref": "StopLocation"
          },
          "description": "Input only. The actual time and location when and where the customer was picked up from an intermediate destination. This field is for provider to provide feedback on actual pickup information at intermediate destinations."
        },
        "etaToFirstWaypoint": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The ETA to the next waypoint (the first entry in the `remaining_waypoints` field). The value is unspecified if the trip is not assigned to a vehicle, or the trip is inactive (completed or cancelled)."
        },
        "actualPickupArrivalPoint": {
          "description": "Input only. The actual time and location of the driver arrival at the pickup point. This field is for provider to provide feedback on actual arrival information at the pickup point.",
          "$ref": "StopLocation"
        },
        "currentRouteSegmentTraffic": {
          "$ref": "ConsumableTrafficPolyline",
          "readOnly": true,
          "description": "Output only. Indicates the traffic conditions along the `current_route_segment` when they're available. Note: This field is intended only for use by the Driver SDK and Consumer SDK."
        },
        "tripType": {
          "description": "The type of the trip.",
          "enum": [
            "UNKNOWN_TRIP_TYPE",
            "SHARED",
            "EXCLUSIVE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized trip types.",
            "The trip may share a vehicle with other trips.",
            "The trip is exclusive to a vehicle."
          ]
        },
        "remainingWaypoints": {
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "TripWaypoint"
          },
          "description": "Output only. The full path from the current location to the dropoff point, inclusive. This path could include waypoints from other trips."
        },
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "TripAttribute"
          },
          "description": "A list of custom Trip attributes. Each attribute must have a unique key."
        },
        "remainingDistanceMeters": {
          "type": "integer",
          "format": "int32",
          "readOnly": true,
          "description": "Output only. The remaining driving distance in the `current_route_segment` field. The value is unspecified if the trip is not assigned to a vehicle, or the trip is completed or cancelled."
        },
        "lastLocationSnappable": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Indicates whether the vehicle's `last_location` can be snapped to the current_route_segment. False if `last_location` or `current_route_segment` doesn't exist. It is computed by Fleet Engine. Any update from clients will be ignored."
        },
        "dropoffTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Either the estimated future time when the rider(s) will be dropped off at the final destination, or the actual time when they were dropped off."
        },
        "currentRouteSegmentVersion": {
          "description": "Output only. Indicates the last time the route was modified. Note: This field is intended only for use by the Driver SDK and Consumer SDK.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "remainingWaypointsVersion": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Indicates the last time that `remaining_waypoints` was changed (a waypoint was added, removed, or changed)."
        },
        "actualDropoffPoint": {
          "description": "Input only. The actual time and location when and where customer was dropped off. This field is for provider to provide feedback on actual dropoff information.",
          "$ref": "StopLocation"
        },
        "lastLocation": {
          "$ref": "VehicleLocation",
          "readOnly": true,
          "description": "Output only. Indicates the last reported location of the vehicle along the route."
        },
        "intermediateDestinations": {
          "type": "array",
          "items": {
            "$ref": "TerminalLocation"
          },
          "description": "Intermediate stops in order that the trip requests (in addition to pickup and dropoff). Initially this will not be supported for shared trips."
        },
        "dropoffPoint": {
          "description": "Location where customer indicates they will be dropped off.",
          "$ref": "TerminalLocation"
        },
        "view": {
          "enum": [
            "TRIP_VIEW_UNSPECIFIED",
            "SDK",
            "JOURNEY_SHARING_V1S"
          ],
          "type": "string",
          "enumDescriptions": [
            "The default value. For backwards-compatibility, the API will default to an SDK view. To ensure stability and support, customers are advised to select a `TripView` other than `SDK`.",
            "Includes fields that may not be interpretable or supportable using publicly available libraries.",
            "Trip fields are populated for the Journey Sharing use case. This view is intended for server-to-server communications."
          ],
          "description": "The subset of Trip fields that are populated and how they should be interpreted."
        },
        "route": {
          "readOnly": true,
          "items": {
            "$ref": "LatLng"
          },
          "type": "array",
          "description": "Output only. Anticipated route for this trip to the first entry in remaining_waypoints. Note that the first waypoint may belong to a different trip."
        },
        "vehicleWaypoints": {
          "items": {
            "$ref": "TripWaypoint"
          },
          "type": "array",
          "description": "This field supports manual ordering of the waypoints for the trip. It contains all of the remaining waypoints for the assigned vehicle, as well as the pickup and drop-off waypoints for this trip. If the trip hasn't been assigned to a vehicle, then Fleet Engine ignores this field. For privacy reasons, this field is only populated by the server on `UpdateTrip` and `CreateTrip` calls, NOT on `GetTrip` calls."
        },
        "currentRouteSegment": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. An encoded path to the next waypoint. Note: This field is intended only for use by the Driver SDK and Consumer SDK. Decoding is not yet supported."
        },
        "currentRouteSegmentEndPoint": {
          "$ref": "TripWaypoint",
          "readOnly": true,
          "description": "Output only. The waypoint where `current_route_segment` ends."
        },
        "intermediateDestinationIndex": {
          "description": "When `TripStatus` is `ENROUTE_TO_INTERMEDIATE_DESTINATION`, a number between [0..N-1] indicating which intermediate destination the vehicle will cross next. When `TripStatus` is `ARRIVED_AT_INTERMEDIATE_DESTINATION`, a number between [0..N-1] indicating which intermediate destination the vehicle is at. The provider sets this value. If there are no `intermediate_destinations`, this field is ignored.",
          "type": "integer",
          "format": "int32"
        },
        "remainingTimeToFirstWaypoint": {
          "type": "string",
          "format": "google-duration",
          "readOnly": true,
          "description": "Output only. The duration from when the Trip data is returned to the time in `Trip.eta_to_first_waypoint`. The value is unspecified if the trip is not assigned to a vehicle, or the trip is inactive (completed or cancelled)."
        },
        "numberOfPassengers": {
          "description": "Immutable. Indicates the number of passengers on this trip and does not include the driver. A vehicle must have available capacity to be returned in a `SearchVehicles` response.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "VehicleStop": {
      "type": "object",
      "properties": {
        "plannedLocation": {
          "description": "Required. The location of the stop. Note that the locations in the `Task`s might not exactly match this location, but will be within a short distance of it. This field won't be populated in the response of a `GetTask` call.",
          "$ref": "LocationInfo"
        },
        "tasks": {
          "description": "The list of `Task`s to be performed at this stop. This field won't be populated in the response of a `GetTask` call.",
          "items": {
            "$ref": "TaskInfo"
          },
          "type": "array"
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "Unknown.",
            "Created, but not actively routing.",
            "Assigned and actively routing.",
            "Arrived at stop. Assumes that when the Vehicle is routing to the next stop, that all previous stops have been completed."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "NEW",
            "ENROUTE",
            "ARRIVED"
          ],
          "description": "The state of the `VehicleStop`. This field won't be populated in the response of a `GetTask` call."
        }
      },
      "id": "VehicleStop",
      "description": "Describes a point where a Vehicle stops to perform one or more `Task`s."
    },
    "Vehicle": {
      "id": "Vehicle",
      "description": "Vehicle metadata.",
      "type": "object",
      "properties": {
        "supportedTripTypes": {
          "description": "Trip types supported by this vehicle.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Default, used for unspecified or unrecognized trip types.",
              "The trip may share a vehicle with other trips.",
              "The trip is exclusive to a vehicle."
            ],
            "enum": [
              "UNKNOWN_TRIP_TYPE",
              "SHARED",
              "EXCLUSIVE"
            ]
          }
        },
        "name": {
          "description": "Output only. The unique name for this vehicle. The format is `providers/{provider}/vehicles/{vehicle}`.",
          "readOnly": true,
          "type": "string"
        },
        "pastLocations": {
          "items": {
            "$ref": "VehicleLocation"
          },
          "type": "array",
          "description": "Input only. Locations where this vehicle has been in the past that haven't yet been reported to Fleet Engine. This is used in `UpdateVehicleRequest` to record locations which were previously unable to be sent to the server. Typically this happens when the vehicle does not have internet connectivity."
        },
        "vehicleState": {
          "description": "The vehicle state.",
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized vehicle states.",
            "The vehicle is not accepting new trips. Note: the vehicle may continue to operate in this state while completing a trip assigned to it.",
            "The vehicle is accepting new trips."
          ],
          "enum": [
            "UNKNOWN_VEHICLE_STATE",
            "OFFLINE",
            "ONLINE"
          ]
        },
        "deviceSettings": {
          "description": "Input only. Information about settings in the mobile device being used by the driver.",
          "$ref": "DeviceSettings"
        },
        "route": {
          "description": "Deprecated: Use `Vehicle.waypoints` instead.",
          "deprecated": true,
          "items": {
            "$ref": "TerminalLocation"
          },
          "type": "array"
        },
        "lastLocation": {
          "description": "Last reported location of the vehicle.",
          "$ref": "VehicleLocation"
        },
        "vehicleType": {
          "description": "Required. The type of this vehicle. Can be used to filter vehicles in `SearchVehicles` results. Also influences ETA and route calculations.",
          "$ref": "VehicleType"
        },
        "maximumCapacity": {
          "description": "The total numbers of riders this vehicle can carry. The driver is not considered in this value. This value must be greater than or equal to one.",
          "type": "integer",
          "format": "int32"
        },
        "currentRouteSegmentVersion": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Time when `current_route_segment` was set. It can be stored by the client and passed in future `GetVehicle` requests to prevent returning routes that haven't changed."
        },
        "backToBackEnabled": {
          "description": "Indicates if the driver accepts back-to-back trips. If `true`, `SearchVehicles` may include the vehicle even if it is currently assigned to a trip. The default value is `false`.",
          "type": "boolean"
        },
        "remainingTimeSeconds": {
          "description": "Input only. The remaining driving time for the `current_route_segment`. The value is unspecified if the `waypoints` field is empty or the `Vehicle.current_route_segment` field is empty. This value should match `eta_to_first_waypoint` - `current_time` if all parties are using the same clock. When updating a vehicle, `remaining_time_seconds` takes precedence over `eta_to_first_waypoint` in the same request.",
          "type": "integer",
          "format": "int32"
        },
        "navigationStatus": {
          "description": "The vehicle's navigation status.",
          "enum": [
            "UNKNOWN_NAVIGATION_STATUS",
            "NO_GUIDANCE",
            "ENROUTE_TO_DESTINATION",
            "OFF_ROUTE",
            "ARRIVED_AT_DESTINATION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified navigation status.",
            "The Driver app's navigation is in `FREE_NAV` mode.",
            "Turn-by-turn navigation is available and the Driver app navigation has entered `GUIDED_NAV` mode.",
            "The vehicle has gone off the suggested route.",
            "The vehicle is within approximately 50m of the destination."
          ]
        },
        "attributes": {
          "description": "List of vehicle attributes. A vehicle can have at most 100 attributes, and each attribute must have a unique key.",
          "items": {
            "$ref": "VehicleAttribute"
          },
          "type": "array"
        },
        "remainingDistanceMeters": {
          "type": "integer",
          "format": "int32",
          "description": "The remaining driving distance for the `current_route_segment`. This value is also returned in `Trip.remaining_distance_meters` for all active trips assigned to the vehicle. The value is unspecified if the `current_route_segment` field is empty."
        },
        "waypointsVersion": {
          "description": "Output only. Last time the `waypoints` field was updated. Clients should cache this value and pass it in `GetVehicleRequest` to ensure the `waypoints` field is only returned if it is updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "currentRouteSegmentTraffic": {
          "description": "Input only. Fleet Engine uses this information to improve journey sharing. Note: This field is intended only for use by the Driver SDK.",
          "$ref": "TrafficPolylineData"
        },
        "currentRouteSegment": {
          "description": "The polyline specifying the route the driver app intends to take to the next waypoint. This list is also returned in `Trip.current_route_segment` for all active trips assigned to the vehicle. Note: This field is intended only for use by the Driver SDK. Decoding is not yet supported.",
          "type": "string"
        },
        "currentRouteSegmentEndPoint": {
          "description": "The waypoint where `current_route_segment` ends. This can be supplied by drivers on `UpdateVehicle` calls either as a full trip waypoint, a waypoint `LatLng`, or as the last `LatLng` of the `current_route_segment`. Fleet Engine will then do its best to interpolate to an actual waypoint if it is not fully specified. This field is ignored in `UpdateVehicle` calls unless `current_route_segment` is also specified.",
          "$ref": "TripWaypoint"
        },
        "etaToFirstWaypoint": {
          "type": "string",
          "format": "google-datetime",
          "description": "The ETA to the first entry in the `waypoints` field. The value is unspecified if the `waypoints` field is empty or the `Vehicle.current_route_segment` field is empty. When updating a vehicle, `remaining_time_seconds` takes precedence over `eta_to_first_waypoint` in the same request."
        },
        "licensePlate": {
          "description": "License plate information for the vehicle.",
          "$ref": "LicensePlate"
        },
        "waypoints": {
          "type": "array",
          "items": {
            "$ref": "TripWaypoint"
          },
          "description": "The remaining waypoints assigned to this Vehicle."
        },
        "currentTrips": {
          "description": "Output only. List of `trip_id`'s for trips currently assigned to this vehicle.",
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "VehicleType": {
      "type": "object",
      "properties": {
        "category": {
          "enum": [
            "UNKNOWN",
            "AUTO",
            "TAXI",
            "TRUCK",
            "TWO_WHEELER",
            "BICYCLE",
            "PEDESTRIAN"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized vehicle categories.",
            "An automobile.",
            "Any vehicle that acts as a taxi (typically licensed or regulated).",
            "Generally, a vehicle with a large storage capacity.",
            "A motorcycle, moped, or other two-wheeled vehicle",
            "Human-powered transport.",
            "A human transporter, typically walking or running, traveling along pedestrian pathways."
          ],
          "description": "Vehicle type category"
        }
      },
      "id": "VehicleType",
      "description": "The type of vehicle."
    },
    "VehicleAttributeList": {
      "type": "object",
      "properties": {
        "attributes": {
          "description": "A list of attributes in this collection.",
          "items": {
            "$ref": "VehicleAttribute"
          },
          "type": "array"
        }
      },
      "id": "VehicleAttributeList",
      "description": "A list-of-lists datatype for vehicle attributes."
    },
    "TaskTrackingViewConfig": {
      "id": "TaskTrackingViewConfig",
      "description": "The configuration message that defines when a data element of a Task should be visible to the end users.",
      "type": "object",
      "properties": {
        "remainingStopCountVisibility": {
          "description": "The field that specifies when remaining stop count can be visible. If this field is not specified, the project level default visibility configuration for this data will be used.",
          "$ref": "VisibilityOption"
        },
        "estimatedTaskCompletionTimeVisibility": {
          "description": "The field that specifies when estimated task completion time can be visible. If this field is not specified, the project level default visibility configuration for this data will be used.",
          "$ref": "VisibilityOption"
        },
        "estimatedArrivalTimeVisibility": {
          "description": "The field that specifies when estimated arrival time can be visible. If this field is not specified, the project level default visibility configuration for this data will be used.",
          "$ref": "VisibilityOption"
        },
        "vehicleLocationVisibility": {
          "description": "The field that specifies when vehicle location can be visible. If this field is not specified, the project level default visibility configuration for this data will be used.",
          "$ref": "VisibilityOption"
        },
        "routePolylinePointsVisibility": {
          "description": "The field that specifies when route polyline points can be visible. If this field is not specified, the project level default visibility configuration for this data will be used.",
          "$ref": "VisibilityOption"
        },
        "remainingDrivingDistanceVisibility": {
          "description": "The field that specifies when remaining driving distance can be visible. If this field is not specified, the project level default visibility configuration for this data will be used.",
          "$ref": "VisibilityOption"
        }
      }
    },
    "SearchVehiclesRequest": {
      "type": "object",
      "properties": {
        "requiredOneOfAttributeSets": {
          "type": "array",
          "items": {
            "$ref": "VehicleAttributeList"
          },
          "description": "`required_one_of_attribute_sets` provides additional functionality. Similar to `required_one_of_attributes`, `required_one_of_attribute_sets` uses a message which allows a list of lists, allowing expressions such as this one: ``` (required_attributes[0] AND required_attributes[1] AND ...) AND ( (required_one_of_attribute_sets0 AND required_one_of_attribute_sets0 AND ...) OR (required_one_of_attribute_sets1 AND required_one_of_attribute_sets1 AND ...) ) ``` Restricts the search to only those vehicles with all the attributes in a `VehicleAttributeList`. Within each list, a vehicle must match all of the attributes. This field is a conjunction/AND operation in each `VehicleAttributeList` and inclusive disjunction/OR operation across the collection of `VehicleAttributeList`."
        },
        "currentTripsPresent": {
          "enum": [
            "CURRENT_TRIPS_PRESENT_UNSPECIFIED",
            "NONE",
            "ANY"
          ],
          "type": "string",
          "enumDescriptions": [
            "The availability of vehicles with trips present is governed by the `include_back_to_back` field.",
            "Vehicles without trips can appear in search results. When this value is used, `include_back_to_back` cannot be `true`.",
            "Vehicles with at most 5 current trips and 10 waypoints are included in the search results. When this value is used, `include_back_to_back` cannot be `true`."
          ],
          "description": "This indicates if vehicles with active trips are eligible for this search. This must be set to something other than `CURRENT_TRIPS_PRESENT_UNSPECIFIED` if `trip_type` includes `SHARED`."
        },
        "tripId": {
          "description": "Indicates the trip associated with this `SearchVehicleRequest`.",
          "type": "string"
        },
        "minimumCapacity": {
          "description": "Required. Specifies the number of passengers being considered for a trip. The value must be greater than or equal to one. The driver is not considered in the capacity value.",
          "type": "integer",
          "format": "int32"
        },
        "filter": {
          "description": "Optional. A filter query to apply when searching vehicles. See http://aip.dev/160 for examples of the filter syntax. This field is designed to replace the `required_attributes`, `required_one_of_attributes`, and `required_one_of_attributes_sets` fields. If a non-empty value is specified here, the following fields must be empty: `required_attributes`, `required_one_of_attributes`, and `required_one_of_attributes_sets`. This filter functions as an AND clause with other constraints, such as `minimum_capacity` or `vehicle_types`. Note that the only queries supported are on vehicle attributes (for example, `attributes. = ` or `attributes. = AND attributes. = `). The maximum number of restrictions allowed in a filter query is 50. Also, all attributes are stored as strings, so the only supported comparisons against attributes are string comparisons. In order to compare against number or boolean values, the values must be explicitly quoted to be treated as strings (for example, `attributes. = \"10\"` or `attributes. = \"true\"`).",
          "type": "string"
        },
        "requiredAttributes": {
          "items": {
            "$ref": "VehicleAttribute"
          },
          "type": "array",
          "description": "Callers can form complex logical operations using any combination of the `required_attributes`, `required_one_of_attributes`, and `required_one_of_attribute_sets` fields. `required_attributes` is a list; `required_one_of_attributes` uses a message which allows a list of lists. In combination, the two fields allow the composition of this expression: ``` (required_attributes[0] AND required_attributes[1] AND ...) AND (required_one_of_attributes0 OR required_one_of_attributes0 OR ...) AND (required_one_of_attributes1 OR required_one_of_attributes1 OR ...) ``` Restricts the search to only those vehicles with the specified attributes. This field is a conjunction/AND operation. A max of 50 required_attributes is allowed. This matches the maximum number of attributes allowed on a vehicle."
        },
        "count": {
          "type": "integer",
          "format": "int32",
          "description": "Required. Specifies the maximum number of vehicles to return. The value must be between 1 and 50 (inclusive)."
        },
        "pickupRadiusMeters": {
          "type": "integer",
          "format": "int32",
          "description": "Required. Defines the vehicle search radius around the pickup point. Only vehicles within the search radius will be returned. Value must be between 400 and 10000 meters (inclusive)."
        },
        "includeBackToBack": {
          "description": "This indicates if vehicles with a single active trip are eligible for this search. This field is only used when `current_trips_present` is unspecified. When `current_trips_present` is unspecified and this field is `false`, vehicles with assigned trips are excluded from the search results. When `current_trips_present` is unspecified and this field is `true`, search results can include vehicles with one active trip that has a status of `ENROUTE_TO_DROPOFF`. When `current_trips_present` is specified, this field cannot be set to true. The default value is `false`.",
          "type": "boolean"
        },
        "requiredOneOfAttributes": {
          "items": {
            "$ref": "VehicleAttributeList"
          },
          "type": "array",
          "description": "Restricts the search to only those vehicles with at least one of the specified attributes in each `VehicleAttributeList`. Within each list, a vehicle must match at least one of the attributes. This field is an inclusive disjunction/OR operation in each `VehicleAttributeList` and a conjunction/AND operation across the collection of `VehicleAttributeList`."
        },
        "tripTypes": {
          "description": "Required. Represents the type of proposed trip. Must include exactly one type. `UNKNOWN_TRIP_TYPE` is not allowed. Restricts the search to only those vehicles that can support that trip type.",
          "items": {
            "enum": [
              "UNKNOWN_TRIP_TYPE",
              "SHARED",
              "EXCLUSIVE"
            ],
            "type": "string",
            "enumDescriptions": [
              "Default, used for unspecified or unrecognized trip types.",
              "The trip may share a vehicle with other trips.",
              "The trip is exclusive to a vehicle."
            ]
          },
          "type": "array"
        },
        "vehicleTypes": {
          "description": "Required. Restricts the search to vehicles with one of the specified types. At least one vehicle type must be specified. VehicleTypes with a category of `UNKNOWN` are not allowed.",
          "items": {
            "$ref": "VehicleType"
          },
          "type": "array"
        },
        "orderBy": {
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized vehicle matches order.",
            "Ascending order by vehicle driving time to the pickup point.",
            "Ascending order by vehicle driving distance to the pickup point.",
            "Ascending order by vehicle driving time to the dropoff point. This order can only be used if the dropoff point is specified in the request.",
            "Ascending order by straight-line distance from the vehicle's last reported location to the pickup point.",
            "Ascending order by the configured match cost. Match cost is defined as a weighted calculation between straight-line distance and ETA. Weights are set with default values and can be modified per customer. Please contact Google support if these weights need to be modified for your project."
          ],
          "enum": [
            "UNKNOWN_VEHICLE_MATCH_ORDER",
            "PICKUP_POINT_ETA",
            "PICKUP_POINT_DISTANCE",
            "DROPOFF_POINT_ETA",
            "PICKUP_POINT_STRAIGHT_DISTANCE",
            "COST"
          ],
          "description": "Required. Specifies the desired ordering criterion for results."
        },
        "header": {
          "description": "The standard Fleet Engine request header.",
          "$ref": "RequestHeader"
        },
        "pickupPoint": {
          "description": "Required. The pickup point to search near.",
          "$ref": "TerminalLocation"
        },
        "maximumStaleness": {
          "type": "string",
          "format": "google-duration",
          "description": "Restricts the search to only those vehicles that have sent location updates to Fleet Engine within the specified duration. Stationary vehicles still transmitting their locations are not considered stale. If this field is not set, the server uses five minutes as the default value."
        },
        "dropoffPoint": {
          "description": "The customer's intended dropoff location. The field is required if `trip_types` contains `TripType.SHARED`.",
          "$ref": "TerminalLocation"
        }
      },
      "id": "SearchVehiclesRequest",
      "description": "`SearchVehicles` request message."
    },
    "CreateTaskRequest": {
      "id": "CreateTaskRequest",
      "description": "The `CreateTask` request message.",
      "type": "object",
      "properties": {
        "task": {
          "description": "Required. The Task entity to create. When creating a Task, the following fields are required: * `type` * `state` (must be set to `OPEN`) * `tracking_id` (must not be set for `UNAVAILABLE` or `SCHEDULED_STOP` tasks, but required for all other task types) * `planned_location` (optional for `UNAVAILABLE` tasks) * `task_duration` The following fields can be optionally set: * `target_time_window` * `task_tracking_view_config` * `attributes` Note: The Task's `name` field is ignored. All other Task fields must not be set; otherwise, an error is returned.",
          "$ref": "Task"
        },
        "header": {
          "description": "Optional. The standard Delivery API request header.",
          "$ref": "DeliveryRequestHeader"
        },
        "parent": {
          "description": "Required. Must be in the format `providers/{provider}`. The `provider` must be the Google Cloud Project ID. For example, `sample-cloud-project`.",
          "type": "string"
        },
        "taskId": {
          "description": "Required. The Task ID must be unique, but it should be not a shipment tracking ID. To store a shipment tracking ID, use the `tracking_id` field. Note that multiple tasks can have the same `tracking_id`. Task IDs are subject to the following restrictions: * Must be a valid Unicode string. * Limited to a maximum length of 64 characters. * Normalized according to [Unicode Normalization Form C] (http://www.unicode.org/reports/tr15/). * May not contain any of the following ASCII characters: '/', ':', '?', ',', or '#'.",
          "type": "string"
        }
      }
    },
    "TrafficPolylineData": {
      "type": "object",
      "properties": {
        "trafficRendering": {
          "description": "A polyline rendering of how fast traffic is for all regions along one stretch of a customer ride.",
          "$ref": "VisualTrafficReportPolylineRendering"
        }
      },
      "id": "TrafficPolylineData",
      "description": "Traffic conditions along the expected vehicle route."
    },
    "RequestHeader": {
      "id": "RequestHeader",
      "description": "A RequestHeader contains fields common to all Fleet Engine RPC requests.",
      "type": "object",
      "properties": {
        "androidApiLevel": {
          "description": "Android API level of the calling SDK, only applicable for the Android SDKs. Field value example: `23`.",
          "type": "integer",
          "format": "int32"
        },
        "manufacturer": {
          "description": "Manufacturer of the Android device from the calling SDK, only applicable for the Android SDKs. Field value example: `Samsung`.",
          "type": "string"
        },
        "deviceModel": {
          "description": "Model of the device on which the calling SDK is running. Field value examples: `iPhone12,1`, `SM-G920F`.",
          "type": "string"
        },
        "sdkType": {
          "type": "string",
          "enumDescriptions": [
            "The default value. This value is used if the `sdk_type` is omitted.",
            "The calling SDK is Consumer.",
            "The calling SDK is Driver.",
            "The calling SDK is JavaScript."
          ],
          "enum": [
            "SDK_TYPE_UNSPECIFIED",
            "CONSUMER",
            "DRIVER",
            "JAVASCRIPT"
          ],
          "description": "The type of SDK sending the request."
        },
        "platform": {
          "type": "string",
          "enumDescriptions": [
            "The default value. This value is used if the platform is omitted.",
            "The request is coming from Android.",
            "The request is coming from iOS.",
            "The request is coming from the web."
          ],
          "enum": [
            "PLATFORM_UNSPECIFIED",
            "ANDROID",
            "IOS",
            "WEB"
          ],
          "description": "Platform of the calling SDK."
        },
        "sdkVersion": {
          "description": "Version of the calling SDK, if applicable. The version format is \"major.minor.patch\", example: `1.1.2`.",
          "type": "string"
        },
        "osVersion": {
          "description": "Version of the operating system on which the calling SDK is running. Field value examples: `4.4.1`, `12.1`.",
          "type": "string"
        },
        "traceId": {
          "description": "Optional ID that can be provided for logging purposes in order to identify the request.",
          "type": "string"
        },
        "mapsSdkVersion": {
          "description": "Version of the MapSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `5.2.1`.",
          "type": "string"
        },
        "navSdkVersion": {
          "description": "Version of the NavSDK which the calling SDK depends on, if applicable. The version format is \"major.minor.patch\", example: `2.1.0`.",
          "type": "string"
        },
        "languageCode": {
          "description": "The BCP-47 language code, such as en-US or sr-Latn. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none is specified, the response may be in any language, with a preference for English if such a name exists. Field value example: `en-US`.",
          "type": "string"
        },
        "regionCode": {
          "description": "Required. CLDR region code of the region where the request originates. Field value example: `US`.",
          "type": "string"
        }
      }
    },
    "BatchCreateTasksResponse": {
      "type": "object",
      "properties": {
        "tasks": {
          "description": "The created Tasks.",
          "type": "array",
          "items": {
            "$ref": "Task"
          }
        }
      },
      "id": "BatchCreateTasksResponse",
      "description": "The `BatchCreateTask` response message."
    },
    "LicensePlate": {
      "id": "LicensePlate",
      "description": "The license plate information of the Vehicle. To avoid storing personally-identifiable information, only the minimum information about the license plate is stored as part of the entity.",
      "type": "object",
      "properties": {
        "countryCode": {
          "description": "Required. CLDR Country/Region Code. For example, `US` for United States, or `IN` for India.",
          "type": "string"
        },
        "lastCharacter": {
          "description": "The last digit of the license plate or \"-1\" to denote no numeric value is present in the license plate. * \"ABC 1234\" -\u003e \"4\" * \"AB 123 CD\" -\u003e \"3\" * \"ABCDEF\" -\u003e \"-1\"",
          "type": "string"
        }
      }
    },
    "TimeWindow": {
      "type": "object",
      "properties": {
        "startTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Required. The start time of the time window (inclusive)."
        },
        "endTime": {
          "description": "Required. The end time of the time window (inclusive).",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "TimeWindow",
      "description": "A time range."
    },
    "UpdateVehicleAttributesResponse": {
      "type": "object",
      "properties": {
        "attributes": {
          "items": {
            "$ref": "VehicleAttribute"
          },
          "type": "array",
          "description": "Required. The updated full list of vehicle attributes, including new, altered, and untouched attributes."
        }
      },
      "id": "UpdateVehicleAttributesResponse",
      "description": "`UpdateVehicleAttributes` response message."
    },
    "VisualTrafficReportPolylineRendering": {
      "id": "VisualTrafficReportPolylineRendering",
      "description": "Describes how clients should color one portion of the polyline along the route.",
      "type": "object",
      "properties": {
        "roadStretch": {
          "type": "array",
          "items": {
            "$ref": "RoadStretch"
          },
          "description": "Optional. Road stretches that should be rendered along the polyline. Stretches are guaranteed to not overlap, and do not necessarily span the full route. In the absence of a road stretch to style, the client should apply the default for the route."
        }
      }
    },
    "DeviceSettings": {
      "id": "DeviceSettings",
      "description": "Information about various settings on the mobile device.",
      "type": "object",
      "properties": {
        "isInteractive": {
          "description": "Whether the device is in an interactive state.",
          "type": "boolean"
        },
        "batteryInfo": {
          "description": "Information about the battery state.",
          "$ref": "BatteryInfo"
        },
        "isPowerSaveMode": {
          "description": "Whether the device is currently in power save mode.",
          "type": "boolean"
        },
        "locationPowerSaveMode": {
          "description": "How location features are set to behave on the device when battery saver is on.",
          "enum": [
            "UNKNOWN_LOCATION_POWER_SAVE_MODE",
            "LOCATION_MODE_NO_CHANGE",
            "LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF",
            "LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF",
            "LOCATION_MODE_FOREGROUND_ONLY",
            "LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF"
          ],
          "type": "string",
          "enumDescriptions": [
            "Undefined LocationPowerSaveMode",
            "Either the location providers shouldn't be affected by battery saver, or battery saver is off.",
            "The GPS based location provider should be disabled when battery saver is on and the device is non-interactive.",
            "All location providers should be disabled when battery saver is on and the device is non-interactive.",
            "All the location providers will be kept available, but location fixes should only be provided to foreground apps.",
            "Location will not be turned off, but LocationManager will throttle all requests to providers when the device is non-interactive."
          ]
        }
      }
    },
    "RoadStretch": {
      "id": "RoadStretch",
      "description": "One road stretch that should be rendered.",
      "type": "object",
      "properties": {
        "style": {
          "description": "Required. The style to apply.",
          "type": "string",
          "enumDescriptions": [
            "No style selected.",
            "Traffic is slowing down.",
            "There is a traffic jam."
          ],
          "enum": [
            "STYLE_UNSPECIFIED",
            "SLOWER_TRAFFIC",
            "TRAFFIC_JAM"
          ]
        },
        "offsetMeters": {
          "type": "integer",
          "format": "int32",
          "description": "Required. The style should be applied between `[offset_meters, offset_meters + length_meters)`."
        },
        "lengthMeters": {
          "description": "Required. The length of the path where to apply the style.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "LatLng": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "format": "double",
          "description": "The latitude in degrees. It must be in the range [-90.0, +90.0]."
        },
        "longitude": {
          "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
          "type": "number",
          "format": "double"
        }
      },
      "id": "LatLng",
      "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges."
    },
    "DeliveryVehicle": {
      "id": "DeliveryVehicle",
      "description": "The `DeliveryVehicle` message. A delivery vehicle transports shipments from a depot to a delivery location, and from a pickup location to the depot. In some cases, delivery vehicles also transport shipments directly from the pickup location to the delivery location. Note: gRPC and REST APIs use different field naming conventions. For example, the `DeliveryVehicle.current_route_segment` field in the gRPC API and the `DeliveryVehicle.currentRouteSegment` field in the REST API refer to the same field.",
      "type": "object",
      "properties": {
        "lastLocation": {
          "description": "The last reported location of the Delivery Vehicle.",
          "$ref": "DeliveryVehicleLocation"
        },
        "type": {
          "enum": [
            "DELIVERY_VEHICLE_TYPE_UNSPECIFIED",
            "AUTO",
            "TWO_WHEELER",
            "BICYCLE",
            "PEDESTRIAN"
          ],
          "type": "string",
          "enumDescriptions": [
            "The value is unused.",
            "An automobile.",
            "A motorcycle, moped, or other two-wheeled vehicle",
            "Human-powered transport.",
            "A human transporter, typically walking or running, traveling along pedestrian pathways."
          ],
          "description": "The type of this delivery vehicle. If unset, this will default to `AUTO`."
        },
        "currentRouteSegment": {
          "type": "string",
          "format": "byte",
          "description": "The encoded polyline specifying the route that the navigation recommends taking to the next waypoint. Your driver app updates this when a stop is reached or passed, and when the navigation reroutes. These `LatLng`s are returned in `Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path` (gRPC) or `Task.journeySharingInfo.remainingVehicleJourneySegments[0].path` (REST) for all active Tasks assigned to the Vehicle. There are a few cases where this field might not be used to populate `Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path` (gRPC) or `Task.journeySharingInfo.remainingVehicleJourneySegments[0].path` (REST): * The endpoint of the `current_route_segment` does not match `DeliveryVehicle.remaining_vehicle_journey_segments[0].stop` (gRPC) or `DeliveryVehicle.remainingVehicleJourneySegments[0].stop` (REST). * The driver app has not updated its location recently, so the last updated value for this field might be stale. * The driver app has recently updated its location, but the `current_route_segment` is stale, and points to a previous vehicle stop. In these cases, Fleet Engine populates this field with a route from the most recently passed VehicleStop to the upcoming VehicleStop to ensure that the consumer of this field has the best available information on the current path of the Delivery Vehicle."
        },
        "currentRouteSegmentEndPoint": {
          "description": "The location where the `current_route_segment` ends. This is not currently populated by the driver app, but you can supply it on `UpdateDeliveryVehicle` calls. It is either the `LatLng` from the upcoming vehicle stop, or the last `LatLng` of the `current_route_segment`. Fleet Engine will then do its best to interpolate to an actual `VehicleStop`. This field is ignored in `UpdateDeliveryVehicle` calls if the `current_route_segment` field is empty.",
          "$ref": "LatLng"
        },
        "pastLocations": {
          "items": {
            "$ref": "DeliveryVehicleLocation"
          },
          "type": "array",
          "description": "Input only. Locations where this Delivery Vehicle has been in the past that haven't yet been reported to Fleet Engine. This is used in `UpdateDeliveryVehicleRequest` to record locations which were previously unable to be sent to the server. Typically this happens when the Delivery Vehicle does not have internet connectivity."
        },
        "remainingDistanceMeters": {
          "type": "integer",
          "format": "int32",
          "description": "The remaining driving distance for the `current_route_segment`. The Driver app typically provides this field, but there are some circumstances in which Fleet Engine will override the value sent by the app. For more information, see DeliveryVehicle.current_route_segment. This field is returned in `Task.remaining_vehicle_journey_segments[0].driving_distance_meters` (gRPC) or `Task.remainingVehicleJourneySegments[0].drivingDistanceMeters` (REST) for all active `Task`s assigned to the Delivery Vehicle. Fleet Engine ignores this field in `UpdateDeliveryVehicleRequest` if the `current_route_segment` field is empty."
        },
        "name": {
          "description": "The unique name of this Delivery Vehicle. The format is `providers/{provider}/deliveryVehicles/{vehicle}`.",
          "type": "string"
        },
        "attributes": {
          "items": {
            "$ref": "DeliveryVehicleAttribute"
          },
          "type": "array",
          "description": "A list of custom Delivery Vehicle attributes. A Delivery Vehicle can have at most 100 attributes, and each attribute must have a unique key."
        },
        "remainingVehicleJourneySegments": {
          "type": "array",
          "items": {
            "$ref": "VehicleJourneySegment"
          },
          "description": "The journey segments assigned to this Delivery Vehicle, starting from the Vehicle's most recently reported location. This field won't be populated in the response of `ListDeliveryVehicles`."
        },
        "navigationStatus": {
          "description": "The Delivery Vehicle's navigation status.",
          "enum": [
            "UNKNOWN_NAVIGATION_STATUS",
            "NO_GUIDANCE",
            "ENROUTE_TO_DESTINATION",
            "OFF_ROUTE",
            "ARRIVED_AT_DESTINATION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified navigation status.",
            "The Driver app's navigation is in `FREE_NAV` mode.",
            "Turn-by-turn navigation is available and the Driver app navigation has entered `GUIDED_NAV` mode.",
            "The vehicle has gone off the suggested route.",
            "The vehicle is within approximately 50m of the destination."
          ]
        },
        "remainingDuration": {
          "description": "The remaining driving time for the `current_route_segment`. The Driver app typically provides this field, but there are some circumstances in which Fleet Engine will override the value sent by the app. For more information, see DeliveryVehicle.current_route_segment. This field is returned in `Task.remaining_vehicle_journey_segments[0].driving_duration` (gRPC) or `Task.remainingVehicleJourneySegments[0].drivingDuration` (REST) for all active tasks assigned to the Delivery Vehicle. Fleet Engine ignores this field in `UpdateDeliveryVehicleRequest` if the `current_route_segment` field is empty.",
          "type": "string",
          "format": "google-duration"
        }
      }
    },
    "BatteryInfo": {
      "type": "object",
      "properties": {
        "batteryPercentage": {
          "type": "number",
          "format": "float",
          "description": "Current battery percentage [0-100]."
        },
        "batteryStatus": {
          "enum": [
            "UNKNOWN_BATTERY_STATUS",
            "BATTERY_STATUS_CHARGING",
            "BATTERY_STATUS_DISCHARGING",
            "BATTERY_STATUS_FULL",
            "BATTERY_STATUS_NOT_CHARGING",
            "BATTERY_STATUS_POWER_LOW"
          ],
          "type": "string",
          "enumDescriptions": [
            "Battery status unknown.",
            "Battery is being charged.",
            "Battery is discharging.",
            "Battery is full.",
            "Battery is not charging.",
            "Battery is low on power."
          ],
          "description": "Status of the battery, whether full or charging etc."
        },
        "powerSource": {
          "type": "string",
          "enumDescriptions": [
            "Power source unknown.",
            "Power source is an AC charger.",
            "Power source is a USB port.",
            "Power source is wireless.",
            "Battery is unplugged."
          ],
          "enum": [
            "UNKNOWN_POWER_SOURCE",
            "POWER_SOURCE_AC",
            "POWER_SOURCE_USB",
            "POWER_SOURCE_WIRELESS",
            "POWER_SOURCE_UNPLUGGED"
          ],
          "description": "Status of battery power source."
        }
      },
      "id": "BatteryInfo",
      "description": "Information about the device's battery."
    },
    "SearchTripsRequest": {
      "type": "object",
      "properties": {
        "vehicleId": {
          "description": "The vehicle associated with the trips in the request. If unspecified, the returned trips do not contain: * `current_route_segment` * `remaining_waypoints` * `remaining_distance_meters` * `eta_to_first_waypoint`",
          "type": "string"
        },
        "pageToken": {
          "description": "Set this to a value previously returned in the `SearchTripsResponse` to continue from previous results.",
          "type": "string"
        },
        "minimumStaleness": {
          "type": "string",
          "format": "google-duration",
          "description": "If specified, returns the trips that have not been updated after the time `(current - minimum_staleness)`."
        },
        "header": {
          "description": "The standard Fleet Engine request header.",
          "$ref": "RequestHeader"
        },
        "activeTripsOnly": {
          "description": "If set to true, the response includes Trips that influence a driver's route.",
          "type": "boolean"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "description": "If not set, the server decides the number of results to return."
        }
      },
      "id": "SearchTripsRequest",
      "description": "SearchTrips request message."
    },
    "VehicleJourneySegment": {
      "type": "object",
      "properties": {
        "drivingDuration": {
          "description": "Output only. The travel time from the previous stop to this stop. If the current stop is the first stop in the list of journey segments, then the starting point is the Vehicle's location recorded at the time that this stop was added to the list. If this field is defined in the path `Task.remaining_vehicle_journey_segments[0].driving_duration` (gRPC) or `Task.remainingVehicleJourneySegments[0].drivingDuration` (REST), then it may be populated with the value from `DeliveryVehicle.remaining_duration` (gRPC) or `DeliveryVehicle.remainingDuration` (REST). This provides the remaining driving duration from the driver app's latest known location rather than the driving time from the previous stop.",
          "readOnly": true,
          "type": "string",
          "format": "google-duration"
        },
        "stop": {
          "description": "Specifies the stop location, along with the `Task`s associated with the stop. Some fields of the VehicleStop might not be present if this journey segment is part of `JourneySharingInfo`.",
          "$ref": "VehicleStop"
        },
        "drivingDistanceMeters": {
          "description": "Output only. The travel distance from the previous stop to this stop. If the current stop is the first stop in the list of journey segments, then the starting point is the vehicle's location recorded at the time that this stop was added to the list. This field might not be present if this journey segment is part of `JourneySharingInfo`.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "path": {
          "description": "Output only. The path from the previous stop to this stop. If the current stop is the first stop in the list of journey segments, then this is the path from the vehicle's current location to this stop at the time that the stop was added to the list. This field might not be present if this journey segment is part of `JourneySharingInfo`. If this field is defined in the path `Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path` (gRPC) or `Task.journeySharingInfo.remainingVehicleJourneySegments[0].path` (REST), then it may be populated with the `LatLng`s decoded from `DeliveryVehicle.current_route_segment` (gRPC) or `DeliveryVehicle.currentRouteSegment` (REST). This provides the driving path from the driver app's latest known location rather than the path from the previous stop.",
          "readOnly": true,
          "items": {
            "$ref": "LatLng"
          },
          "type": "array"
        }
      },
      "id": "VehicleJourneySegment",
      "description": "Represents a Vehicle’s travel segment - from its previous stop to the current stop. If it is the first active stop, then it is from the Vehicle’s current location to this stop."
    },
    "VehicleMatch": {
      "id": "VehicleMatch",
      "description": "Contains the vehicle and related estimates for a vehicle that match the points of active trips for the vehicle `SearchVehiclesRequest`.",
      "type": "object",
      "properties": {
        "vehicleTripsWaypoints": {
          "description": "The ordered list of waypoints used to calculate the ETA. The list includes vehicle location, the pickup points of active trips for the vehicle, and the pickup points provided in the request. An empty list indicates a failure in calculating ETA for the vehicle.",
          "items": {
            "$ref": "Waypoint"
          },
          "type": "array"
        },
        "vehicle": {
          "description": "Required. A vehicle that matches the request.",
          "$ref": "Vehicle"
        },
        "vehiclePickupToDropoffDistanceMeters": {
          "description": "The vehicle's driving distance (in meters) from the pickup point to the drop off point specified in the request. The distance is only between the two points and does not include the vehicle location or any other points that must be visited before the vehicle visits either the pickup point or dropoff point. The value will only be populated when a `dropoff_point` is specified in the request. An empty value indicates a failure in calculating the distance from the pickup to drop off point specified in the request.",
          "type": "integer",
          "format": "int32"
        },
        "orderedBy": {
          "description": "The order requested for sorting vehicle matches. Equivalent to `requested_ordered_by`.",
          "enum": [
            "UNKNOWN_VEHICLE_MATCH_ORDER",
            "PICKUP_POINT_ETA",
            "PICKUP_POINT_DISTANCE",
            "DROPOFF_POINT_ETA",
            "PICKUP_POINT_STRAIGHT_DISTANCE",
            "COST"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized vehicle matches order.",
            "Ascending order by vehicle driving time to the pickup point.",
            "Ascending order by vehicle driving distance to the pickup point.",
            "Ascending order by vehicle driving time to the dropoff point. This order can only be used if the dropoff point is specified in the request.",
            "Ascending order by straight-line distance from the vehicle's last reported location to the pickup point.",
            "Ascending order by the configured match cost. Match cost is defined as a weighted calculation between straight-line distance and ETA. Weights are set with default values and can be modified per customer. Please contact Google support if these weights need to be modified for your project."
          ]
        },
        "vehiclePickupDistanceMeters": {
          "type": "integer",
          "format": "int32",
          "description": "The distance from the Vehicle's current location to the pickup point specified in the request, including any intermediate pickup or dropoff points for existing trips. This distance comprises the calculated driving (route) distance, plus the straight line distance between the navigation end point and the requested pickup point. (The distance between the navigation end point and the requested pickup point is typically small.) An empty value indicates an error in calculating the distance."
        },
        "vehicleDropoffEta": {
          "description": "The complete vehicle's driving ETA to the drop off point specified in the request. The ETA includes stopping at any waypoints before the `dropoff_point` specified in the request. The value will only be populated when a drop off point is specified in the request. An empty value indicates an error calculating the ETA.",
          "type": "string",
          "format": "google-datetime"
        },
        "requestedOrderedBy": {
          "description": "The order requested for sorting vehicle matches. Equivalent to `ordered_by`.",
          "enum": [
            "UNKNOWN_VEHICLE_MATCH_ORDER",
            "PICKUP_POINT_ETA",
            "PICKUP_POINT_DISTANCE",
            "DROPOFF_POINT_ETA",
            "PICKUP_POINT_STRAIGHT_DISTANCE",
            "COST"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized vehicle matches order.",
            "Ascending order by vehicle driving time to the pickup point.",
            "Ascending order by vehicle driving distance to the pickup point.",
            "Ascending order by vehicle driving time to the dropoff point. This order can only be used if the dropoff point is specified in the request.",
            "Ascending order by straight-line distance from the vehicle's last reported location to the pickup point.",
            "Ascending order by the configured match cost. Match cost is defined as a weighted calculation between straight-line distance and ETA. Weights are set with default values and can be modified per customer. Please contact Google support if these weights need to be modified for your project."
          ]
        },
        "vehicleMatchType": {
          "description": "Type of the vehicle match.",
          "type": "string",
          "enumDescriptions": [
            "Unknown vehicle match type",
            "The vehicle currently has no trip assigned to it and can proceed to the pickup point.",
            "The vehicle is currently assigned to a trip, but can proceed to the pickup point after completing the in-progress trip. ETA and distance calculations take the existing trip into account.",
            "The vehicle has sufficient capacity for a shared ride.",
            "The vehicle will finish its current, active trip before proceeding to the pickup point. ETA and distance calculations take the existing trip into account."
          ],
          "enum": [
            "UNKNOWN",
            "EXCLUSIVE",
            "BACK_TO_BACK",
            "CARPOOL",
            "CARPOOL_BACK_TO_BACK"
          ]
        },
        "vehiclePickupEta": {
          "description": "The vehicle's driving ETA to the pickup point specified in the request. An empty value indicates a failure in calculating ETA for the vehicle. If `SearchVehiclesRequest.include_back_to_back` was `true` and this vehicle has an active trip, `vehicle_pickup_eta` includes the time required to complete the current active trip.",
          "type": "string",
          "format": "google-datetime"
        },
        "vehiclePickupStraightLineDistanceMeters": {
          "type": "integer",
          "format": "int32",
          "description": "Required. The straight-line distance between the vehicle and the pickup point specified in the request."
        },
        "tripType": {
          "type": "string",
          "enumDescriptions": [
            "Default, used for unspecified or unrecognized trip types.",
            "The trip may share a vehicle with other trips.",
            "The trip is exclusive to a vehicle."
          ],
          "enum": [
            "UNKNOWN_TRIP_TYPE",
            "SHARED",
            "EXCLUSIVE"
          ],
          "description": "Required. The trip type of the request that was used to calculate the ETA to the pickup point."
        }
      }
    }
  },
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "mtlsRootUrl": "https://fleetengine.mtls.googleapis.com/"
}
