Multi-Dimensional Availabilities (MDAs, sometimes called joined- or dependent availabilities) allow you to make a Dimension record available only when it is combined with other Dimension records. This can be used for scenarios in which there is a dependency between records: for example making a Staff member only available in a specific building.
Configuring Multi-dimensional Availabilities
To make an availability multi-dimensional you have to perform the following steps:
Enable the Is Dependent Availability checkbox on the Availability
Populate the lookups to the Dimension records you want to be required for this availability to apply
For example, the following screenshot makes ABBEY available in Berlin on weekdays between 08:00 and 16:00. Please notice the Is Dependent Availability checkbox is enabled and indicates that the two are related:
Normal availability inheritance applies to Multi-Dimensional Availabilities (MDAs). This means that if you assign an availability on a higher Resource, it will also apply to any lower level Resources. As in the example above, the defined availability for ABBEY will also apply to any building or room that is a child of Berlin.
Lookup filtering on the reservation form
We illustrate the following with the same example as above. The reservation form has two lookups: one to Staff (ABBEY in the example), and one to Resource (Berlin in our example).
When filling lookups in the reservation form in relation to the Multi-Dimensional Availabilities, the results follow these rules:
Both lookups are empty (and act as wildcards): all records are still available in both lookups, until a record is selected which limits the other lookup
Example: leaving the resource field empty makes ABBEY available. Until you select anything else than Berlin, this would filter down the options and no longer show ABBEY.
One lookup is filled: the second lookup is filtered based on the content of the first lookup, considering the MDA. This also includes anything that is general available (e.g. where MDAs are not in play).
Example: as soon as you select Berlin it will show ABBEY + any staff member that has availability where “Is Dependent Availability” is unchecked.
These two rules apply to prevent situations in which a dimension record cannot be selected because you need to select another record first that is also influenced by the initial record.
For example selecting ABBEY as the staff first will filter the resources to Berlin, while selecting Berlin first will filter the staff to ABBEY. If there was no wildcard both option would be hidden from the available options.
Multi-dimensional availability rendering on the calendar
When displaying availabilities on the calendar, MDAs are treated slightly different than normal availabilities. Particularly MDA unavailabilities, these are ignored in the calendar because there has not been a filter applied in that case to determine which availabilities to show. If a dimension record is only available with another dimension record it will be shown by showing the cel with diagonal stripes. If you then hover that area it will display the records that this record is available with.
To render this requires Enable Subcell Availability Rendering field on the corresponding View record that you are viewing to be set to TRUE