# Class ShipmentTypeRequirement (1.15.0)

1.15.0 (latest) 1.14.0 1.13.0 1.12.0 1.11.2 1.10.0 1.9.1 1.8.5 1.7.0 1.6.0 1.5.0 1.4.3 1.3.2 1.2.0 1.1.3 1.0.1 0.1.1

    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` | `https://docs.cloud.google.com/python/docs/reference/optimization/latest/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.

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