# Class DurationLimit (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

    DurationLimit(mapping=None, *, ignore_unknown_fields=False, **kwargs)

A limit defining a maximum duration of the route of a
vehicle. It can be either hard or soft.

When a soft limit field is defined, both the soft max threshold
and its associated cost must be defined together.

.. _oneof: <https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields>

| ## Attributes ||
|---|---|
| **Name** | **Description** |
| `max_duration` | `google.protobuf.duration_pb2.Duration` A hard limit constraining the duration to be at most max_duration. |
| `soft_max_duration` | `google.protobuf.duration_pb2.Duration` A soft limit not enforcing a maximum duration limit, but when violated makes the route incur a cost. This cost adds up to other costs defined in the model, with the same unit. If defined, `soft_max_duration` must be nonnegative. If max_duration is also defined, `soft_max_duration` must be less than max_duration. |
| `cost_per_hour_after_soft_max` | `float` Cost per hour incurred if the `soft_max_duration` threshold is violated. The additional cost is 0 if the duration is under the threshold, otherwise the cost depends on the duration as follows: :: cost_per_hour_after_soft_max \* (duration - soft_max_duration) The cost must be nonnegative. This field is a member of `oneof`_ `_cost_per_hour_after_soft_max`. |
| `quadratic_soft_max_duration` | `google.protobuf.duration_pb2.Duration` A soft limit not enforcing a maximum duration limit, but when violated makes the route incur a cost, quadratic in the duration. This cost adds up to other costs defined in the model, with the same unit. If defined, `quadratic_soft_max_duration` must be nonnegative. If `max_duration` is also defined, `quadratic_soft_max_duration` must be less than `max_duration`, and the difference must be no larger than one day: :: `max_duration - quadratic_soft_max_duration <= 86400="">` |
| `cost_per_square_hour_after_quadratic_soft_max` | `float` Cost per square hour incurred if the `quadratic_soft_max_duration` threshold is violated. The additional cost is 0 if the duration is under the threshold, otherwise the cost depends on the duration as follows: :: cost_per_square_hour_after_quadratic_soft_max \* (duration - quadratic_soft_max_duration)\^2 The cost must be nonnegative. This field is a member of `oneof`_ `_cost_per_square_hour_after_quadratic_soft_max`. |