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

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

A limit defining a maximum distance which can be traveled. It can be
either hard or soft.

If a soft limit is defined, both `soft_max_meters` and
`cost_per_kilometer_above_soft_max` must be defined and be
nonnegative.

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

| ## Attributes ||
|---|---|
| **Name** | **Description** |
| `max_meters` | `int` A hard limit constraining the distance to be at most max_meters. The limit must be nonnegative. This field is a member of `oneof`_ `_max_meters`. |
| `soft_max_meters` | `int` A soft limit not enforcing a maximum distance limit, but when violated results in a cost which adds up to other costs defined in the model, with the same unit. If defined soft_max_meters must be less than max_meters and must be nonnegative. This field is a member of `oneof`_ `_soft_max_meters`. |
| `cost_per_kilometer_below_soft_max` | `float` Cost per kilometer incurred, increasing up to `soft_max_meters`, with formula: :: min(distance_meters, soft_max_meters) / 1000.0 \* cost_per_kilometer_below_soft_max. This cost is not supported in `route_distance_limit`. This field is a member of `oneof`_ `_cost_per_kilometer_below_soft_max`. |
| `cost_per_kilometer_above_soft_max` | `float` Cost per kilometer incurred if distance is above `soft_max_meters` limit. The additional cost is 0 if the distance is under the limit, otherwise the formula used to compute the cost is the following: :: (distance_meters - soft_max_meters) / 1000.0 \* cost_per_kilometer_above_soft_max. The cost must be nonnegative. This field is a member of `oneof`_ `_cost_per_kilometer_above_soft_max`. |