Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

After doing so, all conflict checking configured on the dimension itself, are disabled and only the rules will be used from now on.

If you want to limit the number of reservations to which your rules are applied, take a look at Rulesets, Rulesets allow you to group Conflict Rules and filter to which reservations these Conflict Rules are applied.

Creating and editing rules

...

You can also reference and check the permissions of the running user in your rule.
By adding: $Permission.Custom_Permission_Name
COUNT(overlappingReservations) > 0 and $Permission.B25__ALLOW_DOUBLE_BOOKING == false

Example rules

Basic rules

Rule

Description

Condition

Invalid Title

Reservation not allowed when title matches "invalid".

B25__Title__c == 'invalid'

Invalid Resource Name

Reservation not allowed when the resource name is "invalid".

B25__Resource__r.Name == 'invalid'

Matching Title and Notes

Reservation not allowed when the reservation title matches the reservation notes.

B25__Title__c == B25__Notes__c

No Overlapping Allowed

Reservation not allowed when overlapping with another reservation.

COUNT(overlappingReservations) > 0

No Availability

Reservation not allowed if no availability exists.

COUNT(matchingAvailabilities) == 0<br>or<br>isNotAvailable()

More advanced rules

...

Rule

...

Description

...

Condition

...

No Overlapping Reservations

...

Reservation not allowed when overlapping with other reservations, excluding reservations with status "Canceled" or "Temporary".

...

COUNT(FILTER(overlappingReservations AS item, item.b25__status__r.name != 'Canceled' AND item.b25__status__r.name != 'Temporary')) > 0

...

No Double Booking

...

Reservation not allowed when the resource does not allow double booking and overlaps with another reservation.

...

Resource__r.Allow_Double_Booking__c == false AND COUNT(overlappingReservations) > 0

...

Respect Max Capacity

...

Reservation not allowed when overlapping with more reservations than specified in the "Max Capacity" field on the related resource.

...

COUNT(overlappingReservations) > Resource__r.Max_Reservations__c

...

No Availability, Overbooking Disabled

...

Reservation not allowed if the resource has no availability and the "Overbookable" checkbox is disabled.

...

B25__Resource__r.Overbookable__c == false AND COUNT(matchingAvailabilities) == 0

...

Matching Availability Type

...

Reservation not allowed when there is no availability with an availability type that matches the reservation type.

...

COUNT(FILTER(matchingAvailabilities AS item, item.Availability_type__c == B25__Reservation_Type__r.Name)) == 0

...

Exceeding Lowest Availability Capacity

...

Reservations not allowed when exceeding the lowest availability’s capacity.

...

B25__Quantity__c > MIN(matchingAvailabilities, Capacity__c)

...

Check Room Capacity

...

Reservations are checked against the room’s capacity, or bypassed if the status allows double booking.

...

B25__Quantity__c + SUM(overlappingReservations, B25__Quantity__c) > B25__Resource__r.B25__Capacity__c AND B25__Status__r.B25__AllowDoubleBooking__c == false

...

Exceeding Total Availability Capacity

...

Reservation not allowed when exceeding the sum of all availabilities' capacity.

...

B25__Quantity__c + SUM(overlappingReservations, B25__Quantity__c) > SUM(matchingAvailabilities, Capacity__c)

...

Capacity and Gender Constraints

...

Reservations not allowed when no capacity is available, or there is a different gender conflict.

...

B25__Quantity__c + SUM(overlappingReservations, B25__Quantity__c) > SUM(matchingAvailabilities, Capacity__c) OR COUNT(FILTER(overlappingReservations AS rsv, rsv.Gender__c != Gender__c)) > 0

...

Double Booking Permission

...

Reservation not allowed to be double-booked if the user does not have permission to "Overrule Double Bookings".

...

COUNT(overlappingReservations) > 0 AND $Permission.B25__ALLOW_DOUBLE_BOOKING == false

...

Resource Availability Check (Widget)

...

Raises a conflict if there is no availability or if there is unavailability.

...

COUNT(FILTER(matchingAvailabilities AS ava, ava.B25__Unavailability__c == true)) != 0 OR COUNT(FILTER(matchingAvailabilities AS ava, ava.B25__Unavailability__c != true)) == 0

...

External Client Quantity Check

...

Raises a conflict if the B25LP__Quantity_For_External_Client__c of all reservations at the same time exceeds the resource capacity.

...

Take a look at our example Conflict Rules

Example Conflict Rules

Features not supported by Conflict Rules

...