Time Slot Picker

Booker25 comes with a Time Slot Picker component which is available for record pages. This component allows the user to quickly pick an available time slot, and create a reservation.

This component was recently added (4.61) and we welcome any feedback or requests for further development

Adding the Time Slot Picker to a Record Page

  1. Go to a record page, click on the gear icon in the top right corner, and click ‘Edit Page’.

  2. Drag the Time Slot Picker component onto the page.

  3. Select a Reservation Type. This influences the following:

    1. The Reservation Type’s Field Set controls which fields are shown to the user

    2. The Duration defined on the Reservation Type controls the duration of the time slots that are being offered to the user. If the Reservation Type has no Duration, the time slot duration falls back to a default of 60 minutes

  4. (Optional) Select a list of children that should drive the time slots. If left empty, the record itself will drive the time slots. More on this in the next section.

  5. (Optional) Enter the name of a Lighting Flow that should be run before the Time Slot Picker is displayed to the user. This is useful to set visible or invisible values on the Reservation to be created. More on this in the next section.

Configuration options

1. Reservation Type

  • Selecting a Reservation Type is required

  • The Reservation Type’s Field Set controls which fields are shown to the user

  • The Reservation generated after clicking ‘Save’ will have the selected Reservation Type

  • The Duration defined on the Reservation Type controls the duration of the time slots that are being offered to the user. If the Reservation Type has no Duration, the time slot duration falls back to a default of 60 minutes

2. Children to search through

  • Defines which Dimension records will be used to generate available time slots from. Time slots will be generated according to that Dimension’s conflict checking configuration.

  • If left empty, the record that the Time Slot Picker is on will be used to generate available time slots from. This means that by leaving this field empty, the implication is that the record itself is a reservable Dimension (such as a Resource for example). Time slots will be generated according to that Dimension’s conflict checking configuration.

  • If filled in, the selected related list will be expected to contain Dimension records from which the available time slots will be shown to the user. For example, if the related list contains two meeting room Resources, a time slot will be shown if at least one of those meeting rooms is available during that time slot.

  • If multiple Dimension records are available for the selected time slot, Booker25 will randomly select one of them when saving the Reservation

3. Reservation pre-creation flow to run

  • When filled in, this Lightning Flow will be executed after selecting a time slot, before showing the fields to the user. This can be used to pre-populate visible fields, or to set invisible fields that will be stored on the Reservation after saving.

  • The flow is expected to have a variable named reservation of type B25__Reservation__c, available for both input and output. A Template Flow, with this variable already present, is included in the Booker25 package and can easily be cloned.

Using the Time Slot Picker in a Screen Flow

You can use the Time Slot Picker as part of your Screen flows in Salesforce. This component expects a number of variables to be passed into the Time Slot Picker screen component. The following variables have to be provided

Field

Input/ouput

Description

Field

Input/ouput

Description

Date (Required)

Input

A date needs to be parsed to allow the Time Slot Picker to fetch the available time slots for that day.

List of Dimension Ids (Required)

Input

A list of dimension-ids need to be provided. This can, for example, be a list of all the resources you want to allow the Time Slot Picker to search through.

Reservation Type (Required)

Input

The Name of the Reservation Type. You can set the duration of a Timeslot on this reservation type. The fallback is set to 60 minutes.

Reservation (Optional)

Input

You can optionally set a sample reservation if there are any other dependencies that should be taken into account when creating the timeslot

Reservation

Output

Make sure to Manually assign the output Reservation (under advanced) to a “Record (single) Variable” of the type B25__Reservation__c. You can use this reservation to either extend in your flow or save it directly after using this component.

 

 

A Sample flow would look like this, which has the output as shown in the video on the right.