# Order-Vehicle Preferences

Endpoints used for managing order-vehicle preference sets.
Order-vehicle preferences define soft constraints between orders and vehicles based on labels.
Each preference rule links an order label to a vehicle label with a specific relationship type and a fine (violation cost)
that is applied when the preference is violated during planning.
**Preference types:**
- `FORBIDDEN_COMBINATION` — Orders with the specified label are penalized when assigned to vehicles with the specified label.
- `ORDER_REQUIRES_VEHICLE` — Orders with the specified label prefer vehicles with the specified label; a fine is applied if assigned to a different vehicle.
- `VEHICLE_REQUIRES_ORDER` — Vehicles with the specified label prefer orders with the specified label; a fine is applied if assigned different orders.

Deprecated. Use the order-vehicle-restrictions endpoints instead.

 - [GET /settings/order-vehicle-preference-sets](https://developer.conundra.eu/apis/plannings/planning-api/order-vehicle-preferences/listordervehiclepreferencesets.md): Retrieve order-vehicle preference sets using cursor-based paging (see the Cursor-based pagination documentation on the PTV Developer Portal for more details). Deprecated. Use `listOrderVehicleRestrict
 - [POST /settings/order-vehicle-preference-sets](https://developer.conundra.eu/apis/plannings/planning-api/order-vehicle-preferences/createordervehiclepreferenceset.md): Create a new order-vehicle preference set Every rule must use the `INCLUDING` operator and specify a `fine`; requests using the `EXCLUDING` operator or omitting `fine` are rejected with `400 Bad Reque
 - [GET /settings/order-vehicle-preference-sets/{id}](https://developer.conundra.eu/apis/plannings/planning-api/order-vehicle-preferences/getordervehiclepreferenceset.md): Retrieves detailed information on the given order-vehicle preference set. Responds with `400 Bad Request` when the set contains a rule that uses the `EXCLUDING` operator or is a hard constraint, as th
 - [PUT /settings/order-vehicle-preference-sets/{id}](https://developer.conundra.eu/apis/plannings/planning-api/order-vehicle-preferences/upsertordervehiclepreferenceset.md): Create or update an order-vehicle preference set. A unique ID is required to identify the order-vehicle preference set. Calling this endpoint with an existing ID will update the order-vehicle preferen
 - [DELETE /settings/order-vehicle-preference-sets/{id}](https://developer.conundra.eu/apis/plannings/planning-api/order-vehicle-preferences/deleteordervehiclepreferenceset.md): Delete an order-vehicle preference set by its ID. Deprecated. Use `deleteOrderVehicleRestrictionSet` instead.
