1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package maps.fleetengine.delivery.v1;
import "google/api/field_behavior.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/type/latlng.proto";
option go_package = "google.golang.org/genproto/googleapis/maps/fleetengine/delivery/v1;delivery";
option java_multiple_files = true;
option java_outer_classname = "Common";
option java_package = "google.maps.fleetengine.delivery.v1";
option objc_class_prefix = "CFED";
// Describes a vehicle attribute as a key-value pair. The "key:value" string
// length cannot exceed 256 characters.
message DeliveryVehicleAttribute {
// The attribute's key. Keys may not contain the colon character (:).
string key = 1;
// The attribute's value.
string value = 2;
}
// The location, speed, and heading of a vehicle at a point in time.
message DeliveryVehicleLocation {
// 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`.
google.type.LatLng location = 1;
// Deprecated: Use `latlng_accuracy` instead.
google.protobuf.DoubleValue horizontal_accuracy = 8 [deprecated = true];
// Accuracy of `location` in meters as a radius.
google.protobuf.DoubleValue latlng_accuracy = 22;
// Direction the vehicle is moving in degrees. 0 represents North.
// The valid range is [0,360).
google.protobuf.Int32Value heading = 2;
// Deprecated: Use `heading_accuracy` instead.
google.protobuf.DoubleValue bearing_accuracy = 10 [deprecated = true];
// Accuracy of `heading` in degrees.
google.protobuf.DoubleValue heading_accuracy = 23;
// Altitude in meters above WGS84.
google.protobuf.DoubleValue altitude = 5;
// Deprecated: Use `altitude_accuracy` instead.
google.protobuf.DoubleValue vertical_accuracy = 9 [deprecated = true];
// Accuracy of `altitude` in meters.
google.protobuf.DoubleValue altitude_accuracy = 24;
// Speed of the vehicle in kilometers per hour.
// Deprecated: Use `speed` instead.
google.protobuf.Int32Value speed_kmph = 3 [deprecated = true];
// Speed of the vehicle in meters/second
google.protobuf.DoubleValue speed = 6;
// Accuracy of `speed` in meters/second.
google.protobuf.DoubleValue speed_accuracy = 7;
// The time when `location` was reported by the sensor according to the
// sensor's clock.
google.protobuf.Timestamp update_time = 4;
// Output only. The time when the server received the location information.
google.protobuf.Timestamp server_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
// Provider of location data (for example, `GPS`).
DeliveryVehicleLocationSensor location_sensor = 11;
// Whether `location` is snapped to a road.
google.protobuf.BoolValue is_road_snapped = 27;
// Input only. Indicates whether the GPS sensor is enabled on the mobile device.
google.protobuf.BoolValue is_gps_sensor_enabled = 12 [(google.api.field_behavior) = INPUT_ONLY];
// 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.
google.protobuf.Int32Value time_since_update = 14 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Number of additional attempts to send this location to the server.
// If this value is zero, then it is not stale.
google.protobuf.Int32Value num_stale_updates = 15 [(google.api.field_behavior) = INPUT_ONLY];
// Raw vehicle location (unprocessed by road-snapper).
google.type.LatLng raw_location = 16;
// Input only. Timestamp associated with the raw location.
google.protobuf.Timestamp raw_location_time = 17 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Source of the raw location.
DeliveryVehicleLocationSensor raw_location_sensor = 28 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Accuracy of `raw_location` as a radius, in meters.
google.protobuf.DoubleValue raw_location_accuracy = 25 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Supplemental location provided by the integrating app.
google.type.LatLng supplemental_location = 18 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Timestamp associated with the supplemental location.
google.protobuf.Timestamp supplemental_location_time = 19 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Source of the supplemental location.
DeliveryVehicleLocationSensor supplemental_location_sensor = 20 [(google.api.field_behavior) = INPUT_ONLY];
// Input only. Accuracy of `supplemental_location` as a radius, in meters.
google.protobuf.DoubleValue supplemental_location_accuracy = 21 [(google.api.field_behavior) = INPUT_ONLY];
// Deprecated: Use `is_road_snapped` instead.
bool road_snapped = 26 [deprecated = true];
}
// The sensor or methodology used to determine the location.
enum DeliveryVehicleLocationSensor {
// The sensor is unspecified or unknown.
UNKNOWN_SENSOR = 0;
// GPS or Assisted GPS.
GPS = 1;
// Assisted GPS, cell tower ID, or WiFi access point.
NETWORK = 2;
// Cell tower ID or WiFi access point.
PASSIVE = 3;
// A location signal snapped to the best road position.
ROAD_SNAPPED_LOCATION_PROVIDER = 4;
// The fused location provider in Google Play services.
FUSED_LOCATION_PROVIDER = 100;
// The location provider on Apple operating systems.
CORE_LOCATION = 200;
}
// The vehicle's navigation status.
enum DeliveryVehicleNavigationStatus {
// Unspecified navigation status.
UNKNOWN_NAVIGATION_STATUS = 0;
// The Driver app's navigation is in `FREE_NAV` mode.
NO_GUIDANCE = 1;
// Turn-by-turn navigation is available and the Driver app navigation has
// entered `GUIDED_NAV` mode.
ENROUTE_TO_DESTINATION = 2;
// The vehicle has gone off the suggested route.
OFF_ROUTE = 3;
// The vehicle is within approximately 50m of the destination.
ARRIVED_AT_DESTINATION = 4;
}
|