@@ -26,6 +26,7 @@ import "google/maps/fleetengine/delivery/v1/delivery_vehicles.proto";
2626import "google/maps/fleetengine/delivery/v1/header.proto" ;
2727import "google/maps/fleetengine/delivery/v1/task_tracking_info.proto" ;
2828import "google/maps/fleetengine/delivery/v1/tasks.proto" ;
29+ import "google/protobuf/empty.proto" ;
2930import "google/protobuf/field_mask.proto" ;
3031
3132option csharp_namespace = "Google.Maps.FleetEngine.Delivery.V1" ;
@@ -78,6 +79,24 @@ service DeliveryService {
7879 option (google.api.method_signature ) = "name" ;
7980 }
8081
82+ // Deletes a DeliveryVehicle from the Fleet Engine.
83+ //
84+ // Returns FAILED_PRECONDITION if the DeliveryVehicle has OPEN Tasks
85+ // assigned to it.
86+ rpc DeleteDeliveryVehicle (DeleteDeliveryVehicleRequest )
87+ returns (google.protobuf.Empty ) {
88+ option (google.api.http ) = {
89+ delete : "/v1/{name=providers/*/deliveryVehicles/*}"
90+ };
91+ option (google.api.routing ) = {
92+ routing_parameters {
93+ field : "name"
94+ path_template : "{provider_id=providers/*}"
95+ }
96+ };
97+ option (google.api.method_signature ) = "name" ;
98+ }
99+
81100 // Writes updated `DeliveryVehicle` data to Fleet Engine, and assigns
82101 // `Tasks` to the `DeliveryVehicle`. You cannot update the name of the
83102 // `DeliveryVehicle`. You *can* update `remaining_vehicle_journey_segments`,
@@ -144,6 +163,23 @@ service DeliveryService {
144163 option (google.api.method_signature ) = "name" ;
145164 }
146165
166+ // Deletes a single Task.
167+ //
168+ // Returns FAILED_PRECONDITION if the Task is OPEN and assigned to a
169+ // DeliveryVehicle.
170+ rpc DeleteTask (DeleteTaskRequest ) returns (google.protobuf.Empty ) {
171+ option (google.api.http ) = {
172+ delete : "/v1/{name=providers/*/tasks/*}"
173+ };
174+ option (google.api.routing ) = {
175+ routing_parameters {
176+ field : "name"
177+ path_template : "{provider_id=providers/*}"
178+ }
179+ };
180+ option (google.api.method_signature ) = "name" ;
181+ }
182+
147183 // Updates `Task` data.
148184 rpc UpdateTask (UpdateTaskRequest ) returns (Task ) {
149185 option (google.api.http ) = {
@@ -253,6 +289,23 @@ message GetDeliveryVehicleRequest {
253289 ];
254290}
255291
292+ // DeleteDeliveryVehicle request message.
293+ message DeleteDeliveryVehicleRequest {
294+ // Optional. The standard Delivery API request header.
295+ DeliveryRequestHeader header = 1 [(google.api.field_behavior ) = OPTIONAL ];
296+
297+ // Required. Must be in the format
298+ // `providers/{provider}/deliveryVehicles/{delivery_vehicle}`.
299+ // The `provider` must be the Google Cloud Project ID. For example,
300+ // `sample-cloud-project`.
301+ string name = 2 [
302+ (google.api.field_behavior ) = REQUIRED ,
303+ (google.api.resource_reference ) = {
304+ type : "fleetengine.googleapis.com/DeliveryVehicle"
305+ }
306+ ];
307+ }
308+
256309// The `ListDeliveryVehicles` request message.
257310message ListDeliveryVehiclesRequest {
258311 // Optional. The standard Delivery API request header.
@@ -433,6 +486,22 @@ message GetTaskRequest {
433486 ];
434487}
435488
489+ // DeleteTask request message.
490+ message DeleteTaskRequest {
491+ // Optional. The standard Delivery API request header.
492+ DeliveryRequestHeader header = 1 [(google.api.field_behavior ) = OPTIONAL ];
493+
494+ // Required. Must be in the format `providers/{provider}/tasks/{task}`. The
495+ // `provider` must be the Google Cloud Project ID. For example,
496+ // `sample-cloud-project`.
497+ string name = 2 [
498+ (google.api.field_behavior ) = REQUIRED ,
499+ (google.api.resource_reference ) = {
500+ type : "fleetengine.googleapis.com/Task"
501+ }
502+ ];
503+ }
504+
436505// The `UpdateTask` request message.
437506message UpdateTaskRequest {
438507 // Optional. The standard Delivery API request header.
0 commit comments