xref: /aosp_15_r20/external/googleapis/google/maps/fleetengine/delivery/v1/task_tracking_info.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package maps.fleetengine.delivery.v1;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/maps/fleetengine/delivery/v1/common.proto";
22import "google/maps/fleetengine/delivery/v1/delivery_vehicles.proto";
23import "google/maps/fleetengine/delivery/v1/tasks.proto";
24import "google/protobuf/timestamp.proto";
25import "google/protobuf/wrappers.proto";
26import "google/type/latlng.proto";
27
28option csharp_namespace = "Google.Maps.FleetEngine.Delivery.V1";
29option go_package = "cloud.google.com/go/maps/fleetengine/delivery/apiv1/deliverypb;deliverypb";
30option java_multiple_files = true;
31option java_outer_classname = "TaskTrackingInfoProto";
32option java_package = "google.maps.fleetengine.delivery.v1";
33option objc_class_prefix = "CFED";
34
35// The `TaskTrackingInfo` message. The message contains task tracking
36// information which will be used for display. If a tracking ID is associated
37// with multiple Tasks, Fleet Engine uses a heuristic to decide which Task's
38// TaskTrackingInfo to select.
39message TaskTrackingInfo {
40  option (google.api.resource) = {
41    type: "fleetengine.googleapis.com/TaskTrackingInfo"
42    pattern: "providers/{provider}/taskTrackingInfo/{tracking}"
43  };
44
45  // Must be in the format `providers/{provider}/taskTrackingInfo/{tracking}`,
46  // where `tracking` represents the tracking ID.
47  string name = 1;
48
49  // Immutable. The tracking ID of a Task.
50  // * Must be a valid Unicode string.
51  // * Limited to a maximum length of 64 characters.
52  // * Normalized according to [Unicode Normalization Form C]
53  // (http://www.unicode.org/reports/tr15/).
54  // * May not contain any of the following ASCII characters: '/', ':', '?',
55  // ',', or '#'.
56  string tracking_id = 2 [(google.api.field_behavior) = IMMUTABLE];
57
58  // The vehicle's last location.
59  DeliveryVehicleLocation vehicle_location = 3;
60
61  // A list of points which when connected forms a polyline of the vehicle's
62  // expected route to the location of this task.
63  repeated google.type.LatLng route_polyline_points = 4;
64
65  // Indicates the number of stops the vehicle remaining until the task stop is
66  // reached, including the task stop. For example, if the vehicle's next stop
67  // is the task stop, the value will be 1.
68  google.protobuf.Int32Value remaining_stop_count = 5;
69
70  // The total remaining distance in meters to the `VehicleStop` of interest.
71  google.protobuf.Int32Value remaining_driving_distance_meters = 6;
72
73  // The timestamp that indicates the estimated arrival time to the stop
74  // location.
75  google.protobuf.Timestamp estimated_arrival_time = 7;
76
77  // The timestamp that indicates the estimated completion time of a Task.
78  google.protobuf.Timestamp estimated_task_completion_time = 8;
79
80  // The current execution state of the Task.
81  Task.State state = 11;
82
83  // The outcome of attempting to execute a Task.
84  Task.TaskOutcome task_outcome = 9;
85
86  // The timestamp that indicates when the Task's outcome was set by the
87  // provider.
88  google.protobuf.Timestamp task_outcome_time = 12;
89
90  // Immutable. The location where the Task will be completed.
91  LocationInfo planned_location = 10 [(google.api.field_behavior) = IMMUTABLE];
92
93  // The time window during which the task should be completed.
94  TimeWindow target_time_window = 13;
95
96  // The custom attributes set on the task.
97  repeated TaskAttribute attributes = 14;
98}
99