Class ShipmentRoute

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.optimization.v1.ShipmentRoute
All Implemented Interfaces:
ShipmentRouteOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class ShipmentRoute extends com.google.protobuf.GeneratedMessage implements ShipmentRouteOrBuilder
 A vehicle's route can be decomposed, along the time axis, like this (we
 assume there are n visits):
 ```
 |            |            |          |       |  T[2], |        |      |
 | Transition |  Visit #0  |          |       |  V[2], |        |      |
 |     #0     |    aka     |   T[1]   |  V[1] |  ...   | V[n-1] | T[n] |
 |  aka T[0]  |    V[0]    |          |       | V[n-2],|        |      |
 |            |            |          |       | T[n-1] |        |      |
 ^            ^            ^          ^       ^        ^        ^      ^
 vehicle    V[0].start   V[0].end     V[1].   V[1].    V[n].    V[n]. vehicle
 start     (arrival)   (departure)   start   end      start    end     end
 ```
 Note that we make a difference between:

 * "punctual events", such as the vehicle start and end and each visit's start
 and end (aka arrival and departure). They happen at a given second.
 * "time intervals", such as the visits themselves, and the transition between
 visits. Though time intervals can sometimes have zero duration, i.e. start
 and end at the same second, they often have a positive duration.

 Invariants:

 * If there are n visits, there are n+1 transitions.
 * A visit is always surrounded by a transition before it (same index) and a
 transition after it (index + 1).
 * The vehicle start is always followed by transition #0.
 * The vehicle end is always preceded by transition #n.

 Zooming in, here is what happens during a `Transition` and a `Visit`:
 ```
 ---+-------------------------------------+-----------------------------+-->
 |           TRANSITION[i]             |           VISIT[i]          |
 |                                     |                             |
 |  * TRAVEL: the vehicle moves from   |      PERFORM the visit:     |
 |    VISIT[i-1].departure_location to |                             |
 |    VISIT[i].arrival_location, which |  * Spend some time:         |
 |    takes a given travel duration    |    the "visit duration".    |
 |    and distance                     |                             |
 |                                     |  * Load or unload           |
 |  * BREAKS: the driver may have      |    some quantities from the |
 |    breaks (e.g. lunch break).       |    vehicle: the "demand".   |
 |                                     |                             |
 |  * WAIT: the driver/vehicle does    |                             |
 |    nothing. This can happen for     |                             |
 |    many reasons, for example when   |                             |
 |    the vehicle reaches the next     |                             |
 |    event's destination before the   |                             |
 |    start of its time window         |                             |
 |                                     |                             |
 |  * DELAY: *right before* the next   |                             |
 |    arrival. E.g. the vehicle and/or |                             |
 |    driver spends time unloading.    |                             |
 |                                     |                             |
 ---+-------------------------------------+-----------------------------+-->
 ^                                     ^                             ^
 V[i-1].end                           V[i].start                    V[i].end
 ```
 Lastly, here is how the TRAVEL, BREAKS, DELAY and WAIT can be arranged
 during a transition.

 * They don't overlap.
 * The DELAY is unique and *must* be a contiguous period of time right
 before the next visit (or vehicle end). Thus, it suffice to know the
 delay duration to know its start and end time.
 * The BREAKS are contiguous, non-overlapping periods of time. The
 response specifies the start time and duration of each break.
 * TRAVEL and WAIT are "preemptable": they can be interrupted several times
 during this transition. Clients can assume that travel happens "as soon as
 possible" and that "wait" fills the remaining time.

 A (complex) example:
 ```
 TRANSITION[i]
 --++-----+-----------------------------------------------------------++-->
 ||     |       |           |       |           |         |         ||
 ||  T  |   B   |     T     |       |     B     |         |    D    ||
 ||  r  |   r   |     r     |   W   |     r     |    W    |    e    ||
 ||  a  |   e   |     a     |   a   |     e     |    a    |    l    ||
 ||  v  |   a   |     v     |   i   |     a     |    i    |    a    ||
 ||  e  |   k   |     e     |   t   |     k     |    t    |    y    ||
 ||  l  |       |     l     |       |           |         |         ||
 ||     |       |           |       |           |         |         ||
 --++-----------------------------------------------------------------++-->
 ```
 
Protobuf type google.cloud.optimization.v1.ShipmentRoute
See Also:
  • Field Details

    • VEHICLE_INDEX_FIELD_NUMBER

      public static final int VEHICLE_INDEX_FIELD_NUMBER
      See Also:
    • VEHICLE_LABEL_FIELD_NUMBER

      public static final int VEHICLE_LABEL_FIELD_NUMBER
      See Also:
    • VEHICLE_START_TIME_FIELD_NUMBER

      public static final int VEHICLE_START_TIME_FIELD_NUMBER
      See Also:
    • VEHICLE_END_TIME_FIELD_NUMBER

      public static final int VEHICLE_END_TIME_FIELD_NUMBER
      See Also:
    • VISITS_FIELD_NUMBER

      public static final int VISITS_FIELD_NUMBER
      See Also:
    • TRANSITIONS_FIELD_NUMBER

      public static final int TRANSITIONS_FIELD_NUMBER
      See Also:
    • HAS_TRAFFIC_INFEASIBILITIES_FIELD_NUMBER

      public static final int HAS_TRAFFIC_INFEASIBILITIES_FIELD_NUMBER
      See Also:
    • ROUTE_POLYLINE_FIELD_NUMBER

      public static final int ROUTE_POLYLINE_FIELD_NUMBER
      See Also:
    • BREAKS_FIELD_NUMBER

      public static final int BREAKS_FIELD_NUMBER
      See Also:
    • METRICS_FIELD_NUMBER

      public static final int METRICS_FIELD_NUMBER
      See Also:
    • ROUTE_COSTS_FIELD_NUMBER

      public static final int ROUTE_COSTS_FIELD_NUMBER
      See Also:
    • ROUTE_TOTAL_COST_FIELD_NUMBER

      public static final int ROUTE_TOTAL_COST_FIELD_NUMBER
      See Also:
    • END_LOADS_FIELD_NUMBER

      public static final int END_LOADS_FIELD_NUMBER
      See Also:
    • TRAVEL_STEPS_FIELD_NUMBER

      public static final int TRAVEL_STEPS_FIELD_NUMBER
      See Also:
    • VEHICLE_DETOUR_FIELD_NUMBER

      public static final int VEHICLE_DETOUR_FIELD_NUMBER
      See Also:
    • DELAY_BEFORE_VEHICLE_END_FIELD_NUMBER

      public static final int DELAY_BEFORE_VEHICLE_END_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetMapFieldReflection

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
      Overrides:
      internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getVehicleIndex

      public int getVehicleIndex()
       Vehicle performing the route, identified by its index in the source
       `ShipmentModel`.
       
      int32 vehicle_index = 1;
      Specified by:
      getVehicleIndex in interface ShipmentRouteOrBuilder
      Returns:
      The vehicleIndex.
    • getVehicleLabel

      public String getVehicleLabel()
       Label of the vehicle performing this route, equal to
       `ShipmentModel.vehicles(vehicle_index).label`, if specified.
       
      string vehicle_label = 2;
      Specified by:
      getVehicleLabel in interface ShipmentRouteOrBuilder
      Returns:
      The vehicleLabel.
    • getVehicleLabelBytes

      public com.google.protobuf.ByteString getVehicleLabelBytes()
       Label of the vehicle performing this route, equal to
       `ShipmentModel.vehicles(vehicle_index).label`, if specified.
       
      string vehicle_label = 2;
      Specified by:
      getVehicleLabelBytes in interface ShipmentRouteOrBuilder
      Returns:
      The bytes for vehicleLabel.
    • hasVehicleStartTime

      public boolean hasVehicleStartTime()
       Time at which the vehicle starts its route.
       
      .google.protobuf.Timestamp vehicle_start_time = 5;
      Specified by:
      hasVehicleStartTime in interface ShipmentRouteOrBuilder
      Returns:
      Whether the vehicleStartTime field is set.
    • getVehicleStartTime

      public com.google.protobuf.Timestamp getVehicleStartTime()
       Time at which the vehicle starts its route.
       
      .google.protobuf.Timestamp vehicle_start_time = 5;
      Specified by:
      getVehicleStartTime in interface ShipmentRouteOrBuilder
      Returns:
      The vehicleStartTime.
    • getVehicleStartTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getVehicleStartTimeOrBuilder()
       Time at which the vehicle starts its route.
       
      .google.protobuf.Timestamp vehicle_start_time = 5;
      Specified by:
      getVehicleStartTimeOrBuilder in interface ShipmentRouteOrBuilder
    • hasVehicleEndTime

      public boolean hasVehicleEndTime()
       Time at which the vehicle finishes its route.
       
      .google.protobuf.Timestamp vehicle_end_time = 6;
      Specified by:
      hasVehicleEndTime in interface ShipmentRouteOrBuilder
      Returns:
      Whether the vehicleEndTime field is set.
    • getVehicleEndTime

      public com.google.protobuf.Timestamp getVehicleEndTime()
       Time at which the vehicle finishes its route.
       
      .google.protobuf.Timestamp vehicle_end_time = 6;
      Specified by:
      getVehicleEndTime in interface ShipmentRouteOrBuilder
      Returns:
      The vehicleEndTime.
    • getVehicleEndTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getVehicleEndTimeOrBuilder()
       Time at which the vehicle finishes its route.
       
      .google.protobuf.Timestamp vehicle_end_time = 6;
      Specified by:
      getVehicleEndTimeOrBuilder in interface ShipmentRouteOrBuilder
    • getVisitsList

      public List<ShipmentRoute.Visit> getVisitsList()
       Ordered sequence of visits representing a route.
       visits[i] is the i-th visit in the route.
       If this field is empty, the vehicle is considered as unused.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Visit visits = 7;
      Specified by:
      getVisitsList in interface ShipmentRouteOrBuilder
    • getVisitsOrBuilderList

      public List<? extends ShipmentRoute.VisitOrBuilder> getVisitsOrBuilderList()
       Ordered sequence of visits representing a route.
       visits[i] is the i-th visit in the route.
       If this field is empty, the vehicle is considered as unused.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Visit visits = 7;
      Specified by:
      getVisitsOrBuilderList in interface ShipmentRouteOrBuilder
    • getVisitsCount

      public int getVisitsCount()
       Ordered sequence of visits representing a route.
       visits[i] is the i-th visit in the route.
       If this field is empty, the vehicle is considered as unused.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Visit visits = 7;
      Specified by:
      getVisitsCount in interface ShipmentRouteOrBuilder
    • getVisits

      public ShipmentRoute.Visit getVisits(int index)
       Ordered sequence of visits representing a route.
       visits[i] is the i-th visit in the route.
       If this field is empty, the vehicle is considered as unused.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Visit visits = 7;
      Specified by:
      getVisits in interface ShipmentRouteOrBuilder
    • getVisitsOrBuilder

      public ShipmentRoute.VisitOrBuilder getVisitsOrBuilder(int index)
       Ordered sequence of visits representing a route.
       visits[i] is the i-th visit in the route.
       If this field is empty, the vehicle is considered as unused.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Visit visits = 7;
      Specified by:
      getVisitsOrBuilder in interface ShipmentRouteOrBuilder
    • getTransitionsList

      public List<ShipmentRoute.Transition> getTransitionsList()
       Ordered list of transitions for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Transition transitions = 8;
      Specified by:
      getTransitionsList in interface ShipmentRouteOrBuilder
    • getTransitionsOrBuilderList

      public List<? extends ShipmentRoute.TransitionOrBuilder> getTransitionsOrBuilderList()
       Ordered list of transitions for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Transition transitions = 8;
      Specified by:
      getTransitionsOrBuilderList in interface ShipmentRouteOrBuilder
    • getTransitionsCount

      public int getTransitionsCount()
       Ordered list of transitions for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Transition transitions = 8;
      Specified by:
      getTransitionsCount in interface ShipmentRouteOrBuilder
    • getTransitions

      public ShipmentRoute.Transition getTransitions(int index)
       Ordered list of transitions for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Transition transitions = 8;
      Specified by:
      getTransitions in interface ShipmentRouteOrBuilder
    • getTransitionsOrBuilder

      public ShipmentRoute.TransitionOrBuilder getTransitionsOrBuilder(int index)
       Ordered list of transitions for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Transition transitions = 8;
      Specified by:
      getTransitionsOrBuilder in interface ShipmentRouteOrBuilder
    • getHasTrafficInfeasibilities

      public boolean getHasTrafficInfeasibilities()
       When
       [OptimizeToursRequest.consider_road_traffic][google.cloud.optimization.v1.OptimizeToursRequest.consider_road_traffic],
       is set to true, this field indicates that inconsistencies in route timings
       are predicted using traffic-based travel duration estimates. There may be
       insufficient time to complete traffic-adjusted travel, delays, and breaks
       between visits, before the first visit, or after the last visit, while
       still satisfying the visit and vehicle time windows. For example,
      
       ```
       start_time(previous_visit) + duration(previous_visit) +
       travel_duration(previous_visit, next_visit) > start_time(next_visit)
       ```
      
       Arrival at next_visit will likely happen later than its current
       time window due the increased estimate of travel time
       `travel_duration(previous_visit, next_visit)` due to traffic. Also, a break
       may be forced to overlap with a visit due to an increase in travel time
       estimates and visit or break time window restrictions.
       
      bool has_traffic_infeasibilities = 9;
      Specified by:
      getHasTrafficInfeasibilities in interface ShipmentRouteOrBuilder
      Returns:
      The hasTrafficInfeasibilities.
    • hasRoutePolyline

      public boolean hasRoutePolyline()
       The encoded polyline representation of the route.
       This field is only populated if
       [OptimizeToursRequest.populate_polylines][google.cloud.optimization.v1.OptimizeToursRequest.populate_polylines]
       is set to true.
       
      .google.cloud.optimization.v1.ShipmentRoute.EncodedPolyline route_polyline = 10;
      Specified by:
      hasRoutePolyline in interface ShipmentRouteOrBuilder
      Returns:
      Whether the routePolyline field is set.
    • getRoutePolyline

      public ShipmentRoute.EncodedPolyline getRoutePolyline()
       The encoded polyline representation of the route.
       This field is only populated if
       [OptimizeToursRequest.populate_polylines][google.cloud.optimization.v1.OptimizeToursRequest.populate_polylines]
       is set to true.
       
      .google.cloud.optimization.v1.ShipmentRoute.EncodedPolyline route_polyline = 10;
      Specified by:
      getRoutePolyline in interface ShipmentRouteOrBuilder
      Returns:
      The routePolyline.
    • getRoutePolylineOrBuilder

      public ShipmentRoute.EncodedPolylineOrBuilder getRoutePolylineOrBuilder()
       The encoded polyline representation of the route.
       This field is only populated if
       [OptimizeToursRequest.populate_polylines][google.cloud.optimization.v1.OptimizeToursRequest.populate_polylines]
       is set to true.
       
      .google.cloud.optimization.v1.ShipmentRoute.EncodedPolyline route_polyline = 10;
      Specified by:
      getRoutePolylineOrBuilder in interface ShipmentRouteOrBuilder
    • getBreaksList

      public List<ShipmentRoute.Break> getBreaksList()
       Breaks scheduled for the vehicle performing this route.
       The `breaks` sequence represents time intervals, each starting at the
       corresponding `start_time` and lasting `duration` seconds.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Break breaks = 11;
      Specified by:
      getBreaksList in interface ShipmentRouteOrBuilder
    • getBreaksOrBuilderList

      public List<? extends ShipmentRoute.BreakOrBuilder> getBreaksOrBuilderList()
       Breaks scheduled for the vehicle performing this route.
       The `breaks` sequence represents time intervals, each starting at the
       corresponding `start_time` and lasting `duration` seconds.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Break breaks = 11;
      Specified by:
      getBreaksOrBuilderList in interface ShipmentRouteOrBuilder
    • getBreaksCount

      public int getBreaksCount()
       Breaks scheduled for the vehicle performing this route.
       The `breaks` sequence represents time intervals, each starting at the
       corresponding `start_time` and lasting `duration` seconds.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Break breaks = 11;
      Specified by:
      getBreaksCount in interface ShipmentRouteOrBuilder
    • getBreaks

      public ShipmentRoute.Break getBreaks(int index)
       Breaks scheduled for the vehicle performing this route.
       The `breaks` sequence represents time intervals, each starting at the
       corresponding `start_time` and lasting `duration` seconds.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Break breaks = 11;
      Specified by:
      getBreaks in interface ShipmentRouteOrBuilder
    • getBreaksOrBuilder

      public ShipmentRoute.BreakOrBuilder getBreaksOrBuilder(int index)
       Breaks scheduled for the vehicle performing this route.
       The `breaks` sequence represents time intervals, each starting at the
       corresponding `start_time` and lasting `duration` seconds.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.Break breaks = 11;
      Specified by:
      getBreaksOrBuilder in interface ShipmentRouteOrBuilder
    • hasMetrics

      public boolean hasMetrics()
       Duration, distance and load metrics for this route. The fields of
       [AggregatedMetrics][google.cloud.optimization.v1.AggregatedMetrics] are
       summed over all
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       or
       [ShipmentRoute.visits][google.cloud.optimization.v1.ShipmentRoute.visits],
       depending on the context.
       
      .google.cloud.optimization.v1.AggregatedMetrics metrics = 12;
      Specified by:
      hasMetrics in interface ShipmentRouteOrBuilder
      Returns:
      Whether the metrics field is set.
    • getMetrics

      public AggregatedMetrics getMetrics()
       Duration, distance and load metrics for this route. The fields of
       [AggregatedMetrics][google.cloud.optimization.v1.AggregatedMetrics] are
       summed over all
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       or
       [ShipmentRoute.visits][google.cloud.optimization.v1.ShipmentRoute.visits],
       depending on the context.
       
      .google.cloud.optimization.v1.AggregatedMetrics metrics = 12;
      Specified by:
      getMetrics in interface ShipmentRouteOrBuilder
      Returns:
      The metrics.
    • getMetricsOrBuilder

      public AggregatedMetricsOrBuilder getMetricsOrBuilder()
       Duration, distance and load metrics for this route. The fields of
       [AggregatedMetrics][google.cloud.optimization.v1.AggregatedMetrics] are
       summed over all
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       or
       [ShipmentRoute.visits][google.cloud.optimization.v1.ShipmentRoute.visits],
       depending on the context.
       
      .google.cloud.optimization.v1.AggregatedMetrics metrics = 12;
      Specified by:
      getMetricsOrBuilder in interface ShipmentRouteOrBuilder
    • getRouteCostsCount

      public int getRouteCostsCount()
      Description copied from interface: ShipmentRouteOrBuilder
       Cost of the route, broken down by cost-related request fields.
       The keys are proto paths, relative to the input OptimizeToursRequest, e.g.
       "model.shipments.pickups.cost", and the values are the total cost
       generated by the corresponding cost field, aggregated over the whole route.
       In other words, costs["model.shipments.pickups.cost"] is the sum of all
       pickup costs over the route. All costs defined in the model are reported in
       detail here with the exception of costs related to TransitionAttributes
       that are only reported in an aggregated way as of 2022/01.
       
      map<string, double> route_costs = 17;
      Specified by:
      getRouteCostsCount in interface ShipmentRouteOrBuilder
    • containsRouteCosts

      public boolean containsRouteCosts(String key)
       Cost of the route, broken down by cost-related request fields.
       The keys are proto paths, relative to the input OptimizeToursRequest, e.g.
       "model.shipments.pickups.cost", and the values are the total cost
       generated by the corresponding cost field, aggregated over the whole route.
       In other words, costs["model.shipments.pickups.cost"] is the sum of all
       pickup costs over the route. All costs defined in the model are reported in
       detail here with the exception of costs related to TransitionAttributes
       that are only reported in an aggregated way as of 2022/01.
       
      map<string, double> route_costs = 17;
      Specified by:
      containsRouteCosts in interface ShipmentRouteOrBuilder
    • getRouteCosts

      @Deprecated public Map<String,Double> getRouteCosts()
      Deprecated.
      Use getRouteCostsMap() instead.
      Specified by:
      getRouteCosts in interface ShipmentRouteOrBuilder
    • getRouteCostsMap

      public Map<String,Double> getRouteCostsMap()
       Cost of the route, broken down by cost-related request fields.
       The keys are proto paths, relative to the input OptimizeToursRequest, e.g.
       "model.shipments.pickups.cost", and the values are the total cost
       generated by the corresponding cost field, aggregated over the whole route.
       In other words, costs["model.shipments.pickups.cost"] is the sum of all
       pickup costs over the route. All costs defined in the model are reported in
       detail here with the exception of costs related to TransitionAttributes
       that are only reported in an aggregated way as of 2022/01.
       
      map<string, double> route_costs = 17;
      Specified by:
      getRouteCostsMap in interface ShipmentRouteOrBuilder
    • getRouteCostsOrDefault

      public double getRouteCostsOrDefault(String key, double defaultValue)
       Cost of the route, broken down by cost-related request fields.
       The keys are proto paths, relative to the input OptimizeToursRequest, e.g.
       "model.shipments.pickups.cost", and the values are the total cost
       generated by the corresponding cost field, aggregated over the whole route.
       In other words, costs["model.shipments.pickups.cost"] is the sum of all
       pickup costs over the route. All costs defined in the model are reported in
       detail here with the exception of costs related to TransitionAttributes
       that are only reported in an aggregated way as of 2022/01.
       
      map<string, double> route_costs = 17;
      Specified by:
      getRouteCostsOrDefault in interface ShipmentRouteOrBuilder
    • getRouteCostsOrThrow

      public double getRouteCostsOrThrow(String key)
       Cost of the route, broken down by cost-related request fields.
       The keys are proto paths, relative to the input OptimizeToursRequest, e.g.
       "model.shipments.pickups.cost", and the values are the total cost
       generated by the corresponding cost field, aggregated over the whole route.
       In other words, costs["model.shipments.pickups.cost"] is the sum of all
       pickup costs over the route. All costs defined in the model are reported in
       detail here with the exception of costs related to TransitionAttributes
       that are only reported in an aggregated way as of 2022/01.
       
      map<string, double> route_costs = 17;
      Specified by:
      getRouteCostsOrThrow in interface ShipmentRouteOrBuilder
    • getRouteTotalCost

      public double getRouteTotalCost()
       Total cost of the route. The sum of all costs in the cost map.
       
      double route_total_cost = 18;
      Specified by:
      getRouteTotalCost in interface ShipmentRouteOrBuilder
      Returns:
      The routeTotalCost.
    • getEndLoadsList

      @Deprecated public List<CapacityQuantity> getEndLoadsList()
      Deprecated.
       Deprecated: Use
       [Transition.vehicle_loads][google.cloud.optimization.v1.ShipmentRoute.Transition.vehicle_loads]
       instead. Vehicle loads upon arrival at its end location, for each type
       specified in
       [Vehicle.capacities][google.cloud.optimization.v1.Vehicle.capacities],
       `start_load_intervals`, `end_load_intervals` or demands. Exception: we omit
       loads for quantity types unconstrained by intervals and that don't have any
       non-zero demand on the route.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity end_loads = 13 [deprecated = true];
      Specified by:
      getEndLoadsList in interface ShipmentRouteOrBuilder
    • getEndLoadsOrBuilderList

      @Deprecated public List<? extends CapacityQuantityOrBuilder> getEndLoadsOrBuilderList()
      Deprecated.
       Deprecated: Use
       [Transition.vehicle_loads][google.cloud.optimization.v1.ShipmentRoute.Transition.vehicle_loads]
       instead. Vehicle loads upon arrival at its end location, for each type
       specified in
       [Vehicle.capacities][google.cloud.optimization.v1.Vehicle.capacities],
       `start_load_intervals`, `end_load_intervals` or demands. Exception: we omit
       loads for quantity types unconstrained by intervals and that don't have any
       non-zero demand on the route.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity end_loads = 13 [deprecated = true];
      Specified by:
      getEndLoadsOrBuilderList in interface ShipmentRouteOrBuilder
    • getEndLoadsCount

      @Deprecated public int getEndLoadsCount()
      Deprecated.
       Deprecated: Use
       [Transition.vehicle_loads][google.cloud.optimization.v1.ShipmentRoute.Transition.vehicle_loads]
       instead. Vehicle loads upon arrival at its end location, for each type
       specified in
       [Vehicle.capacities][google.cloud.optimization.v1.Vehicle.capacities],
       `start_load_intervals`, `end_load_intervals` or demands. Exception: we omit
       loads for quantity types unconstrained by intervals and that don't have any
       non-zero demand on the route.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity end_loads = 13 [deprecated = true];
      Specified by:
      getEndLoadsCount in interface ShipmentRouteOrBuilder
    • getEndLoads

      @Deprecated public CapacityQuantity getEndLoads(int index)
      Deprecated.
       Deprecated: Use
       [Transition.vehicle_loads][google.cloud.optimization.v1.ShipmentRoute.Transition.vehicle_loads]
       instead. Vehicle loads upon arrival at its end location, for each type
       specified in
       [Vehicle.capacities][google.cloud.optimization.v1.Vehicle.capacities],
       `start_load_intervals`, `end_load_intervals` or demands. Exception: we omit
       loads for quantity types unconstrained by intervals and that don't have any
       non-zero demand on the route.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity end_loads = 13 [deprecated = true];
      Specified by:
      getEndLoads in interface ShipmentRouteOrBuilder
    • getEndLoadsOrBuilder

      @Deprecated public CapacityQuantityOrBuilder getEndLoadsOrBuilder(int index)
      Deprecated.
       Deprecated: Use
       [Transition.vehicle_loads][google.cloud.optimization.v1.ShipmentRoute.Transition.vehicle_loads]
       instead. Vehicle loads upon arrival at its end location, for each type
       specified in
       [Vehicle.capacities][google.cloud.optimization.v1.Vehicle.capacities],
       `start_load_intervals`, `end_load_intervals` or demands. Exception: we omit
       loads for quantity types unconstrained by intervals and that don't have any
       non-zero demand on the route.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity end_loads = 13 [deprecated = true];
      Specified by:
      getEndLoadsOrBuilder in interface ShipmentRouteOrBuilder
    • getTravelStepsList

      @Deprecated public List<ShipmentRoute.TravelStep> getTravelStepsList()
      Deprecated.
       Deprecated: Use
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       instead. Ordered list of travel steps for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.TravelStep travel_steps = 14 [deprecated = true];
      Specified by:
      getTravelStepsList in interface ShipmentRouteOrBuilder
    • getTravelStepsOrBuilderList

      @Deprecated public List<? extends ShipmentRoute.TravelStepOrBuilder> getTravelStepsOrBuilderList()
      Deprecated.
       Deprecated: Use
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       instead. Ordered list of travel steps for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.TravelStep travel_steps = 14 [deprecated = true];
      Specified by:
      getTravelStepsOrBuilderList in interface ShipmentRouteOrBuilder
    • getTravelStepsCount

      @Deprecated public int getTravelStepsCount()
      Deprecated.
       Deprecated: Use
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       instead. Ordered list of travel steps for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.TravelStep travel_steps = 14 [deprecated = true];
      Specified by:
      getTravelStepsCount in interface ShipmentRouteOrBuilder
    • getTravelSteps

      @Deprecated public ShipmentRoute.TravelStep getTravelSteps(int index)
      Deprecated.
       Deprecated: Use
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       instead. Ordered list of travel steps for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.TravelStep travel_steps = 14 [deprecated = true];
      Specified by:
      getTravelSteps in interface ShipmentRouteOrBuilder
    • getTravelStepsOrBuilder

      @Deprecated public ShipmentRoute.TravelStepOrBuilder getTravelStepsOrBuilder(int index)
      Deprecated.
       Deprecated: Use
       [ShipmentRoute.transitions][google.cloud.optimization.v1.ShipmentRoute.transitions]
       instead. Ordered list of travel steps for the route.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute.TravelStep travel_steps = 14 [deprecated = true];
      Specified by:
      getTravelStepsOrBuilder in interface ShipmentRouteOrBuilder
    • hasVehicleDetour

      @Deprecated public boolean hasVehicleDetour()
      Deprecated.
      google.cloud.optimization.v1.ShipmentRoute.vehicle_detour is deprecated. See google/cloud/optimization/v1/fleet_routing.proto;l=2215
       Deprecated: No longer used.
       This field will only be populated at the
       [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit]
       level.
      
       This field is the extra detour time due to the shipments visited on the
       route.
      
       It is equal to `vehicle_end_time` - `vehicle_start_time` - travel duration
       from the vehicle's start_location to its `end_location`.
       
      .google.protobuf.Duration vehicle_detour = 15 [deprecated = true];
      Specified by:
      hasVehicleDetour in interface ShipmentRouteOrBuilder
      Returns:
      Whether the vehicleDetour field is set.
    • getVehicleDetour

      @Deprecated public com.google.protobuf.Duration getVehicleDetour()
      Deprecated.
      google.cloud.optimization.v1.ShipmentRoute.vehicle_detour is deprecated. See google/cloud/optimization/v1/fleet_routing.proto;l=2215
       Deprecated: No longer used.
       This field will only be populated at the
       [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit]
       level.
      
       This field is the extra detour time due to the shipments visited on the
       route.
      
       It is equal to `vehicle_end_time` - `vehicle_start_time` - travel duration
       from the vehicle's start_location to its `end_location`.
       
      .google.protobuf.Duration vehicle_detour = 15 [deprecated = true];
      Specified by:
      getVehicleDetour in interface ShipmentRouteOrBuilder
      Returns:
      The vehicleDetour.
    • getVehicleDetourOrBuilder

      @Deprecated public com.google.protobuf.DurationOrBuilder getVehicleDetourOrBuilder()
      Deprecated.
       Deprecated: No longer used.
       This field will only be populated at the
       [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit]
       level.
      
       This field is the extra detour time due to the shipments visited on the
       route.
      
       It is equal to `vehicle_end_time` - `vehicle_start_time` - travel duration
       from the vehicle's start_location to its `end_location`.
       
      .google.protobuf.Duration vehicle_detour = 15 [deprecated = true];
      Specified by:
      getVehicleDetourOrBuilder in interface ShipmentRouteOrBuilder
    • hasDelayBeforeVehicleEnd

      @Deprecated public boolean hasDelayBeforeVehicleEnd()
      Deprecated.
      google.cloud.optimization.v1.ShipmentRoute.delay_before_vehicle_end is deprecated. See google/cloud/optimization/v1/fleet_routing.proto;l=2219
       Deprecated: Delay occurring before the vehicle end. See
       [TransitionAttributes.delay][google.cloud.optimization.v1.TransitionAttributes.delay].
       
      .google.cloud.optimization.v1.ShipmentRoute.Delay delay_before_vehicle_end = 16 [deprecated = true];
      Specified by:
      hasDelayBeforeVehicleEnd in interface ShipmentRouteOrBuilder
      Returns:
      Whether the delayBeforeVehicleEnd field is set.
    • getDelayBeforeVehicleEnd

      @Deprecated public ShipmentRoute.Delay getDelayBeforeVehicleEnd()
      Deprecated.
      google.cloud.optimization.v1.ShipmentRoute.delay_before_vehicle_end is deprecated. See google/cloud/optimization/v1/fleet_routing.proto;l=2219
       Deprecated: Delay occurring before the vehicle end. See
       [TransitionAttributes.delay][google.cloud.optimization.v1.TransitionAttributes.delay].
       
      .google.cloud.optimization.v1.ShipmentRoute.Delay delay_before_vehicle_end = 16 [deprecated = true];
      Specified by:
      getDelayBeforeVehicleEnd in interface ShipmentRouteOrBuilder
      Returns:
      The delayBeforeVehicleEnd.
    • getDelayBeforeVehicleEndOrBuilder

      @Deprecated public ShipmentRoute.DelayOrBuilder getDelayBeforeVehicleEndOrBuilder()
      Deprecated.
       Deprecated: Delay occurring before the vehicle end. See
       [TransitionAttributes.delay][google.cloud.optimization.v1.TransitionAttributes.delay].
       
      .google.cloud.optimization.v1.ShipmentRoute.Delay delay_before_vehicle_end = 16 [deprecated = true];
      Specified by:
      getDelayBeforeVehicleEndOrBuilder in interface ShipmentRouteOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static ShipmentRoute parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentRoute parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentRoute parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentRoute parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentRoute parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentRoute parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentRoute parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ShipmentRoute parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static ShipmentRoute parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static ShipmentRoute parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ShipmentRoute parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ShipmentRoute parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public ShipmentRoute.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static ShipmentRoute.Builder newBuilder()
    • newBuilder

      public static ShipmentRoute.Builder newBuilder(ShipmentRoute prototype)
    • toBuilder

      public ShipmentRoute.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected ShipmentRoute.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static ShipmentRoute getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<ShipmentRoute> parser()
    • getParserForType

      public com.google.protobuf.Parser<ShipmentRoute> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public ShipmentRoute getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder