summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/maps/fleetengine/v1/trips.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/maps/fleetengine/v1/trips.proto')
-rw-r--r--third_party/googleapis/google/maps/fleetengine/v1/trips.proto288
1 files changed, 288 insertions, 0 deletions
diff --git a/third_party/googleapis/google/maps/fleetengine/v1/trips.proto b/third_party/googleapis/google/maps/fleetengine/v1/trips.proto
new file mode 100644
index 0000000..46ba96b
--- /dev/null
+++ b/third_party/googleapis/google/maps/fleetengine/v1/trips.proto
@@ -0,0 +1,288 @@
+// 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.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/maps/fleetengine/v1/fleetengine.proto";
+import "google/maps/fleetengine/v1/traffic.proto";
+import "google/protobuf/duration.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/v1;fleetengine";
+option java_multiple_files = true;
+option java_outer_classname = "Trips";
+option java_package = "google.maps.fleetengine.v1";
+option objc_class_prefix = "CFE";
+
+// Trip metadata.
+message Trip {
+ option (google.api.resource) = {
+ type: "fleetengine.googleapis.com/Trip"
+ pattern: "providers/{provider}/trips/{trip}"
+ };
+
+ // Output only. In the format "providers/{provider}/trips/{trip}"
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // ID of the vehicle making this trip.
+ string vehicle_id = 2;
+
+ // Current status of the trip.
+ TripStatus trip_status = 3;
+
+ // The type of the trip.
+ TripType trip_type = 4;
+
+ // Location where customer indicates they will be picked up.
+ TerminalLocation pickup_point = 5;
+
+ // Input only. The actual location when and where customer was picked up.
+ // This field is for provider to provide feedback on actual pickup
+ // information.
+ StopLocation actual_pickup_point = 22 [(google.api.field_behavior) = INPUT_ONLY];
+
+ // 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.
+ StopLocation actual_pickup_arrival_point = 32 [(google.api.field_behavior) = INPUT_ONLY];
+
+ // Output only. Either the estimated future time when the rider(s) will be picked up, or
+ // the actual time when they were picked up.
+ google.protobuf.Timestamp pickup_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Intermediate stops in order that the trip requests (in addition
+ // to pickup and dropoff). Initially this will not be supported for shared
+ // trips.
+ repeated TerminalLocation intermediate_destinations = 14;
+
+ // 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
+ // Trip.intermediate_destinations is not changed.
+ google.protobuf.Timestamp intermediate_destinations_version = 25;
+
+ // 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.
+ int32 intermediate_destination_index = 15;
+
+ // 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.
+ repeated StopLocation actual_intermediate_destination_arrival_points = 33 [(google.api.field_behavior) = INPUT_ONLY];
+
+ // 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.
+ repeated StopLocation actual_intermediate_destinations = 34 [(google.api.field_behavior) = INPUT_ONLY];
+
+ // Location where customer indicates they will be dropped off.
+ TerminalLocation dropoff_point = 7;
+
+ // 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.
+ StopLocation actual_dropoff_point = 23 [(google.api.field_behavior) = INPUT_ONLY];
+
+ // 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.
+ google.protobuf.Timestamp dropoff_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The full path from the current location to the dropoff point, inclusive.
+ // This path could include waypoints from other trips.
+ repeated TripWaypoint remaining_waypoints = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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 this field is ignored. For privacy reasons,
+ // this field is only populated by the server on UpdateTrip and CreateTrip
+ // calls, NOT on GetTrip calls.
+ repeated TripWaypoint vehicle_waypoints = 20;
+
+ // 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.
+ repeated google.type.LatLng route = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ string current_route_segment = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ google.protobuf.Timestamp current_route_segment_version = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ ConsumableTrafficPolyline current_route_segment_traffic = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ google.protobuf.Timestamp current_route_segment_traffic_version = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The waypoint where `current_route_segment` ends.
+ TripWaypoint current_route_segment_end_point = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ google.protobuf.Int32Value remaining_distance_meters = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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).
+ google.protobuf.Timestamp eta_to_first_waypoint = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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).
+ google.protobuf.Duration remaining_time_to_first_waypoint = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Indicates the last time that `remaining_waypoints` was changed (a
+ // waypoint was added, removed, or changed).
+ google.protobuf.Timestamp remaining_waypoints_version = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ google.protobuf.Timestamp remaining_waypoints_route_version = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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 SearchVehicles.
+ int32 number_of_passengers = 10 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. Indicates the last reported location of the vehicle along the route.
+ VehicleLocation last_location = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // 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.
+ bool last_location_snappable = 26 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The subset of Trip fields that are populated and how they should be
+ // interpreted.
+ TripView view = 31;
+}
+
+// The actual location where a stop (pickup/dropoff) happened.
+message StopLocation {
+ // Required. Denotes the actual location.
+ google.type.LatLng point = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates when the stop happened.
+ google.protobuf.Timestamp timestamp = 2;
+
+ // Input only. Deprecated. Use the timestamp field.
+ google.protobuf.Timestamp stop_time = 3 [
+ deprecated = true,
+ (google.api.field_behavior) = INPUT_ONLY
+ ];
+}
+
+// The status of a trip indicating its progression.
+enum TripStatus {
+ // Default, used for unspecified or unrecognized trip status.
+ UNKNOWN_TRIP_STATUS = 0;
+
+ // Newly created trip.
+ NEW = 1;
+
+ // The driver is on their way to the pickup point.
+ ENROUTE_TO_PICKUP = 2;
+
+ // The driver has arrived at the pickup point.
+ ARRIVED_AT_PICKUP = 3;
+
+ // The driver has arrived at an intermediate destination and is waiting for
+ // the rider.
+ ARRIVED_AT_INTERMEDIATE_DESTINATION = 7;
+
+ // The driver is on their way to an intermediate destination
+ // (not the dropoff point).
+ ENROUTE_TO_INTERMEDIATE_DESTINATION = 8;
+
+ // The driver has picked up the rider and is on their way to the
+ // next destination.
+ ENROUTE_TO_DROPOFF = 4;
+
+ // The rider has been dropped off and the trip is complete.
+ COMPLETE = 5;
+
+ // The trip was canceled prior to pickup by the driver, rider, or
+ // rideshare provider.
+ CANCELED = 6;
+}
+
+// A set of values that indicate upon which platform the request was issued.
+enum BillingPlatformIdentifier {
+ // Default. Used for unspecified platforms.
+ BILLING_PLATFORM_IDENTIFIER_UNSPECIFIED = 0;
+
+ // The platform is a client server.
+ SERVER = 1;
+
+ // The platform is a web browser.
+ WEB = 2;
+
+ // The platform is an Android mobile device.
+ ANDROID = 3;
+
+ // The platform is an IOS mobile device.
+ IOS = 4;
+
+ // Other platforms that are not listed in this enumeration.
+ OTHERS = 5;
+}
+
+// Selector for different sets of Trip fields in a `GetTrip` response. See
+// [AIP-157](https://google.aip.dev/157) for context. Additional views are
+// likely to be added.
+enum TripView {
+ // 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`.
+ TRIP_VIEW_UNSPECIFIED = 0;
+
+ // Includes fields that may not be interpretable or supportable using
+ // publicly available libraries.
+ SDK = 1;
+
+ // Trip fields are populated for the Journey Sharing use case. This view is
+ // intended for server-to-server communications.
+ JOURNEY_SHARING_V1S = 2;
+}