Class ShipmentRoute

  • All Implemented Interfaces:
    ShipmentRouteOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class ShipmentRoute
    extends com.google.protobuf.GeneratedMessageV3
    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:
    Serialized Form
    • Field Detail

      • VEHICLE_INDEX_FIELD_NUMBER

        public static final int VEHICLE_INDEX_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VEHICLE_LABEL_FIELD_NUMBER

        public static final int VEHICLE_LABEL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VEHICLE_START_TIME_FIELD_NUMBER

        public static final int VEHICLE_START_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VEHICLE_END_TIME_FIELD_NUMBER

        public static final int VEHICLE_END_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRANSITIONS_FIELD_NUMBER

        public static final int TRANSITIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HAS_TRAFFIC_INFEASIBILITIES_FIELD_NUMBER

        public static final int HAS_TRAFFIC_INFEASIBILITIES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ROUTE_POLYLINE_FIELD_NUMBER

        public static final int ROUTE_POLYLINE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ROUTE_COSTS_FIELD_NUMBER

        public static final int ROUTE_COSTS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ROUTE_TOTAL_COST_FIELD_NUMBER

        public static final int ROUTE_TOTAL_COST_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRAVEL_STEPS_FIELD_NUMBER

        public static final int TRAVEL_STEPS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • VEHICLE_DETOUR_FIELD_NUMBER

        public static final int VEHICLE_DETOUR_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DELAY_BEFORE_VEHICLE_END_FIELD_NUMBER

        public static final int DELAY_BEFORE_VEHICLE_END_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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
      • 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
      • 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
      • 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
      • 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=2185
         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=2185
         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=2189
         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=2189
         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.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • 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​(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
      • 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.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
      • getDefaultInstanceForType

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