All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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 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 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