ShipmentTypeRequirement(mapping=None, *, ignore_unknown_fields=False, **kwargs)
Specifies requirements between shipments based on their shipment_type. The specifics of the requirement are defined by the requirement mode.
Attributes | |
---|---|
Name | Description |
required_shipment_type_alternatives |
MutableSequence[str]
List of alternative shipment types required by the dependent_shipment_types .
|
dependent_shipment_types |
MutableSequence[str]
All shipments with a type in the dependent_shipment_types field require at least one
shipment of type required_shipment_type_alternatives to
be visited on the same route.
NOTE: Chains of requirements such that a shipment_type
depends on itself are not allowed.
|
requirement_mode |
google.cloud.optimization_v1.types.ShipmentTypeRequirement.RequirementMode
Mode applied to the requirement. |
Classes
RequirementMode
RequirementMode(value)
Modes defining the appearance of dependent shipments on a route.
Values:
REQUIREMENT_MODE_UNSPECIFIED (0):
Unspecified requirement mode. This value
should never be used.
PERFORMED_BY_SAME_VEHICLE (1):
In this mode, all "dependent" shipments must
share the same vehicle as at least one of their
"required" shipments.
IN_SAME_VEHICLE_AT_PICKUP_TIME (2):
With the IN_SAME_VEHICLE_AT_PICKUP_TIME
mode, all
"dependent" shipments need to have at least one "required"
shipment on their vehicle at the time of their pickup.
A "dependent" shipment pickup must therefore have either:
- A delivery-only "required" shipment delivered on the
route after, or
- A "required" shipment picked up on the route before it,
and if the "required" shipment has a delivery, this
delivery must be performed after the "dependent"
shipment's pickup.
IN_SAME_VEHICLE_AT_DELIVERY_TIME (3):
Same as before, except the "dependent" shipments need to
have a "required" shipment on their vehicle at the time of
their *delivery*.