# Domain A high-level, functional description of the domain entities and their relationships. ## Entities ### Employee `Employees` represent your staff. An `Employee` has general identification properties, and planning-specific (driver) skills and properties. The skills and driver skills become capabilities in the context of a planning. Furthermore, the costs of an `Employee` will steer the optimization into creating the cheapest routes. If your business case involves planing vehicles which are assigned to `Employees` in post-processing, or your `Employees` have fixed vehicles assigned to them, this can be modelled using a *fixed assignment* on the `Employee`. #### Shift Schedule You can define a `Shift Schedule` for an `Employee`, which describes the recurrence pattern of their `Availability`. This `Shift Schedule` can be used for forecasting `Availabilities` through the *Resource Overview* screen in the **Resource Management** front-end. It is also possible through the front-end to generate the availabilities for an `Employee`, as described by their `Shift Schedule`. In order to accurately generate `Availabilities` for an `Employee`, the `Shift Schedule` requires the starting information: when does this `Shift Schedule` become active? In what week of the recurrence pattern does the `Employee` start? #### Availability An `Availability` describes a specific timerange in which the `Employee` is available for a planning. Creating this `Availability` allows **Resource Management** to look for suitable `Transport Resources` for the `Employee` at that interval in time. ### Transport Resource `Transport Resources` describe your hardware. A `Transport Resource` has general identification properties, requirements for potential `Employees` and planning-specific capabilities. Furthermore, the costs of a `Transport Resource` will steer the optimization into creating the cheapest routes. `Transport Resources` come in three flavors, based on their functional properties: * `TRUCK`: A resource that combines both a pulling unit and a cargo unit into one resource * `TRACTOR`: A resource that acts solely as a pulling unit * `TRAILER`: A resource that acts solely as a cargo unit ### Resource Combination `Resource Combinations` can not be directly managed by end-users or integrations. They are the domain entity which results from combining an *available* `Employee` with one or more suitable `Transport Resources`. The `Resource Combination` is the entity which is used by the optimization engine. It aggregates all skills and capabilities of its constituent parts, as well as their costs. A `Resource Combination` has a *deployability*, derived from the `Employee`'s `Availability`. The *deployability* is impacted by external factors such as preceding or following shifts, `Transport Resource` availability, and so on. ## Entity Relationships ![Domain overview](/assets/domain.445cf6afd2c036e5af20aaa92f6ef794d6b14cda52c82c27cdb2bf7072344735.4d1ce48e.png)