Class Shipment

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

    public final class Shipment
    extends com.google.protobuf.GeneratedMessageV3
    implements ShipmentOrBuilder
     The shipment of a single item, from one of its pickups to one of its
     deliveries. For the shipment to be considered as performed, a unique vehicle
     must visit one of its pickup locations (and decrease its spare capacities
     accordingly), then visit one of its delivery locations later on (and
     therefore re-increase its spare capacities accordingly).
     
    Protobuf type google.cloud.optimization.v1.Shipment
    See Also:
    Serialized Form
    • Field Detail

      • DELIVERIES_FIELD_NUMBER

        public static final int DELIVERIES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LOAD_DEMANDS_FIELD_NUMBER

        public static final int LOAD_DEMANDS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PENALTY_COST_FIELD_NUMBER

        public static final int PENALTY_COST_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ALLOWED_VEHICLE_INDICES_FIELD_NUMBER

        public static final int ALLOWED_VEHICLE_INDICES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COSTS_PER_VEHICLE_FIELD_NUMBER

        public static final int COSTS_PER_VEHICLE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COSTS_PER_VEHICLE_INDICES_FIELD_NUMBER

        public static final int COSTS_PER_VEHICLE_INDICES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PICKUP_TO_DELIVERY_RELATIVE_DETOUR_LIMIT_FIELD_NUMBER

        public static final int PICKUP_TO_DELIVERY_RELATIVE_DETOUR_LIMIT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PICKUP_TO_DELIVERY_ABSOLUTE_DETOUR_LIMIT_FIELD_NUMBER

        public static final int PICKUP_TO_DELIVERY_ABSOLUTE_DETOUR_LIMIT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PICKUP_TO_DELIVERY_TIME_LIMIT_FIELD_NUMBER

        public static final int PICKUP_TO_DELIVERY_TIME_LIMIT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SHIPMENT_TYPE_FIELD_NUMBER

        public static final int SHIPMENT_TYPE_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
      • getPickupsList

        public List<Shipment.VisitRequest> getPickupsList()
         Set of pickup alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the deliveries.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
        Specified by:
        getPickupsList in interface ShipmentOrBuilder
      • getPickupsOrBuilderList

        public List<? extends Shipment.VisitRequestOrBuilder> getPickupsOrBuilderList()
         Set of pickup alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the deliveries.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
        Specified by:
        getPickupsOrBuilderList in interface ShipmentOrBuilder
      • getPickupsCount

        public int getPickupsCount()
         Set of pickup alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the deliveries.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
        Specified by:
        getPickupsCount in interface ShipmentOrBuilder
      • getPickups

        public Shipment.VisitRequest getPickups​(int index)
         Set of pickup alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the deliveries.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
        Specified by:
        getPickups in interface ShipmentOrBuilder
      • getPickupsOrBuilder

        public Shipment.VisitRequestOrBuilder getPickupsOrBuilder​(int index)
         Set of pickup alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the deliveries.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
        Specified by:
        getPickupsOrBuilder in interface ShipmentOrBuilder
      • getDeliveriesList

        public List<Shipment.VisitRequest> getDeliveriesList()
         Set of delivery alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the pickups.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
        Specified by:
        getDeliveriesList in interface ShipmentOrBuilder
      • getDeliveriesOrBuilderList

        public List<? extends Shipment.VisitRequestOrBuilder> getDeliveriesOrBuilderList()
         Set of delivery alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the pickups.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
        Specified by:
        getDeliveriesOrBuilderList in interface ShipmentOrBuilder
      • getDeliveriesCount

        public int getDeliveriesCount()
         Set of delivery alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the pickups.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
        Specified by:
        getDeliveriesCount in interface ShipmentOrBuilder
      • getDeliveries

        public Shipment.VisitRequest getDeliveries​(int index)
         Set of delivery alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the pickups.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
        Specified by:
        getDeliveries in interface ShipmentOrBuilder
      • getDeliveriesOrBuilder

        public Shipment.VisitRequestOrBuilder getDeliveriesOrBuilder​(int index)
         Set of delivery alternatives associated to the shipment. If not specified,
         the vehicle only needs to visit a location corresponding to the pickups.
         
        repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
        Specified by:
        getDeliveriesOrBuilder in interface ShipmentOrBuilder
      • getLoadDemandsCount

        public int getLoadDemandsCount()
        Description copied from interface: ShipmentOrBuilder
         Load demands of the shipment (for example weight, volume, number of
         pallets etc). The keys in the map should be identifiers describing the type
         of the corresponding load, ideally also including the units.
         For example: "weight_kg", "volume_gallons", "pallet_count", etc.
         If a given key does not appear in the map, the corresponding load is
         considered as null.
         
        map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
        Specified by:
        getLoadDemandsCount in interface ShipmentOrBuilder
      • containsLoadDemands

        public boolean containsLoadDemands​(String key)
         Load demands of the shipment (for example weight, volume, number of
         pallets etc). The keys in the map should be identifiers describing the type
         of the corresponding load, ideally also including the units.
         For example: "weight_kg", "volume_gallons", "pallet_count", etc.
         If a given key does not appear in the map, the corresponding load is
         considered as null.
         
        map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
        Specified by:
        containsLoadDemands in interface ShipmentOrBuilder
      • getLoadDemandsMap

        public Map<String,​Shipment.Load> getLoadDemandsMap()
         Load demands of the shipment (for example weight, volume, number of
         pallets etc). The keys in the map should be identifiers describing the type
         of the corresponding load, ideally also including the units.
         For example: "weight_kg", "volume_gallons", "pallet_count", etc.
         If a given key does not appear in the map, the corresponding load is
         considered as null.
         
        map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
        Specified by:
        getLoadDemandsMap in interface ShipmentOrBuilder
      • getLoadDemandsOrDefault

        public Shipment.Load getLoadDemandsOrDefault​(String key,
                                                     Shipment.Load defaultValue)
         Load demands of the shipment (for example weight, volume, number of
         pallets etc). The keys in the map should be identifiers describing the type
         of the corresponding load, ideally also including the units.
         For example: "weight_kg", "volume_gallons", "pallet_count", etc.
         If a given key does not appear in the map, the corresponding load is
         considered as null.
         
        map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
        Specified by:
        getLoadDemandsOrDefault in interface ShipmentOrBuilder
      • getLoadDemandsOrThrow

        public Shipment.Load getLoadDemandsOrThrow​(String key)
         Load demands of the shipment (for example weight, volume, number of
         pallets etc). The keys in the map should be identifiers describing the type
         of the corresponding load, ideally also including the units.
         For example: "weight_kg", "volume_gallons", "pallet_count", etc.
         If a given key does not appear in the map, the corresponding load is
         considered as null.
         
        map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
        Specified by:
        getLoadDemandsOrThrow in interface ShipmentOrBuilder
      • hasPenaltyCost

        public boolean hasPenaltyCost()
         If the shipment is not completed, this penalty is added to the overall
         cost of the routes. A shipment is considered completed if one of its pickup
         and delivery alternatives is visited. The cost may be expressed in the
         same unit used for all other cost-related fields in the model and must be
         positive.
        
         *IMPORTANT*: If this penalty is not specified, it is considered infinite,
         i.e. the shipment must be completed.
         
        optional double penalty_cost = 4;
        Specified by:
        hasPenaltyCost in interface ShipmentOrBuilder
        Returns:
        Whether the penaltyCost field is set.
      • getPenaltyCost

        public double getPenaltyCost()
         If the shipment is not completed, this penalty is added to the overall
         cost of the routes. A shipment is considered completed if one of its pickup
         and delivery alternatives is visited. The cost may be expressed in the
         same unit used for all other cost-related fields in the model and must be
         positive.
        
         *IMPORTANT*: If this penalty is not specified, it is considered infinite,
         i.e. the shipment must be completed.
         
        optional double penalty_cost = 4;
        Specified by:
        getPenaltyCost in interface ShipmentOrBuilder
        Returns:
        The penaltyCost.
      • getAllowedVehicleIndicesList

        public List<Integer> getAllowedVehicleIndicesList()
         The set of vehicles that may perform this shipment. If empty, all vehicles
         may perform it. Vehicles are given by their index in the `ShipmentModel`'s
         `vehicles` list.
         
        repeated int32 allowed_vehicle_indices = 5;
        Specified by:
        getAllowedVehicleIndicesList in interface ShipmentOrBuilder
        Returns:
        A list containing the allowedVehicleIndices.
      • getAllowedVehicleIndicesCount

        public int getAllowedVehicleIndicesCount()
         The set of vehicles that may perform this shipment. If empty, all vehicles
         may perform it. Vehicles are given by their index in the `ShipmentModel`'s
         `vehicles` list.
         
        repeated int32 allowed_vehicle_indices = 5;
        Specified by:
        getAllowedVehicleIndicesCount in interface ShipmentOrBuilder
        Returns:
        The count of allowedVehicleIndices.
      • getAllowedVehicleIndices

        public int getAllowedVehicleIndices​(int index)
         The set of vehicles that may perform this shipment. If empty, all vehicles
         may perform it. Vehicles are given by their index in the `ShipmentModel`'s
         `vehicles` list.
         
        repeated int32 allowed_vehicle_indices = 5;
        Specified by:
        getAllowedVehicleIndices in interface ShipmentOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The allowedVehicleIndices at the given index.
      • getCostsPerVehicleList

        public List<Double> getCostsPerVehicleList()
         Specifies the cost that is incurred when this shipment is delivered by each
         vehicle. If specified, it must have EITHER:
        
           * the same number of elements as `costs_per_vehicle_indices`.
             `costs_per_vehicle[i]` corresponds to vehicle
             `costs_per_vehicle_indices[i]` of the model.
           * the same number of elements as there are vehicles in the model. The
             i-th element corresponds to vehicle #i of the model.
        
         These costs must be in the same unit as `penalty_cost` and must not be
         negative. Leave this field empty, if there are no such costs.
         
        repeated double costs_per_vehicle = 6;
        Specified by:
        getCostsPerVehicleList in interface ShipmentOrBuilder
        Returns:
        A list containing the costsPerVehicle.
      • getCostsPerVehicleCount

        public int getCostsPerVehicleCount()
         Specifies the cost that is incurred when this shipment is delivered by each
         vehicle. If specified, it must have EITHER:
        
           * the same number of elements as `costs_per_vehicle_indices`.
             `costs_per_vehicle[i]` corresponds to vehicle
             `costs_per_vehicle_indices[i]` of the model.
           * the same number of elements as there are vehicles in the model. The
             i-th element corresponds to vehicle #i of the model.
        
         These costs must be in the same unit as `penalty_cost` and must not be
         negative. Leave this field empty, if there are no such costs.
         
        repeated double costs_per_vehicle = 6;
        Specified by:
        getCostsPerVehicleCount in interface ShipmentOrBuilder
        Returns:
        The count of costsPerVehicle.
      • getCostsPerVehicle

        public double getCostsPerVehicle​(int index)
         Specifies the cost that is incurred when this shipment is delivered by each
         vehicle. If specified, it must have EITHER:
        
           * the same number of elements as `costs_per_vehicle_indices`.
             `costs_per_vehicle[i]` corresponds to vehicle
             `costs_per_vehicle_indices[i]` of the model.
           * the same number of elements as there are vehicles in the model. The
             i-th element corresponds to vehicle #i of the model.
        
         These costs must be in the same unit as `penalty_cost` and must not be
         negative. Leave this field empty, if there are no such costs.
         
        repeated double costs_per_vehicle = 6;
        Specified by:
        getCostsPerVehicle in interface ShipmentOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The costsPerVehicle at the given index.
      • getCostsPerVehicleIndicesList

        public List<Integer> getCostsPerVehicleIndicesList()
         Indices of the vehicles to which `costs_per_vehicle` applies. If non-empty,
         it must have the same number of elements as `costs_per_vehicle`. A vehicle
         index may not be specified more than once. If a vehicle is excluded from
         `costs_per_vehicle_indices`, its cost is zero.
         
        repeated int32 costs_per_vehicle_indices = 7;
        Specified by:
        getCostsPerVehicleIndicesList in interface ShipmentOrBuilder
        Returns:
        A list containing the costsPerVehicleIndices.
      • getCostsPerVehicleIndicesCount

        public int getCostsPerVehicleIndicesCount()
         Indices of the vehicles to which `costs_per_vehicle` applies. If non-empty,
         it must have the same number of elements as `costs_per_vehicle`. A vehicle
         index may not be specified more than once. If a vehicle is excluded from
         `costs_per_vehicle_indices`, its cost is zero.
         
        repeated int32 costs_per_vehicle_indices = 7;
        Specified by:
        getCostsPerVehicleIndicesCount in interface ShipmentOrBuilder
        Returns:
        The count of costsPerVehicleIndices.
      • getCostsPerVehicleIndices

        public int getCostsPerVehicleIndices​(int index)
         Indices of the vehicles to which `costs_per_vehicle` applies. If non-empty,
         it must have the same number of elements as `costs_per_vehicle`. A vehicle
         index may not be specified more than once. If a vehicle is excluded from
         `costs_per_vehicle_indices`, its cost is zero.
         
        repeated int32 costs_per_vehicle_indices = 7;
        Specified by:
        getCostsPerVehicleIndices in interface ShipmentOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The costsPerVehicleIndices at the given index.
      • hasPickupToDeliveryRelativeDetourLimit

        public boolean hasPickupToDeliveryRelativeDetourLimit()
         Specifies the maximum relative detour time compared to the shortest path
         from pickup to delivery. If specified, it must be nonnegative, and the
         shipment must contain at least a pickup and a delivery.
        
         For example, let t be the shortest time taken to go from the selected
         pickup alternative directly to the selected delivery alternative. Then
         setting `pickup_to_delivery_relative_detour_limit` enforces:
        
         ```
         start_time(delivery) - start_time(pickup) <=
         std::ceil(t * (1.0 + pickup_to_delivery_relative_detour_limit))
         ```
        
         If both relative and absolute limits are specified on the same shipment,
         the more constraining limit is used for each possible pickup/delivery pair.
         As of 2017/10, detours are only supported when travel durations do not
         depend on vehicles.
         
        optional double pickup_to_delivery_relative_detour_limit = 8;
        Specified by:
        hasPickupToDeliveryRelativeDetourLimit in interface ShipmentOrBuilder
        Returns:
        Whether the pickupToDeliveryRelativeDetourLimit field is set.
      • getPickupToDeliveryRelativeDetourLimit

        public double getPickupToDeliveryRelativeDetourLimit()
         Specifies the maximum relative detour time compared to the shortest path
         from pickup to delivery. If specified, it must be nonnegative, and the
         shipment must contain at least a pickup and a delivery.
        
         For example, let t be the shortest time taken to go from the selected
         pickup alternative directly to the selected delivery alternative. Then
         setting `pickup_to_delivery_relative_detour_limit` enforces:
        
         ```
         start_time(delivery) - start_time(pickup) <=
         std::ceil(t * (1.0 + pickup_to_delivery_relative_detour_limit))
         ```
        
         If both relative and absolute limits are specified on the same shipment,
         the more constraining limit is used for each possible pickup/delivery pair.
         As of 2017/10, detours are only supported when travel durations do not
         depend on vehicles.
         
        optional double pickup_to_delivery_relative_detour_limit = 8;
        Specified by:
        getPickupToDeliveryRelativeDetourLimit in interface ShipmentOrBuilder
        Returns:
        The pickupToDeliveryRelativeDetourLimit.
      • hasPickupToDeliveryAbsoluteDetourLimit

        public boolean hasPickupToDeliveryAbsoluteDetourLimit()
         Specifies the maximum absolute detour time compared to the shortest path
         from pickup to delivery. If specified, it must be nonnegative, and the
         shipment must contain at least a pickup and a delivery.
        
         For example, let t be the shortest time taken to go from the selected
         pickup alternative directly to the selected delivery alternative. Then
         setting `pickup_to_delivery_absolute_detour_limit` enforces:
        
         ```
         start_time(delivery) - start_time(pickup) <=
         t + pickup_to_delivery_absolute_detour_limit
         ```
        
         If both relative and absolute limits are specified on the same shipment,
         the more constraining limit is used for each possible pickup/delivery pair.
         As of 2017/10, detours are only supported when travel durations do not
         depend on vehicles.
         
        .google.protobuf.Duration pickup_to_delivery_absolute_detour_limit = 9;
        Specified by:
        hasPickupToDeliveryAbsoluteDetourLimit in interface ShipmentOrBuilder
        Returns:
        Whether the pickupToDeliveryAbsoluteDetourLimit field is set.
      • getPickupToDeliveryAbsoluteDetourLimit

        public com.google.protobuf.Duration getPickupToDeliveryAbsoluteDetourLimit()
         Specifies the maximum absolute detour time compared to the shortest path
         from pickup to delivery. If specified, it must be nonnegative, and the
         shipment must contain at least a pickup and a delivery.
        
         For example, let t be the shortest time taken to go from the selected
         pickup alternative directly to the selected delivery alternative. Then
         setting `pickup_to_delivery_absolute_detour_limit` enforces:
        
         ```
         start_time(delivery) - start_time(pickup) <=
         t + pickup_to_delivery_absolute_detour_limit
         ```
        
         If both relative and absolute limits are specified on the same shipment,
         the more constraining limit is used for each possible pickup/delivery pair.
         As of 2017/10, detours are only supported when travel durations do not
         depend on vehicles.
         
        .google.protobuf.Duration pickup_to_delivery_absolute_detour_limit = 9;
        Specified by:
        getPickupToDeliveryAbsoluteDetourLimit in interface ShipmentOrBuilder
        Returns:
        The pickupToDeliveryAbsoluteDetourLimit.
      • getPickupToDeliveryAbsoluteDetourLimitOrBuilder

        public com.google.protobuf.DurationOrBuilder getPickupToDeliveryAbsoluteDetourLimitOrBuilder()
         Specifies the maximum absolute detour time compared to the shortest path
         from pickup to delivery. If specified, it must be nonnegative, and the
         shipment must contain at least a pickup and a delivery.
        
         For example, let t be the shortest time taken to go from the selected
         pickup alternative directly to the selected delivery alternative. Then
         setting `pickup_to_delivery_absolute_detour_limit` enforces:
        
         ```
         start_time(delivery) - start_time(pickup) <=
         t + pickup_to_delivery_absolute_detour_limit
         ```
        
         If both relative and absolute limits are specified on the same shipment,
         the more constraining limit is used for each possible pickup/delivery pair.
         As of 2017/10, detours are only supported when travel durations do not
         depend on vehicles.
         
        .google.protobuf.Duration pickup_to_delivery_absolute_detour_limit = 9;
        Specified by:
        getPickupToDeliveryAbsoluteDetourLimitOrBuilder in interface ShipmentOrBuilder
      • hasPickupToDeliveryTimeLimit

        public boolean hasPickupToDeliveryTimeLimit()
         Specifies the maximum duration from start of pickup to start of delivery of
         a shipment. If specified, it must be nonnegative, and the shipment must
         contain at least a pickup and a delivery. This does not depend on which
         alternatives are selected for pickup and delivery, nor on vehicle speed.
         This can be specified alongside maximum detour constraints: the solution
         will respect both specifications.
         
        .google.protobuf.Duration pickup_to_delivery_time_limit = 10;
        Specified by:
        hasPickupToDeliveryTimeLimit in interface ShipmentOrBuilder
        Returns:
        Whether the pickupToDeliveryTimeLimit field is set.
      • getPickupToDeliveryTimeLimit

        public com.google.protobuf.Duration getPickupToDeliveryTimeLimit()
         Specifies the maximum duration from start of pickup to start of delivery of
         a shipment. If specified, it must be nonnegative, and the shipment must
         contain at least a pickup and a delivery. This does not depend on which
         alternatives are selected for pickup and delivery, nor on vehicle speed.
         This can be specified alongside maximum detour constraints: the solution
         will respect both specifications.
         
        .google.protobuf.Duration pickup_to_delivery_time_limit = 10;
        Specified by:
        getPickupToDeliveryTimeLimit in interface ShipmentOrBuilder
        Returns:
        The pickupToDeliveryTimeLimit.
      • getPickupToDeliveryTimeLimitOrBuilder

        public com.google.protobuf.DurationOrBuilder getPickupToDeliveryTimeLimitOrBuilder()
         Specifies the maximum duration from start of pickup to start of delivery of
         a shipment. If specified, it must be nonnegative, and the shipment must
         contain at least a pickup and a delivery. This does not depend on which
         alternatives are selected for pickup and delivery, nor on vehicle speed.
         This can be specified alongside maximum detour constraints: the solution
         will respect both specifications.
         
        .google.protobuf.Duration pickup_to_delivery_time_limit = 10;
        Specified by:
        getPickupToDeliveryTimeLimitOrBuilder in interface ShipmentOrBuilder
      • getShipmentType

        public String getShipmentType()
         Non-empty string specifying a "type" for this shipment.
         This feature can be used to define incompatibilities or requirements
         between `shipment_types` (see `shipment_type_incompatibilities` and
         `shipment_type_requirements` in `ShipmentModel`).
        
         Differs from `visit_types` which is specified for a single visit: All
         pickup/deliveries belonging to the same shipment share the same
         `shipment_type`.
         
        string shipment_type = 11;
        Specified by:
        getShipmentType in interface ShipmentOrBuilder
        Returns:
        The shipmentType.
      • getShipmentTypeBytes

        public com.google.protobuf.ByteString getShipmentTypeBytes()
         Non-empty string specifying a "type" for this shipment.
         This feature can be used to define incompatibilities or requirements
         between `shipment_types` (see `shipment_type_incompatibilities` and
         `shipment_type_requirements` in `ShipmentModel`).
        
         Differs from `visit_types` which is specified for a single visit: All
         pickup/deliveries belonging to the same shipment share the same
         `shipment_type`.
         
        string shipment_type = 11;
        Specified by:
        getShipmentTypeBytes in interface ShipmentOrBuilder
        Returns:
        The bytes for shipmentType.
      • getLabel

        public String getLabel()
         Specifies a label for this shipment. This label is reported in the response
         in the `shipment_label` of the corresponding
         [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit].
         
        string label = 12;
        Specified by:
        getLabel in interface ShipmentOrBuilder
        Returns:
        The label.
      • getLabelBytes

        public com.google.protobuf.ByteString getLabelBytes()
         Specifies a label for this shipment. This label is reported in the response
         in the `shipment_label` of the corresponding
         [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit].
         
        string label = 12;
        Specified by:
        getLabelBytes in interface ShipmentOrBuilder
        Returns:
        The bytes for label.
      • getIgnore

        public boolean getIgnore()
         If true, skip this shipment, but don't apply a `penalty_cost`.
        
         Ignoring a shipment results in a validation error when there are any
         `shipment_type_requirements` in the model.
        
         Ignoring a shipment that is performed in `injected_first_solution_routes`
         or `injected_solution_constraint` is permitted; the solver removes the
         related pickup/delivery visits from the performing route.
         `precedence_rules` that reference ignored shipments will also be ignored.
         
        bool ignore = 13;
        Specified by:
        getIgnore in interface ShipmentOrBuilder
        Returns:
        The ignore.
      • getDemandsList

        @Deprecated
        public List<CapacityQuantity> getDemandsList()
        Deprecated.
         Deprecated: Use
         [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
         instead.
         
        repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
        Specified by:
        getDemandsList in interface ShipmentOrBuilder
      • getDemandsCount

        @Deprecated
        public int getDemandsCount()
        Deprecated.
         Deprecated: Use
         [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
         instead.
         
        repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
        Specified by:
        getDemandsCount in interface ShipmentOrBuilder
      • getDemands

        @Deprecated
        public CapacityQuantity getDemands​(int index)
        Deprecated.
         Deprecated: Use
         [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
         instead.
         
        repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
        Specified by:
        getDemands in interface ShipmentOrBuilder
      • getDemandsOrBuilder

        @Deprecated
        public CapacityQuantityOrBuilder getDemandsOrBuilder​(int index)
        Deprecated.
         Deprecated: Use
         [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
         instead.
         
        repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
        Specified by:
        getDemandsOrBuilder in interface ShipmentOrBuilder
      • 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 Shipment parseFrom​(ByteBuffer data)
                                  throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

        protected Shipment.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Shipment getDefaultInstance()
      • parser

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

        public com.google.protobuf.Parser<Shipment> 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 Shipment getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder