# Availability `Availabilities` define a specific time range during which an `Employee` is available to execute tasks. These can either be derived from a `ShiftSchedule` (via the user interface) or created on an ad-hoc basis. When an `Availability` is created or updated, it triggers a consolidation process that generates a snapshot of the corresponding `Employee` at that moment, referred to as an `AvailableEmployee`. This snapshot accounts for relocations (managed through the user interface) and `Unavailabilities`, ensuring a single source of truth for the `Employee`'s status at that point in time. Any modifications to this `AvailableEmployee` snapshot activate an algorithm that evaluates potential `ResourceCombinations` involving the `Employee`'s `Availability`. During this evaluation, potential `TransportResources` are assessed. If the heuristic identifies that a specific `ResourceCombination` would enhance the overall solution's fitness, it is either created or updated.