com.google.maps.routeoptimization.v1.VehicleOrBuilder Maven / Gradle / Ivy
/*
* Copyright 2024 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
*
* https://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.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/maps/routeoptimization/v1/route_optimization_service.proto
// Protobuf Java Version: 3.25.5
package com.google.maps.routeoptimization.v1;
public interface VehicleOrBuilder
extends
// @@protoc_insertion_point(interface_extends:google.maps.routeoptimization.v1.Vehicle)
com.google.protobuf.MessageOrBuilder {
/**
*
*
*
* The user-defined display name of the vehicle.
* It can be up to 63 characters long and may use UTF-8 characters.
*
*
* string display_name = 32;
*
* @return The displayName.
*/
java.lang.String getDisplayName();
/**
*
*
*
* The user-defined display name of the vehicle.
* It can be up to 63 characters long and may use UTF-8 characters.
*
*
* string display_name = 32;
*
* @return The bytes for displayName.
*/
com.google.protobuf.ByteString getDisplayNameBytes();
/**
*
*
*
* The travel mode which affects the roads usable by the vehicle and its
* speed. See also `travel_duration_multiple`.
*
*
* .google.maps.routeoptimization.v1.Vehicle.TravelMode travel_mode = 1;
*
* @return The enum numeric value on the wire for travelMode.
*/
int getTravelModeValue();
/**
*
*
*
* The travel mode which affects the roads usable by the vehicle and its
* speed. See also `travel_duration_multiple`.
*
*
* .google.maps.routeoptimization.v1.Vehicle.TravelMode travel_mode = 1;
*
* @return The travelMode.
*/
com.google.maps.routeoptimization.v1.Vehicle.TravelMode getTravelMode();
/**
*
*
*
* A set of conditions to satisfy that affect the way routes are calculated
* for the given vehicle.
*
*
* .google.maps.routeoptimization.v1.RouteModifiers route_modifiers = 2;
*
* @return Whether the routeModifiers field is set.
*/
boolean hasRouteModifiers();
/**
*
*
*
* A set of conditions to satisfy that affect the way routes are calculated
* for the given vehicle.
*
*
* .google.maps.routeoptimization.v1.RouteModifiers route_modifiers = 2;
*
* @return The routeModifiers.
*/
com.google.maps.routeoptimization.v1.RouteModifiers getRouteModifiers();
/**
*
*
*
* A set of conditions to satisfy that affect the way routes are calculated
* for the given vehicle.
*
*
* .google.maps.routeoptimization.v1.RouteModifiers route_modifiers = 2;
*/
com.google.maps.routeoptimization.v1.RouteModifiersOrBuilder getRouteModifiersOrBuilder();
/**
*
*
*
* Geographic location where the vehicle starts before picking up any
* shipments. If not specified, the vehicle starts at its first pickup.
* If the shipment model has duration and distance matrices, `start_location`
* must not be specified.
*
*
* .google.type.LatLng start_location = 3;
*
* @return Whether the startLocation field is set.
*/
boolean hasStartLocation();
/**
*
*
*
* Geographic location where the vehicle starts before picking up any
* shipments. If not specified, the vehicle starts at its first pickup.
* If the shipment model has duration and distance matrices, `start_location`
* must not be specified.
*
*
* .google.type.LatLng start_location = 3;
*
* @return The startLocation.
*/
com.google.type.LatLng getStartLocation();
/**
*
*
*
* Geographic location where the vehicle starts before picking up any
* shipments. If not specified, the vehicle starts at its first pickup.
* If the shipment model has duration and distance matrices, `start_location`
* must not be specified.
*
*
* .google.type.LatLng start_location = 3;
*/
com.google.type.LatLngOrBuilder getStartLocationOrBuilder();
/**
*
*
*
* Waypoint representing a geographic location where the vehicle starts before
* picking up any shipments. If neither `start_waypoint` nor `start_location`
* is specified, the vehicle starts at its first pickup.
* If the shipment model has duration and distance matrices, `start_waypoint`
* must not be specified.
*
*
* .google.maps.routeoptimization.v1.Waypoint start_waypoint = 4;
*
* @return Whether the startWaypoint field is set.
*/
boolean hasStartWaypoint();
/**
*
*
*
* Waypoint representing a geographic location where the vehicle starts before
* picking up any shipments. If neither `start_waypoint` nor `start_location`
* is specified, the vehicle starts at its first pickup.
* If the shipment model has duration and distance matrices, `start_waypoint`
* must not be specified.
*
*
* .google.maps.routeoptimization.v1.Waypoint start_waypoint = 4;
*
* @return The startWaypoint.
*/
com.google.maps.routeoptimization.v1.Waypoint getStartWaypoint();
/**
*
*
*
* Waypoint representing a geographic location where the vehicle starts before
* picking up any shipments. If neither `start_waypoint` nor `start_location`
* is specified, the vehicle starts at its first pickup.
* If the shipment model has duration and distance matrices, `start_waypoint`
* must not be specified.
*
*
* .google.maps.routeoptimization.v1.Waypoint start_waypoint = 4;
*/
com.google.maps.routeoptimization.v1.WaypointOrBuilder getStartWaypointOrBuilder();
/**
*
*
*
* Geographic location where the vehicle ends after it has completed its last
* `VisitRequest`. If not specified the vehicle's `ShipmentRoute` ends
* immediately when it completes its last `VisitRequest`.
* If the shipment model has duration and distance matrices, `end_location`
* must not be specified.
*
*
* .google.type.LatLng end_location = 5;
*
* @return Whether the endLocation field is set.
*/
boolean hasEndLocation();
/**
*
*
*
* Geographic location where the vehicle ends after it has completed its last
* `VisitRequest`. If not specified the vehicle's `ShipmentRoute` ends
* immediately when it completes its last `VisitRequest`.
* If the shipment model has duration and distance matrices, `end_location`
* must not be specified.
*
*
* .google.type.LatLng end_location = 5;
*
* @return The endLocation.
*/
com.google.type.LatLng getEndLocation();
/**
*
*
*
* Geographic location where the vehicle ends after it has completed its last
* `VisitRequest`. If not specified the vehicle's `ShipmentRoute` ends
* immediately when it completes its last `VisitRequest`.
* If the shipment model has duration and distance matrices, `end_location`
* must not be specified.
*
*
* .google.type.LatLng end_location = 5;
*/
com.google.type.LatLngOrBuilder getEndLocationOrBuilder();
/**
*
*
*
* Waypoint representing a geographic location where the vehicle ends after
* it has completed its last `VisitRequest`. If neither `end_waypoint` nor
* `end_location` is specified, the vehicle's `ShipmentRoute` ends immediately
* when it completes its last `VisitRequest`.
* If the shipment model has duration and distance matrices, `end_waypoint`
* must not be specified.
*
*
* .google.maps.routeoptimization.v1.Waypoint end_waypoint = 6;
*
* @return Whether the endWaypoint field is set.
*/
boolean hasEndWaypoint();
/**
*
*
*
* Waypoint representing a geographic location where the vehicle ends after
* it has completed its last `VisitRequest`. If neither `end_waypoint` nor
* `end_location` is specified, the vehicle's `ShipmentRoute` ends immediately
* when it completes its last `VisitRequest`.
* If the shipment model has duration and distance matrices, `end_waypoint`
* must not be specified.
*
*
* .google.maps.routeoptimization.v1.Waypoint end_waypoint = 6;
*
* @return The endWaypoint.
*/
com.google.maps.routeoptimization.v1.Waypoint getEndWaypoint();
/**
*
*
*
* Waypoint representing a geographic location where the vehicle ends after
* it has completed its last `VisitRequest`. If neither `end_waypoint` nor
* `end_location` is specified, the vehicle's `ShipmentRoute` ends immediately
* when it completes its last `VisitRequest`.
* If the shipment model has duration and distance matrices, `end_waypoint`
* must not be specified.
*
*
* .google.maps.routeoptimization.v1.Waypoint end_waypoint = 6;
*/
com.google.maps.routeoptimization.v1.WaypointOrBuilder getEndWaypointOrBuilder();
/**
*
*
*
* Specifies tags attached to the start of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string start_tags = 7;
*
* @return A list containing the startTags.
*/
java.util.List getStartTagsList();
/**
*
*
*
* Specifies tags attached to the start of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string start_tags = 7;
*
* @return The count of startTags.
*/
int getStartTagsCount();
/**
*
*
*
* Specifies tags attached to the start of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string start_tags = 7;
*
* @param index The index of the element to return.
* @return The startTags at the given index.
*/
java.lang.String getStartTags(int index);
/**
*
*
*
* Specifies tags attached to the start of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string start_tags = 7;
*
* @param index The index of the value to return.
* @return The bytes of the startTags at the given index.
*/
com.google.protobuf.ByteString getStartTagsBytes(int index);
/**
*
*
*
* Specifies tags attached to the end of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string end_tags = 8;
*
* @return A list containing the endTags.
*/
java.util.List getEndTagsList();
/**
*
*
*
* Specifies tags attached to the end of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string end_tags = 8;
*
* @return The count of endTags.
*/
int getEndTagsCount();
/**
*
*
*
* Specifies tags attached to the end of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string end_tags = 8;
*
* @param index The index of the element to return.
* @return The endTags at the given index.
*/
java.lang.String getEndTags(int index);
/**
*
*
*
* Specifies tags attached to the end of the vehicle's route.
*
* Empty or duplicate strings are not allowed.
*
*
* repeated string end_tags = 8;
*
* @param index The index of the value to return.
* @return The bytes of the endTags at the given index.
*/
com.google.protobuf.ByteString getEndTagsBytes(int index);
/**
*
*
*
* Time windows during which the vehicle may depart its start location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow start_time_windows = 9;
*/
java.util.List getStartTimeWindowsList();
/**
*
*
*
* Time windows during which the vehicle may depart its start location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow start_time_windows = 9;
*/
com.google.maps.routeoptimization.v1.TimeWindow getStartTimeWindows(int index);
/**
*
*
*
* Time windows during which the vehicle may depart its start location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow start_time_windows = 9;
*/
int getStartTimeWindowsCount();
/**
*
*
*
* Time windows during which the vehicle may depart its start location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow start_time_windows = 9;
*/
java.util.List extends com.google.maps.routeoptimization.v1.TimeWindowOrBuilder>
getStartTimeWindowsOrBuilderList();
/**
*
*
*
* Time windows during which the vehicle may depart its start location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow start_time_windows = 9;
*/
com.google.maps.routeoptimization.v1.TimeWindowOrBuilder getStartTimeWindowsOrBuilder(int index);
/**
*
*
*
* Time windows during which the vehicle may arrive at its end location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow end_time_windows = 10;
*/
java.util.List getEndTimeWindowsList();
/**
*
*
*
* Time windows during which the vehicle may arrive at its end location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow end_time_windows = 10;
*/
com.google.maps.routeoptimization.v1.TimeWindow getEndTimeWindows(int index);
/**
*
*
*
* Time windows during which the vehicle may arrive at its end location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow end_time_windows = 10;
*/
int getEndTimeWindowsCount();
/**
*
*
*
* Time windows during which the vehicle may arrive at its end location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow end_time_windows = 10;
*/
java.util.List extends com.google.maps.routeoptimization.v1.TimeWindowOrBuilder>
getEndTimeWindowsOrBuilderList();
/**
*
*
*
* Time windows during which the vehicle may arrive at its end location.
* They must be within the global time limits (see
* [ShipmentModel.global_*][google.maps.routeoptimization.v1.ShipmentModel.global_start_time]
* fields). If unspecified, there is no limitation besides those global time
* limits.
*
* Time windows belonging to the same repeated field must be disjoint, i.e. no
* time window can overlap with or be adjacent to another, and they must be in
* chronological order.
*
* `cost_per_hour_after_soft_end_time` and `soft_end_time` can only be set if
* there is a single time window.
*
*
* repeated .google.maps.routeoptimization.v1.TimeWindow end_time_windows = 10;
*/
com.google.maps.routeoptimization.v1.TimeWindowOrBuilder getEndTimeWindowsOrBuilder(int index);
/**
*
*
*
* Specifies a multiplicative factor that can be used to increase or decrease
* travel times of this vehicle. For example, setting this to 2.0 means
* that this vehicle is slower and has travel times that are twice what they
* are for standard vehicles. This multiple does not affect visit durations.
* It does affect cost if `cost_per_hour` or `cost_per_traveled_hour` are
* specified. This must be in the range [0.001, 1000.0]. If unset, the vehicle
* is standard, and this multiple is considered 1.0.
*
* WARNING: Travel times will be rounded to the nearest second after this
* multiple is applied but before performing any numerical operations, thus,
* a small multiple may result in a loss of precision.
*
* See also `extra_visit_duration_for_visit_type` below.
*
*
* optional double travel_duration_multiple = 11;
*
* @return Whether the travelDurationMultiple field is set.
*/
boolean hasTravelDurationMultiple();
/**
*
*
*
* Specifies a multiplicative factor that can be used to increase or decrease
* travel times of this vehicle. For example, setting this to 2.0 means
* that this vehicle is slower and has travel times that are twice what they
* are for standard vehicles. This multiple does not affect visit durations.
* It does affect cost if `cost_per_hour` or `cost_per_traveled_hour` are
* specified. This must be in the range [0.001, 1000.0]. If unset, the vehicle
* is standard, and this multiple is considered 1.0.
*
* WARNING: Travel times will be rounded to the nearest second after this
* multiple is applied but before performing any numerical operations, thus,
* a small multiple may result in a loss of precision.
*
* See also `extra_visit_duration_for_visit_type` below.
*
*
* optional double travel_duration_multiple = 11;
*
* @return The travelDurationMultiple.
*/
double getTravelDurationMultiple();
/**
*
*
*
* Unloading policy enforced on the vehicle.
*
*
* .google.maps.routeoptimization.v1.Vehicle.UnloadingPolicy unloading_policy = 12;
*
* @return The enum numeric value on the wire for unloadingPolicy.
*/
int getUnloadingPolicyValue();
/**
*
*
*
* Unloading policy enforced on the vehicle.
*
*
* .google.maps.routeoptimization.v1.Vehicle.UnloadingPolicy unloading_policy = 12;
*
* @return The unloadingPolicy.
*/
com.google.maps.routeoptimization.v1.Vehicle.UnloadingPolicy getUnloadingPolicy();
/**
*
*
*
* Capacities of the vehicle (weight, volume, # of pallets for example).
* The keys in the map are the identifiers of the type of load, consistent
* with the keys of the
* [Shipment.load_demands][google.maps.routeoptimization.v1.Shipment.load_demands]
* field. If a given key is absent from this map, the corresponding capacity
* is considered to be limitless.
*
*
* map<string, .google.maps.routeoptimization.v1.Vehicle.LoadLimit> load_limits = 30;
*
*/
int getLoadLimitsCount();
/**
*
*
*
* Capacities of the vehicle (weight, volume, # of pallets for example).
* The keys in the map are the identifiers of the type of load, consistent
* with the keys of the
* [Shipment.load_demands][google.maps.routeoptimization.v1.Shipment.load_demands]
* field. If a given key is absent from this map, the corresponding capacity
* is considered to be limitless.
*
*
* map<string, .google.maps.routeoptimization.v1.Vehicle.LoadLimit> load_limits = 30;
*
*/
boolean containsLoadLimits(java.lang.String key);
/** Use {@link #getLoadLimitsMap()} instead. */
@java.lang.Deprecated
java.util.Map
getLoadLimits();
/**
*
*
*
* Capacities of the vehicle (weight, volume, # of pallets for example).
* The keys in the map are the identifiers of the type of load, consistent
* with the keys of the
* [Shipment.load_demands][google.maps.routeoptimization.v1.Shipment.load_demands]
* field. If a given key is absent from this map, the corresponding capacity
* is considered to be limitless.
*
*
* map<string, .google.maps.routeoptimization.v1.Vehicle.LoadLimit> load_limits = 30;
*
*/
java.util.Map
getLoadLimitsMap();
/**
*
*
*
* Capacities of the vehicle (weight, volume, # of pallets for example).
* The keys in the map are the identifiers of the type of load, consistent
* with the keys of the
* [Shipment.load_demands][google.maps.routeoptimization.v1.Shipment.load_demands]
* field. If a given key is absent from this map, the corresponding capacity
* is considered to be limitless.
*
*
* map<string, .google.maps.routeoptimization.v1.Vehicle.LoadLimit> load_limits = 30;
*
*/
/* nullable */
com.google.maps.routeoptimization.v1.Vehicle.LoadLimit getLoadLimitsOrDefault(
java.lang.String key,
/* nullable */
com.google.maps.routeoptimization.v1.Vehicle.LoadLimit defaultValue);
/**
*
*
*
* Capacities of the vehicle (weight, volume, # of pallets for example).
* The keys in the map are the identifiers of the type of load, consistent
* with the keys of the
* [Shipment.load_demands][google.maps.routeoptimization.v1.Shipment.load_demands]
* field. If a given key is absent from this map, the corresponding capacity
* is considered to be limitless.
*
*
* map<string, .google.maps.routeoptimization.v1.Vehicle.LoadLimit> load_limits = 30;
*
*/
com.google.maps.routeoptimization.v1.Vehicle.LoadLimit getLoadLimitsOrThrow(java.lang.String key);
/**
*
*
*
* Vehicle costs: all costs add up and must be in the same unit as
* [Shipment.penalty_cost][google.maps.routeoptimization.v1.Shipment.penalty_cost].
*
* Cost per hour of the vehicle route. This cost is applied to the total time
* taken by the route, and includes travel time, waiting time, and visit time.
* Using `cost_per_hour` instead of just `cost_per_traveled_hour` may result
* in additional latency.
*
*
* double cost_per_hour = 16;
*
* @return The costPerHour.
*/
double getCostPerHour();
/**
*
*
*
* Cost per traveled hour of the vehicle route. This cost is applied only to
* travel time taken by the route (i.e., that reported in
* [ShipmentRoute.transitions][google.maps.routeoptimization.v1.ShipmentRoute.transitions]),
* and excludes waiting time and visit time.
*
*
* double cost_per_traveled_hour = 17;
*
* @return The costPerTraveledHour.
*/
double getCostPerTraveledHour();
/**
*
*
*
* Cost per kilometer of the vehicle route. This cost is applied to the
* distance reported in the
* [ShipmentRoute.transitions][google.maps.routeoptimization.v1.ShipmentRoute.transitions]
* and does not apply to any distance implicitly traveled from the
* `arrival_location` to the `departure_location` of a single `VisitRequest`.
*
*
* double cost_per_kilometer = 18;
*
* @return The costPerKilometer.
*/
double getCostPerKilometer();
/**
*
*
*
* Fixed cost applied if this vehicle is used to handle a shipment.
*
*
* double fixed_cost = 19;
*
* @return The fixedCost.
*/
double getFixedCost();
/**
*
*
*
* This field only applies to vehicles when their route does not serve any
* shipments. It indicates if the vehicle should be considered as used or not
* in this case.
*
* If true, the vehicle goes from its start to its end location even if it
* doesn't serve any shipments, and time and distance costs resulting from its
* start --> end travel are taken into account.
*
* Otherwise, it doesn't travel from its start to its end location, and no
* `break_rule` or delay (from `TransitionAttributes`) are scheduled for this
* vehicle. In this case, the vehicle's `ShipmentRoute` doesn't contain any
* information except for the vehicle index and label.
*
*
* bool used_if_route_is_empty = 20;
*
* @return The usedIfRouteIsEmpty.
*/
boolean getUsedIfRouteIsEmpty();
/**
*
*
*
* Limit applied to the total duration of the vehicle's route. In a given
* `OptimizeToursResponse`, the route duration of a vehicle is the
* difference between its `vehicle_end_time` and `vehicle_start_time`.
*
*
* .google.maps.routeoptimization.v1.Vehicle.DurationLimit route_duration_limit = 21;
*
* @return Whether the routeDurationLimit field is set.
*/
boolean hasRouteDurationLimit();
/**
*
*
*
* Limit applied to the total duration of the vehicle's route. In a given
* `OptimizeToursResponse`, the route duration of a vehicle is the
* difference between its `vehicle_end_time` and `vehicle_start_time`.
*
*
* .google.maps.routeoptimization.v1.Vehicle.DurationLimit route_duration_limit = 21;
*
* @return The routeDurationLimit.
*/
com.google.maps.routeoptimization.v1.Vehicle.DurationLimit getRouteDurationLimit();
/**
*
*
*
* Limit applied to the total duration of the vehicle's route. In a given
* `OptimizeToursResponse`, the route duration of a vehicle is the
* difference between its `vehicle_end_time` and `vehicle_start_time`.
*
*
* .google.maps.routeoptimization.v1.Vehicle.DurationLimit route_duration_limit = 21;
*/
com.google.maps.routeoptimization.v1.Vehicle.DurationLimitOrBuilder
getRouteDurationLimitOrBuilder();
/**
*
*
*
* Limit applied to the travel duration of the vehicle's route. In a given
* `OptimizeToursResponse`, the route travel duration is the sum of all its
* [transitions.travel_duration][google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_duration].
*
*
* .google.maps.routeoptimization.v1.Vehicle.DurationLimit travel_duration_limit = 22;
*
*
* @return Whether the travelDurationLimit field is set.
*/
boolean hasTravelDurationLimit();
/**
*
*
*
* Limit applied to the travel duration of the vehicle's route. In a given
* `OptimizeToursResponse`, the route travel duration is the sum of all its
* [transitions.travel_duration][google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_duration].
*
*
* .google.maps.routeoptimization.v1.Vehicle.DurationLimit travel_duration_limit = 22;
*
*
* @return The travelDurationLimit.
*/
com.google.maps.routeoptimization.v1.Vehicle.DurationLimit getTravelDurationLimit();
/**
*
*
*
* Limit applied to the travel duration of the vehicle's route. In a given
* `OptimizeToursResponse`, the route travel duration is the sum of all its
* [transitions.travel_duration][google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_duration].
*
*
* .google.maps.routeoptimization.v1.Vehicle.DurationLimit travel_duration_limit = 22;
*
*/
com.google.maps.routeoptimization.v1.Vehicle.DurationLimitOrBuilder
getTravelDurationLimitOrBuilder();
/**
*
*
*
* Limit applied to the total distance of the vehicle's route. In a given
* `OptimizeToursResponse`, the route distance is the sum of all its
* [transitions.travel_distance_meters][google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_distance_meters].
*
*
* .google.maps.routeoptimization.v1.DistanceLimit route_distance_limit = 23;
*
* @return Whether the routeDistanceLimit field is set.
*/
boolean hasRouteDistanceLimit();
/**
*
*
*
* Limit applied to the total distance of the vehicle's route. In a given
* `OptimizeToursResponse`, the route distance is the sum of all its
* [transitions.travel_distance_meters][google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_distance_meters].
*
*
* .google.maps.routeoptimization.v1.DistanceLimit route_distance_limit = 23;
*
* @return The routeDistanceLimit.
*/
com.google.maps.routeoptimization.v1.DistanceLimit getRouteDistanceLimit();
/**
*
*
*
* Limit applied to the total distance of the vehicle's route. In a given
* `OptimizeToursResponse`, the route distance is the sum of all its
* [transitions.travel_distance_meters][google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_distance_meters].
*
*
* .google.maps.routeoptimization.v1.DistanceLimit route_distance_limit = 23;
*/
com.google.maps.routeoptimization.v1.DistanceLimitOrBuilder getRouteDistanceLimitOrBuilder();
/**
*
*
*
* Specifies a map from visit_types strings to durations. The duration is time
* in addition to
* [VisitRequest.duration][google.maps.routeoptimization.v1.Shipment.VisitRequest.duration]
* to be taken at visits with the specified `visit_types`. This extra visit
* duration adds cost if `cost_per_hour` is specified. Keys (i.e.
* `visit_types`) cannot be empty strings.
*
* If a visit request has multiple types, a duration will be added for each
* type in the map.
*
*
* map<string, .google.protobuf.Duration> extra_visit_duration_for_visit_type = 24;
*
*/
int getExtraVisitDurationForVisitTypeCount();
/**
*
*
*
* Specifies a map from visit_types strings to durations. The duration is time
* in addition to
* [VisitRequest.duration][google.maps.routeoptimization.v1.Shipment.VisitRequest.duration]
* to be taken at visits with the specified `visit_types`. This extra visit
* duration adds cost if `cost_per_hour` is specified. Keys (i.e.
* `visit_types`) cannot be empty strings.
*
* If a visit request has multiple types, a duration will be added for each
* type in the map.
*
*
* map<string, .google.protobuf.Duration> extra_visit_duration_for_visit_type = 24;
*
*/
boolean containsExtraVisitDurationForVisitType(java.lang.String key);
/** Use {@link #getExtraVisitDurationForVisitTypeMap()} instead. */
@java.lang.Deprecated
java.util.Map getExtraVisitDurationForVisitType();
/**
*
*
*
* Specifies a map from visit_types strings to durations. The duration is time
* in addition to
* [VisitRequest.duration][google.maps.routeoptimization.v1.Shipment.VisitRequest.duration]
* to be taken at visits with the specified `visit_types`. This extra visit
* duration adds cost if `cost_per_hour` is specified. Keys (i.e.
* `visit_types`) cannot be empty strings.
*
* If a visit request has multiple types, a duration will be added for each
* type in the map.
*
*
* map<string, .google.protobuf.Duration> extra_visit_duration_for_visit_type = 24;
*
*/
java.util.Map
getExtraVisitDurationForVisitTypeMap();
/**
*
*
*
* Specifies a map from visit_types strings to durations. The duration is time
* in addition to
* [VisitRequest.duration][google.maps.routeoptimization.v1.Shipment.VisitRequest.duration]
* to be taken at visits with the specified `visit_types`. This extra visit
* duration adds cost if `cost_per_hour` is specified. Keys (i.e.
* `visit_types`) cannot be empty strings.
*
* If a visit request has multiple types, a duration will be added for each
* type in the map.
*
*
* map<string, .google.protobuf.Duration> extra_visit_duration_for_visit_type = 24;
*
*/
/* nullable */
com.google.protobuf.Duration getExtraVisitDurationForVisitTypeOrDefault(
java.lang.String key,
/* nullable */
com.google.protobuf.Duration defaultValue);
/**
*
*
*
* Specifies a map from visit_types strings to durations. The duration is time
* in addition to
* [VisitRequest.duration][google.maps.routeoptimization.v1.Shipment.VisitRequest.duration]
* to be taken at visits with the specified `visit_types`. This extra visit
* duration adds cost if `cost_per_hour` is specified. Keys (i.e.
* `visit_types`) cannot be empty strings.
*
* If a visit request has multiple types, a duration will be added for each
* type in the map.
*
*
* map<string, .google.protobuf.Duration> extra_visit_duration_for_visit_type = 24;
*
*/
com.google.protobuf.Duration getExtraVisitDurationForVisitTypeOrThrow(java.lang.String key);
/**
*
*
*
* Describes the break schedule to be enforced on this vehicle.
* If empty, no breaks will be scheduled for this vehicle.
*
*
* .google.maps.routeoptimization.v1.BreakRule break_rule = 25;
*
* @return Whether the breakRule field is set.
*/
boolean hasBreakRule();
/**
*
*
*
* Describes the break schedule to be enforced on this vehicle.
* If empty, no breaks will be scheduled for this vehicle.
*
*
* .google.maps.routeoptimization.v1.BreakRule break_rule = 25;
*
* @return The breakRule.
*/
com.google.maps.routeoptimization.v1.BreakRule getBreakRule();
/**
*
*
*
* Describes the break schedule to be enforced on this vehicle.
* If empty, no breaks will be scheduled for this vehicle.
*
*
* .google.maps.routeoptimization.v1.BreakRule break_rule = 25;
*/
com.google.maps.routeoptimization.v1.BreakRuleOrBuilder getBreakRuleOrBuilder();
/**
*
*
*
* Specifies a label for this vehicle. This label is reported in the response
* as the `vehicle_label` of the corresponding
* [ShipmentRoute][google.maps.routeoptimization.v1.ShipmentRoute].
*
*
* string label = 27;
*
* @return The label.
*/
java.lang.String getLabel();
/**
*
*
*
* Specifies a label for this vehicle. This label is reported in the response
* as the `vehicle_label` of the corresponding
* [ShipmentRoute][google.maps.routeoptimization.v1.ShipmentRoute].
*
*
* string label = 27;
*
* @return The bytes for label.
*/
com.google.protobuf.ByteString getLabelBytes();
/**
*
*
*
* If true, `used_if_route_is_empty` must be false, and this vehicle will
* remain unused.
*
* If a shipment is performed by an ignored vehicle in
* `injected_first_solution_routes`, it is skipped in the first solution but
* is free to be performed in the response.
*
* If a shipment is performed by an ignored vehicle in
* `injected_solution_constraint` and any related pickup/delivery is
* constrained to remain on the vehicle (i.e., not relaxed to level
* `RELAX_ALL_AFTER_THRESHOLD`), it is skipped in the response.
* If a shipment has a non-empty `allowed_vehicle_indices` field and all of
* the allowed vehicles are ignored, it is skipped in the response.
*
*
* bool ignore = 28;
*
* @return The ignore.
*/
boolean getIgnore();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy