google-maps-fleet_engine-v1 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/maps/fleet_engine/v1/rest.rb +38 -0
  6. data/lib/google/maps/fleet_engine/v1/trip_service/client.rb +996 -0
  7. data/lib/google/maps/fleet_engine/v1/trip_service/credentials.rb +47 -0
  8. data/lib/google/maps/fleet_engine/v1/trip_service/paths.rb +50 -0
  9. data/lib/google/maps/fleet_engine/v1/trip_service/rest/client.rb +930 -0
  10. data/lib/google/maps/fleet_engine/v1/trip_service/rest/service_stub.rb +368 -0
  11. data/lib/google/maps/fleet_engine/v1/trip_service/rest.rb +52 -0
  12. data/lib/google/maps/fleet_engine/v1/trip_service.rb +55 -0
  13. data/lib/google/maps/fleet_engine/v1/vehicle_service/client.rb +1639 -0
  14. data/lib/google/maps/fleet_engine/v1/vehicle_service/credentials.rb +47 -0
  15. data/lib/google/maps/fleet_engine/v1/vehicle_service/paths.rb +50 -0
  16. data/lib/google/maps/fleet_engine/v1/vehicle_service/rest/client.rb +1545 -0
  17. data/lib/google/maps/fleet_engine/v1/vehicle_service/rest/service_stub.rb +547 -0
  18. data/lib/google/maps/fleet_engine/v1/vehicle_service/rest.rb +52 -0
  19. data/lib/google/maps/fleet_engine/v1/vehicle_service.rb +55 -0
  20. data/lib/google/maps/fleet_engine/v1/version.rb +8 -3
  21. data/lib/google/maps/fleet_engine/v1.rb +46 -0
  22. data/lib/google/maps/fleetengine/v1/fleetengine_pb.rb +63 -0
  23. data/lib/google/maps/fleetengine/v1/header_pb.rb +46 -0
  24. data/lib/google/maps/fleetengine/v1/traffic_pb.rb +44 -0
  25. data/lib/google/maps/fleetengine/v1/trip_api_pb.rb +66 -0
  26. data/lib/google/maps/fleetengine/v1/trip_api_services_pb.rb +53 -0
  27. data/lib/google/maps/fleetengine/v1/trips_pb.rb +61 -0
  28. data/lib/google/maps/fleetengine/v1/vehicle_api_pb.rb +81 -0
  29. data/lib/google/maps/fleetengine/v1/vehicle_api_services_pb.rb +108 -0
  30. data/lib/google/maps/fleetengine/v1/vehicles_pb.rb +64 -0
  31. data/lib/google-maps-fleet_engine-v1.rb +21 -0
  32. data/proto_docs/README.md +4 -0
  33. data/proto_docs/google/api/client.rb +399 -0
  34. data/proto_docs/google/api/field_behavior.rb +85 -0
  35. data/proto_docs/google/api/launch_stage.rb +71 -0
  36. data/proto_docs/google/api/resource.rb +222 -0
  37. data/proto_docs/google/api/routing.rb +459 -0
  38. data/proto_docs/google/geo/type/viewport.rb +70 -0
  39. data/proto_docs/google/maps/fleetengine/v1/fleetengine.rb +342 -0
  40. data/proto_docs/google/maps/fleetengine/v1/header.rb +111 -0
  41. data/proto_docs/google/maps/fleetengine/v1/traffic.rb +76 -0
  42. data/proto_docs/google/maps/fleetengine/v1/trip_api.rb +296 -0
  43. data/proto_docs/google/maps/fleetengine/v1/trips.rb +286 -0
  44. data/proto_docs/google/maps/fleetengine/v1/vehicle_api.rb +684 -0
  45. data/proto_docs/google/maps/fleetengine/v1/vehicles.rb +358 -0
  46. data/proto_docs/google/protobuf/duration.rb +98 -0
  47. data/proto_docs/google/protobuf/empty.rb +34 -0
  48. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  49. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  50. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  51. data/proto_docs/google/type/latlng.rb +38 -0
  52. metadata +119 -13
@@ -0,0 +1,296 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Maps
22
+ module FleetEngine
23
+ module V1
24
+ # CreateTrip request message.
25
+ # @!attribute [rw] header
26
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
27
+ # The standard Fleet Engine request header.
28
+ # @!attribute [rw] parent
29
+ # @return [::String]
30
+ # Required. Must be in the format `providers/{provider}`.
31
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
32
+ # of the Google Cloud Project of which the service account making
33
+ # this call is a member.
34
+ # @!attribute [rw] trip_id
35
+ # @return [::String]
36
+ # Required. Unique Trip ID.
37
+ # Subject to the following restrictions:
38
+ #
39
+ # * Must be a valid Unicode string.
40
+ # * Limited to a maximum length of 64 characters.
41
+ # * Normalized according to [Unicode Normalization Form C]
42
+ # (http://www.unicode.org/reports/tr15/).
43
+ # * May not contain any of the following ASCII characters: '/', ':', '?',
44
+ # ',', or '#'.
45
+ # @!attribute [rw] trip
46
+ # @return [::Google::Maps::FleetEngine::V1::Trip]
47
+ # Required. Trip entity to create.
48
+ #
49
+ # When creating a Trip, the following fields are required:
50
+ #
51
+ # * `trip_type`
52
+ # * `pickup_point`
53
+ #
54
+ # The following fields are used if you provide them:
55
+ #
56
+ # * `number_of_passengers`
57
+ # * `vehicle_id`
58
+ # * `dropoff_point`
59
+ # * `intermediate_destinations`
60
+ # * `vehicle_waypoints`
61
+ #
62
+ # All other Trip fields are ignored. For example, all trips start with a
63
+ # `trip_status` of `NEW` even if you pass in a `trip_status` of `CANCELED` in
64
+ # the creation request.
65
+ #
66
+ # Only `EXCLUSIVE` trips support `intermediate_destinations`.
67
+ #
68
+ # When `vehicle_id` is set for a shared trip, you must supply
69
+ # the list of `Trip.vehicle_waypoints` to specify the order of the remaining
70
+ # waypoints for the vehicle, otherwise the waypoint order will be
71
+ # undetermined.
72
+ #
73
+ # When you specify `Trip.vehicle_waypoints`, the list must contain all
74
+ # the remaining waypoints of the vehicle's trips, with no extra waypoints.
75
+ # You must order these waypoints such that for a given trip, the pickup
76
+ # point is before intermediate destinations, and all intermediate
77
+ # destinations come before the drop-off point. An `EXCLUSIVE` trip's
78
+ # waypoints must not interleave with any other trips.
79
+ #
80
+ # The `trip_id`, `waypoint_type` and `location` fields are used, and all
81
+ # other TripWaypoint fields in `vehicle_waypoints` are ignored.
82
+ class CreateTripRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # GetTrip request message.
88
+ # @!attribute [rw] header
89
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
90
+ # The standard Fleet Engine request header.
91
+ # @!attribute [rw] name
92
+ # @return [::String]
93
+ # Required. Must be in the format `providers/{provider}/trips/{trip}`.
94
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
95
+ # of the Google Cloud Project of which the service account making
96
+ # this call is a member.
97
+ # @!attribute [rw] view
98
+ # @return [::Google::Maps::FleetEngine::V1::TripView]
99
+ # The subset of Trip fields that should be returned and their interpretation.
100
+ # @!attribute [rw] current_route_segment_version
101
+ # @return [::Google::Protobuf::Timestamp]
102
+ # Indicates the minimum timestamp (exclusive) for which `Trip.route` or
103
+ # `Trip.current_route_segment` data are retrieved. If route data are
104
+ # unchanged since this timestamp, the route field is not set in the response.
105
+ # If a minimum is unspecified, the route data are always retrieved.
106
+ # @!attribute [rw] remaining_waypoints_version
107
+ # @return [::Google::Protobuf::Timestamp]
108
+ # Indicates the minimum timestamp (exclusive) for which
109
+ # `Trip.remaining_waypoints` are retrieved. If they are unchanged since this
110
+ # timestamp, the `remaining_waypoints` are not set in the response. If this
111
+ # field is unspecified, `remaining_waypoints` is always retrieved.
112
+ # @!attribute [rw] route_format_type
113
+ # @return [::Google::Maps::FleetEngine::V1::PolylineFormatType]
114
+ # The returned current route format, `LAT_LNG_LIST_TYPE` (in `Trip.route`),
115
+ # or `ENCODED_POLYLINE_TYPE` (in `Trip.current_route_segment`). The default
116
+ # is `LAT_LNG_LIST_TYPE`.
117
+ # @!attribute [rw] current_route_segment_traffic_version
118
+ # @return [::Google::Protobuf::Timestamp]
119
+ # Indicates the minimum timestamp (exclusive) for which
120
+ # `Trip.current_route_segment_traffic` is retrieved. If traffic data are
121
+ # unchanged since this timestamp, the `current_route_segment_traffic` field
122
+ # is not set in the response. If a minimum is unspecified, the traffic data
123
+ # are always retrieved. Note that traffic is only available for On-Demand
124
+ # Rides and Deliveries Solution customers.
125
+ # @!attribute [rw] remaining_waypoints_route_version
126
+ # @return [::Google::Protobuf::Timestamp]
127
+ # Indicates the minimum timestamp (exclusive) for which
128
+ # `Trip.remaining_waypoints.traffic_to_waypoint` and
129
+ # `Trip.remaining_waypoints.path_to_waypoint` data are retrieved. If data are
130
+ # unchanged since this timestamp, the fields above are
131
+ # not set in the response. If `remaining_waypoints_route_version` is
132
+ # unspecified, traffic and path are always retrieved.
133
+ class GetTripRequest
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+
138
+ # ReportBillableTrip request message.
139
+ # @!attribute [rw] name
140
+ # @return [::String]
141
+ # Required. Must be in the format
142
+ # `providers/{provider}/billableTrips/{billable_trip}`. The
143
+ # provider must be the Project ID (for example, `sample-cloud-project`) of
144
+ # the Google Cloud Project of which the service account making this call is a
145
+ # member.
146
+ # @!attribute [rw] country_code
147
+ # @return [::String]
148
+ # Required. Two letter country code of the country where the trip takes
149
+ # place. Price is defined according to country code.
150
+ # @!attribute [rw] platform
151
+ # @return [::Google::Maps::FleetEngine::V1::BillingPlatformIdentifier]
152
+ # The platform upon which the request was issued.
153
+ # @!attribute [rw] related_ids
154
+ # @return [::Array<::String>]
155
+ # The identifiers that are directly related to the trip being reported. These
156
+ # are usually IDs (for example, session IDs) of pre-booking operations done
157
+ # before the trip ID is available. The number of `related_ids` is
158
+ # limited to 50.
159
+ # @!attribute [rw] solution_type
160
+ # @return [::Google::Maps::FleetEngine::V1::ReportBillableTripRequest::SolutionType]
161
+ # The type of GMP product solution (for example,
162
+ # `ON_DEMAND_RIDESHARING_AND_DELIVERIES`) used for the reported trip.
163
+ class ReportBillableTripRequest
164
+ include ::Google::Protobuf::MessageExts
165
+ extend ::Google::Protobuf::MessageExts::ClassMethods
166
+
167
+ # Selector for different solution types of a reported trip.
168
+ module SolutionType
169
+ # The default value. For backwards-compatibility, the API will use
170
+ # `ON_DEMAND_RIDESHARING_AND_DELIVERIES` by default which is the first
171
+ # supported solution type.
172
+ SOLUTION_TYPE_UNSPECIFIED = 0
173
+
174
+ # The solution is an on-demand ridesharing and deliveries trip.
175
+ ON_DEMAND_RIDESHARING_AND_DELIVERIES = 1
176
+ end
177
+ end
178
+
179
+ # UpdateTrip request message.
180
+ # @!attribute [rw] header
181
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
182
+ # The standard Fleet Engine request header.
183
+ # @!attribute [rw] name
184
+ # @return [::String]
185
+ # Required. Must be in the format
186
+ # `providers/{provider}/trips/{trip}`. The provider must
187
+ # be the Project ID (for example, `sample-consumer-project`) of the Google
188
+ # Cloud Project of which the service account making this call is a member.
189
+ # @!attribute [rw] trip
190
+ # @return [::Google::Maps::FleetEngine::V1::Trip]
191
+ # Required. The Trip associated with the update.
192
+ #
193
+ # The following fields are maintained by the Fleet Engine. Do not update
194
+ # them using Trip.update.
195
+ #
196
+ # * `current_route_segment`
197
+ # * `current_route_segment_end_point`
198
+ # * `current_route_segment_traffic`
199
+ # * `current_route_segment_traffic_version`
200
+ # * `current_route_segment_version`
201
+ # * `dropoff_time`
202
+ # * `eta_to_next_waypoint`
203
+ # * `intermediate_destinations_version`
204
+ # * `last_location`
205
+ # * `name`
206
+ # * `number_of_passengers`
207
+ # * `pickup_time`
208
+ # * `remaining_distance_meters`
209
+ # * `remaining_time_to_first_waypoint`
210
+ # * `remaining_waypoints`
211
+ # * `remaining_waypoints_version`
212
+ # * `route`
213
+ #
214
+ # When you update the `Trip.vehicle_id` for a shared trip, you must supply
215
+ # the list of `Trip.vehicle_waypoints` to specify the order of the remaining
216
+ # waypoints, otherwise the order will be undetermined.
217
+ #
218
+ # When you specify `Trip.vehicle_waypoints`, the list must contain all
219
+ # the remaining waypoints of the vehicle's trips, with no extra waypoints.
220
+ # You must order these waypoints such that for a given trip, the pickup
221
+ # point is before intermediate destinations, and all intermediate
222
+ # destinations come before the drop-off point. An `EXCLUSIVE` trip's
223
+ # waypoints must not interleave with any other trips.
224
+ # The `trip_id`, `waypoint_type` and `location` fields are used, and all
225
+ # other TripWaypoint fields in `vehicle_waypoints` are ignored.
226
+ #
227
+ # To avoid a race condition for trips with multiple destinations, you
228
+ # should provide `Trip.intermediate_destinations_version` when updating
229
+ # the trip status to `ENROUTE_TO_INTERMEDIATE_DESTINATION`. The
230
+ # `Trip.intermediate_destinations_version` passed must be consistent with
231
+ # Fleet Engine's version. If it isn't, the request fails.
232
+ # @!attribute [rw] update_mask
233
+ # @return [::Google::Protobuf::FieldMask]
234
+ # Required. The field mask indicating which fields in Trip to update.
235
+ # The `update_mask` must contain at least one field.
236
+ class UpdateTripRequest
237
+ include ::Google::Protobuf::MessageExts
238
+ extend ::Google::Protobuf::MessageExts::ClassMethods
239
+ end
240
+
241
+ # SearchTrips request message.
242
+ # @!attribute [rw] header
243
+ # @return [::Google::Maps::FleetEngine::V1::RequestHeader]
244
+ # The standard Fleet Engine request header.
245
+ # @!attribute [rw] parent
246
+ # @return [::String]
247
+ # Required. Must be in the format `providers/{provider}`.
248
+ # The provider must be the Project ID (for example, `sample-cloud-project`)
249
+ # of the Google Cloud Project of which the service account making
250
+ # this call is a member.
251
+ # @!attribute [rw] vehicle_id
252
+ # @return [::String]
253
+ # The vehicle associated with the trips in the request. If unspecified, the
254
+ # returned trips do not contain:
255
+ #
256
+ # * `current_route_segment`
257
+ # * `remaining_waypoints`
258
+ # * `remaining_distance_meters`
259
+ # * `eta_to_first_waypoint`
260
+ # @!attribute [rw] active_trips_only
261
+ # @return [::Boolean]
262
+ # If set to true, the response includes Trips that influence a driver's
263
+ # route.
264
+ # @!attribute [rw] page_size
265
+ # @return [::Integer]
266
+ # If not set, the server decides the number of results to return.
267
+ # @!attribute [rw] page_token
268
+ # @return [::String]
269
+ # Set this to a value previously returned in the `SearchTripsResponse` to
270
+ # continue from previous results.
271
+ # @!attribute [rw] minimum_staleness
272
+ # @return [::Google::Protobuf::Duration]
273
+ # If specified, returns the trips that have not been updated after the time
274
+ # `(current - minimum_staleness)`.
275
+ class SearchTripsRequest
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+ end
279
+
280
+ # SearchTrips response message.
281
+ # @!attribute [rw] trips
282
+ # @return [::Array<::Google::Maps::FleetEngine::V1::Trip>]
283
+ # The list of trips for the requested vehicle.
284
+ # @!attribute [rw] next_page_token
285
+ # @return [::String]
286
+ # Pass this token in the SearchTripsRequest to page through list results. The
287
+ # API returns a trip list on each call, and when no more results remain the
288
+ # trip list is empty.
289
+ class SearchTripsResponse
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+ end
294
+ end
295
+ end
296
+ end
@@ -0,0 +1,286 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Maps
22
+ module FleetEngine
23
+ module V1
24
+ # Trip metadata.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. In the format "providers/\\{provider}/trips/\\{trip}"
28
+ # @!attribute [rw] vehicle_id
29
+ # @return [::String]
30
+ # ID of the vehicle making this trip.
31
+ # @!attribute [rw] trip_status
32
+ # @return [::Google::Maps::FleetEngine::V1::TripStatus]
33
+ # Current status of the trip.
34
+ # @!attribute [rw] trip_type
35
+ # @return [::Google::Maps::FleetEngine::V1::TripType]
36
+ # The type of the trip.
37
+ # @!attribute [rw] pickup_point
38
+ # @return [::Google::Maps::FleetEngine::V1::TerminalLocation]
39
+ # Location where customer indicates they will be picked up.
40
+ # @!attribute [rw] actual_pickup_point
41
+ # @return [::Google::Maps::FleetEngine::V1::StopLocation]
42
+ # Input only. The actual location when and where customer was picked up.
43
+ # This field is for provider to provide feedback on actual pickup
44
+ # information.
45
+ # @!attribute [rw] actual_pickup_arrival_point
46
+ # @return [::Google::Maps::FleetEngine::V1::StopLocation]
47
+ # Input only. The actual time and location of the driver arrival at
48
+ # the pickup point.
49
+ # This field is for provider to provide feedback on actual arrival
50
+ # information at the pickup point.
51
+ # @!attribute [r] pickup_time
52
+ # @return [::Google::Protobuf::Timestamp]
53
+ # Output only. Either the estimated future time when the rider(s) will be
54
+ # picked up, or the actual time when they were picked up.
55
+ # @!attribute [rw] intermediate_destinations
56
+ # @return [::Array<::Google::Maps::FleetEngine::V1::TerminalLocation>]
57
+ # Intermediate stops in order that the trip requests (in addition
58
+ # to pickup and dropoff). Initially this will not be supported for shared
59
+ # trips.
60
+ # @!attribute [rw] intermediate_destinations_version
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Indicates the last time the `intermediate_destinations` was modified.
63
+ # Your server should cache this value and pass it in `UpdateTripRequest`
64
+ # when update `intermediate_destination_index` to ensure the
65
+ # `intermediate_destinations` is not changed.
66
+ # @!attribute [rw] intermediate_destination_index
67
+ # @return [::Integer]
68
+ # When `TripStatus` is `ENROUTE_TO_INTERMEDIATE_DESTINATION`, a number
69
+ # between [0..N-1] indicating which intermediate destination the vehicle will
70
+ # cross next. When `TripStatus` is `ARRIVED_AT_INTERMEDIATE_DESTINATION`, a
71
+ # number between [0..N-1] indicating which intermediate destination the
72
+ # vehicle is at. The provider sets this value. If there are no
73
+ # `intermediate_destinations`, this field is ignored.
74
+ # @!attribute [rw] actual_intermediate_destination_arrival_points
75
+ # @return [::Array<::Google::Maps::FleetEngine::V1::StopLocation>]
76
+ # Input only. The actual time and location of the driver's arrival at
77
+ # an intermediate destination.
78
+ # This field is for provider to provide feedback on actual arrival
79
+ # information at intermediate destinations.
80
+ # @!attribute [rw] actual_intermediate_destinations
81
+ # @return [::Array<::Google::Maps::FleetEngine::V1::StopLocation>]
82
+ # Input only. The actual time and location when and where the customer was
83
+ # picked up from an intermediate destination. This field is for provider to
84
+ # provide feedback on actual pickup information at intermediate destinations.
85
+ # @!attribute [rw] dropoff_point
86
+ # @return [::Google::Maps::FleetEngine::V1::TerminalLocation]
87
+ # Location where customer indicates they will be dropped off.
88
+ # @!attribute [rw] actual_dropoff_point
89
+ # @return [::Google::Maps::FleetEngine::V1::StopLocation]
90
+ # Input only. The actual time and location when and where customer was
91
+ # dropped off. This field is for provider to provide feedback on actual
92
+ # dropoff information.
93
+ # @!attribute [r] dropoff_time
94
+ # @return [::Google::Protobuf::Timestamp]
95
+ # Output only. Either the estimated future time when the rider(s) will be
96
+ # dropped off at the final destination, or the actual time when they were
97
+ # dropped off.
98
+ # @!attribute [r] remaining_waypoints
99
+ # @return [::Array<::Google::Maps::FleetEngine::V1::TripWaypoint>]
100
+ # Output only. The full path from the current location to the dropoff point,
101
+ # inclusive. This path could include waypoints from other trips.
102
+ # @!attribute [rw] vehicle_waypoints
103
+ # @return [::Array<::Google::Maps::FleetEngine::V1::TripWaypoint>]
104
+ # This field supports manual ordering of the waypoints for the trip. It
105
+ # contains all of the remaining waypoints for the assigned vehicle, as well
106
+ # as the pickup and drop-off waypoints for this trip. If the trip hasn't been
107
+ # assigned to a vehicle, then Fleet Engine ignores this field. For privacy
108
+ # reasons, this field is only populated by the server on `UpdateTrip` and
109
+ # `CreateTrip` calls, NOT on `GetTrip` calls.
110
+ # @!attribute [r] route
111
+ # @return [::Array<::Google::Type::LatLng>]
112
+ # Output only. Anticipated route for this trip to the first entry in
113
+ # remaining_waypoints. Note that the first waypoint may belong to a different
114
+ # trip.
115
+ # @!attribute [r] current_route_segment
116
+ # @return [::String]
117
+ # Output only. An encoded path to the next waypoint.
118
+ #
119
+ # Note: This field is intended only for use by the Driver SDK and Consumer
120
+ # SDK. Decoding is not yet supported.
121
+ # @!attribute [r] current_route_segment_version
122
+ # @return [::Google::Protobuf::Timestamp]
123
+ # Output only. Indicates the last time the route was modified.
124
+ #
125
+ # Note: This field is intended only for use by the Driver SDK and Consumer
126
+ # SDK.
127
+ # @!attribute [r] current_route_segment_traffic
128
+ # @return [::Google::Maps::FleetEngine::V1::ConsumableTrafficPolyline]
129
+ # Output only. Indicates the traffic conditions along the
130
+ # `current_route_segment` when they're available.
131
+ #
132
+ # Note: This field is intended only for use by the Driver SDK and Consumer
133
+ # SDK.
134
+ # @!attribute [r] current_route_segment_traffic_version
135
+ # @return [::Google::Protobuf::Timestamp]
136
+ # Output only. Indicates the last time the `current_route_segment_traffic`
137
+ # was modified.
138
+ #
139
+ # Note: This field is intended only for use by the Driver SDK and Consumer
140
+ # SDK.
141
+ # @!attribute [r] current_route_segment_end_point
142
+ # @return [::Google::Maps::FleetEngine::V1::TripWaypoint]
143
+ # Output only. The waypoint where `current_route_segment` ends.
144
+ # @!attribute [r] remaining_distance_meters
145
+ # @return [::Google::Protobuf::Int32Value]
146
+ # Output only. The remaining driving distance in the `current_route_segment`
147
+ # field. The value is unspecified if the trip is not assigned to a vehicle,
148
+ # or the trip is completed or cancelled.
149
+ # @!attribute [r] eta_to_first_waypoint
150
+ # @return [::Google::Protobuf::Timestamp]
151
+ # Output only. The ETA to the next waypoint (the first entry in the
152
+ # `remaining_waypoints` field). The value is unspecified if the trip is not
153
+ # assigned to a vehicle, or the trip is inactive (completed or cancelled).
154
+ # @!attribute [r] remaining_time_to_first_waypoint
155
+ # @return [::Google::Protobuf::Duration]
156
+ # Output only. The duration from when the Trip data is returned to the time
157
+ # in `Trip.eta_to_first_waypoint`. The value is unspecified if the trip is
158
+ # not assigned to a vehicle, or the trip is inactive (completed or
159
+ # cancelled).
160
+ # @!attribute [r] remaining_waypoints_version
161
+ # @return [::Google::Protobuf::Timestamp]
162
+ # Output only. Indicates the last time that `remaining_waypoints` was changed
163
+ # (a waypoint was added, removed, or changed).
164
+ # @!attribute [r] remaining_waypoints_route_version
165
+ # @return [::Google::Protobuf::Timestamp]
166
+ # Output only. Indicates the last time the
167
+ # `remaining_waypoints.path_to_waypoint` and
168
+ # `remaining_waypoints.traffic_to_waypoint` were modified. Your client app
169
+ # should cache this value and pass it in `GetTripRequest` to ensure the
170
+ # paths and traffic for `remaining_waypoints` are only returned if updated.
171
+ # @!attribute [rw] number_of_passengers
172
+ # @return [::Integer]
173
+ # Immutable. Indicates the number of passengers on this trip and does not
174
+ # include the driver. A vehicle must have available capacity to be returned
175
+ # in a `SearchVehicles` response.
176
+ # @!attribute [r] last_location
177
+ # @return [::Google::Maps::FleetEngine::V1::VehicleLocation]
178
+ # Output only. Indicates the last reported location of the vehicle along the
179
+ # route.
180
+ # @!attribute [r] last_location_snappable
181
+ # @return [::Boolean]
182
+ # Output only. Indicates whether the vehicle's `last_location` can be snapped
183
+ # to the current_route_segment. False if `last_location` or
184
+ # `current_route_segment` doesn't exist.
185
+ # It is computed by Fleet Engine. Any update from clients will be ignored.
186
+ # @!attribute [rw] view
187
+ # @return [::Google::Maps::FleetEngine::V1::TripView]
188
+ # The subset of Trip fields that are populated and how they should be
189
+ # interpreted.
190
+ class Trip
191
+ include ::Google::Protobuf::MessageExts
192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
193
+ end
194
+
195
+ # The actual location where a stop (pickup/dropoff) happened.
196
+ # @!attribute [rw] point
197
+ # @return [::Google::Type::LatLng]
198
+ # Required. Denotes the actual location.
199
+ # @!attribute [rw] timestamp
200
+ # @return [::Google::Protobuf::Timestamp]
201
+ # Indicates when the stop happened.
202
+ # @!attribute [rw] stop_time
203
+ # @deprecated This field is deprecated and may be removed in the next major version update.
204
+ # @return [::Google::Protobuf::Timestamp]
205
+ # Input only. Deprecated. Use the timestamp field.
206
+ class StopLocation
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
210
+
211
+ # The status of a trip indicating its progression.
212
+ module TripStatus
213
+ # Default, used for unspecified or unrecognized trip status.
214
+ UNKNOWN_TRIP_STATUS = 0
215
+
216
+ # Newly created trip.
217
+ NEW = 1
218
+
219
+ # The driver is on their way to the pickup point.
220
+ ENROUTE_TO_PICKUP = 2
221
+
222
+ # The driver has arrived at the pickup point.
223
+ ARRIVED_AT_PICKUP = 3
224
+
225
+ # The driver has arrived at an intermediate destination and is waiting for
226
+ # the rider.
227
+ ARRIVED_AT_INTERMEDIATE_DESTINATION = 7
228
+
229
+ # The driver is on their way to an intermediate destination
230
+ # (not the dropoff point).
231
+ ENROUTE_TO_INTERMEDIATE_DESTINATION = 8
232
+
233
+ # The driver has picked up the rider and is on their way to the
234
+ # next destination.
235
+ ENROUTE_TO_DROPOFF = 4
236
+
237
+ # The rider has been dropped off and the trip is complete.
238
+ COMPLETE = 5
239
+
240
+ # The trip was canceled prior to pickup by the driver, rider, or
241
+ # rideshare provider.
242
+ CANCELED = 6
243
+ end
244
+
245
+ # A set of values that indicate upon which platform the request was issued.
246
+ module BillingPlatformIdentifier
247
+ # Default. Used for unspecified platforms.
248
+ BILLING_PLATFORM_IDENTIFIER_UNSPECIFIED = 0
249
+
250
+ # The platform is a client server.
251
+ SERVER = 1
252
+
253
+ # The platform is a web browser.
254
+ WEB = 2
255
+
256
+ # The platform is an Android mobile device.
257
+ ANDROID = 3
258
+
259
+ # The platform is an IOS mobile device.
260
+ IOS = 4
261
+
262
+ # Other platforms that are not listed in this enumeration.
263
+ OTHERS = 5
264
+ end
265
+
266
+ # Selector for different sets of Trip fields in a `GetTrip` response. See
267
+ # [AIP-157](https://google.aip.dev/157) for context. Additional views are
268
+ # likely to be added.
269
+ module TripView
270
+ # The default value. For backwards-compatibility, the API will default to an
271
+ # SDK view. To ensure stability and support, customers are
272
+ # advised to select a `TripView` other than `SDK`.
273
+ TRIP_VIEW_UNSPECIFIED = 0
274
+
275
+ # Includes fields that may not be interpretable or supportable using
276
+ # publicly available libraries.
277
+ SDK = 1
278
+
279
+ # Trip fields are populated for the Journey Sharing use case. This view is
280
+ # intended for server-to-server communications.
281
+ JOURNEY_SHARING_V1S = 2
282
+ end
283
+ end
284
+ end
285
+ end
286
+ end