Conflict Checking

Booker25 can detect various conflicts that arise when Reservations are entered into the system. Furthermore, you can configure what happens when these conflicts are detected. This article explains the type of conflicts that can be detected, and all the configuration options for handling them.


Remove Double Booking permission from System Administrator profile

If you have enabled conflict checking but it does not seem to work, double-check if you have removed the Allow Double Booking permission from your profile, as described here: Booker25 Clean Install

Conflict Types

There are currently three types of conflicts that Booker25 can detect:

Availability ConflictsThese happen when creating a Reservation outside of the defined Availabilities for a related record. For example, creating a reservation on a Friday for a staff member who only works Mondays through Thursdays. See this article for information on how to set up Availabilities for your Resources, Staff or other objects
Double Booking ConflictsThese happen when creating a Reservation for a record that is already occupied by another Reservation. For example, creating a Reservation from 8-11 and a Reservation from 9-12 in the same room
Capacity ConflictsThese happen when creating a Reservation that causes the related record's capacity to be exceeded. For example, creating a Reservation with 10 attendees in a room with a capacity of 6

Conflict Handling

There are three ways Booker25 can handle a detected conflict when creating (or editing) a Reservation

NoneIgnore the conflict, and don't notify the user. The Reservation will be saved normally
SoftWarn the user, but still allow them to save the Reservation into the system. A Conflict record will be created in the database so these problems can be solved at a later time
HardGive the user an error, and do not allow the Reservation to be saved until the problem is solved

Configuration

The following assumes that you know how to configure dimensions, as explained in this article.

You can configure Booker25 to handle different types of conflicts in different ways. For example if you have Resources and Staff, you can configure the following scenario:

  1. Staff can't be double booked
  2. Staff can't be booked outside of their working hours
  3. Resources however can be booked outside of their opening times, without a warning to the user
  4. Exceeding a Resource's capacity will give the user a warning, but still allows the user to save the Reservation

In configuration, the above scenario can be achieved in the following way:

  1. On the Staff Dimension Field, set 'Double Booking Checking' to Hard
  2. On the Staff Dimension Field, set 'Availability Checking' to Hard (note: this is only possible if you have already entered a value in 'Availability Lookup' on the Dimension)
  3. On the Resource Dimension Field, set 'Availability Checking' to None
  4. On the Resource Dimension Field, set 'Capacity Checking' to Soft

For this last step (4.), you will also need to enter the API names of the two fields telling Booker25 which fields to compare with each other to detect if the capacity is exceeded.

  1. For 'Reservation Quantity Field', enter the API name of a number field on Reservation, such as 'B25__Quantity__c'
  2. For 'Dimension Capacity Field', enter the API name of a number field on Resource, such as 'B25__Capacity__c'

Exceptions

For Double Bookings and Capacity checking, you can configure exceptions to let some Reservations pass through validation that would otherwise result in a Soft or Hard conflict. Let's say you have a few Reservation Statuses that do not count towards Double Booking or Capacity checking. A Canceled reservation for example may have the capacity filled in, which should not be taken into account during Capacity checking. You can create an exception as follows:

  1. Create a checkbox named Canceled__c on the Reservation Status object.
  2. Set this to TRUE on the Canceled Reservation Status record
  3. On the Dimension Field of the Dimension you are working with, set the following fields:
    1. For 'Reservation Allow Double Booking Field' enter the following value: B25__Reservation_Status__r.Canceled__c
    2. For 'Reservation Skip Capacity Check Field' enter the following value: B25__Reservation_Status__r.Canceled__c

Now, all the reservations with a Reservation Status that has the Canceled checkbox set to TRUE will no longer trigger these checks and can be saved normally.

Finally, for Double Bookings, you can also reference a checkbox on a related record, to indicate that the related record always allows Double Bookings. Let's say you have Resources with a checkbox Can_Be_Double_Booked__c set to TRUE, then you can configure the following on the Resource Dimension Field:

  1. For 'Dimension Allow Double Booking' enter the following value: Can_Be_Double_Booked__c

Double Booking will now be allowed only for this Resource, even when the overall checking has been set to 'Hard'



Related articles

On this page