Conflict Checking

GoMeddo 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.

This article is about the older, well established dimension-based configuration. Recently, a new rule-based configuration has been introduced. Read about that here: https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/3423666177

Conflict Types

There are currently four types of conflicts that GoMeddo can detect:

Availability Conflicts

These 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.

You can also specify a Multi dimensional availability, which would make the availability only valid when multiple dimension records are selected (e.g. a staff member can only have reservations in a single location). This is described on this page: https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/3169026051

Double Booking Conflicts

These 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

Double Booking Matching Conditions

You can specify a condition that is applied to existing reservations in the database. Any existing reservations that do not match this condition are ignored and will not lead to double booking conflicts. An example of this would be making sure that two reservations in the same room have the same gender. This process is described on the following page.

https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/3227615233

Capacity Conflicts

These 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 GoMeddo can handle a detected conflict when creating (or editing) a Reservation

None

Ignore the conflict, and don't notify the user. The Reservation will be saved normally

Soft

Warn 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

Hard

Give the user an error, and do not allow the Reservation to be saved until the problem is solved

Configuration Example

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

You can configure GoMeddo 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 GoMeddo 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 (bypass conflict checking)

For Double Bookings, Capacity checking and Availability checking, you can configure exceptions to let some Reservations pass through validation that would otherwise result in a Soft or Hard conflict.

These examples cover the standard set up:

Configure default double booking exceptions

Let’s say for the status “Optional” you want Double Bookings to be allowed while for all other reservations it’s not.

  1. Go to reservation status “Optional”

  2. Check “Allow Double Bookings” on this status.

Now all reservations with the status “Optional” will be included in double booking checking.

Configure default capacity exceptions

Let’s say for the status “Optional” you don’t want to take into account capacity while for all other you do.

  1. Go to reservation status “Optional”

  2. Check “Allow Double Bookings” on this status, also for capacity checking this uses the Allow Double Bookings.

Now all reservations with status “Optional” even though there is no capacity you are allowed to book.

Configure default availability exceptions

Let’s say for the Status “Cancelled” you want to allow to book even if there is no availability.

  1. Go to reservation status “cancelled”

  2. Check “Allow Unavailable Bookings” on this status.

Now all reservations with status cancelled can be booked even though there is no availability.

Customize Exceptions

For Double Bookings, Capacity checking and Availability checking, you can also define yourself on which fields you can make an exception to bypass conflict on fields on or related to the reservation object.

Let’s say on reservation we have a checkbox “Always allow” you want to configure them to overwrite all conflict checking rules for Staff members.

  1. Create a checkbox named “Always allow” on the reservation object.

  2. On the Staff dimension configure the following exceptions:

    1. For Reservation Allow Double Booking Field' enter the following value: Always_allow__c

    2. For Reservation Skip Capacity Check Field' enter the following value: Always_allow__c

    3. For Reservation Skip Availability Field” enter the following value: Always_allow__c

Now for reservations where Always allow is set to true, no conflict checking applies to Staff.

If you would like to use field on a related record, for example you would like allow double booking based on the Maintenance checkbox on the reservation type, it be can be referenced as seen in the screenshot below.

For allow double booking and Skip capacity checking the same is possible to do with a field which is not on the reservation, but on or related to the dimension object itself. Then you should use the “Dimension Allow Double Booking Field” and “Dimension Skip Capacity Check Field'.

For example if you want to allow a specific staff member to not count for double booking or capacity.

Related articles