...
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_NameCOUNT(overlappingReservations) > 0 and $Permission.B25__ALLOW_DOUBLE_BOOKING == false
Example rules
Basic rules
Reservation not allowed when title matches invalid.
B25__Title__c == 'invalid'
Reservation not allowed when Resource name = invalidB25__Resource__r.Name == 'invalid'
Reservation not allowed when Reservation title matches reservation notes.
B25__Title__c == B25__Notes__c
Reservation not allowed when overlapping with other reservation.
COUNT(overlappingReservations) > 0
Reservation not allowed if no availability
COUNT(matchingAvailabilities) == 0
Or instead of the above formula, you can use the special method isNotAvailable()
More advanced rules
Reservation not allowed when overlapping with other reservations, not taking into account reservation with status “Canceled” AND status “Temporary”
COUNT(FILTER(overlappingReservations AS item, item.b25__status__r.name != 'Canceled' AND item.b25__status__r.name!='Temporary')) > 0
Reservation not allowed when Resource does not allow double booking and when overlapping with another reservation.
Resource__r.Allow_Double_Booking__c == false AND COUNT(overlappingReservations) > 0
Reservation not allowed when when overlapping with more reservations then specified at the “max capacity field specified on the related resource.
COUNT(overlappingReservations) > Resource__r.Max_Reservations__c
Reservation not allowed when the resource has no availability and the checkbox overbookable is disabled.
B25__Resource__r.Overbookable__c == false AND COUNT(matchingAvailabilities) == 0
Reservations are not allowed when there are no availability where the availability type matches the reservation type.
COUNT(FILTER(matchingAvailabilities as item, item.Availability_type__c == B25__Reservation_Type__r.Name)) == 0
Reservations are not allowed when going over the lowest availability’s capacity
B25__Quantity__c > MIN(matchingAvailabilities, Capacity__c)
Reservations are checked against the capacity of the room, 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
Reservations are not allowed when going over the sum of all availabilities' capacity
B25__Quantity__c + SUM(overlappingReservations, B25__Quantity__c) > SUM(matchingAvailabilities, Capacity__c)
Reservations are not allowed when no capacity or different gender.
B25__Quantity__c + SUM(overlappingReservations, B25__Quantity__c) > SUM(matchingAvailabilities, capacity__c) OR COUNT(FILTER(overlappingReservations AS rsv, rsv.Gender__c != Gender__c)) > 0
Reservations are not allowed to be double booked and when the running user doesn’t have the permission to “overrule double bookings”
COUNT(overlappingReservations) > 0 and $Permission.B25__ALLOW_DOUBLE_BOOKING == false
Resource Availability rule, also for the widget.
Raises a conflict if there is no availability or unavailability
COUNT(FILTER(matchingAvailabilities AS ava, ava.B25__Unavailability__c == true)) != 0 OR COUNT(FILTER(matchingAvailabilities AS ava, ava.B25__Unavailability__c != true)) == 0
Resource Capacity rule, raises a conflict if the B25LP__Quantity_For_External_Client__c quantity of all reservations at the same point exceeds the resource capacity.
SUM(overlappingReservations, B25LP__Quantity_For_External_Client__c) + B25LP__Quantity_For_External_Client__c > B25__Resource__r.B25__Capacity__c
...
Take a look at our example Conflict Rules
Features not supported by Conflict Rules
“Unshared conflict checking” Shared vs Unshared Conflict Checking
Timeslot picker Time Slot Picker (for record pages)