Skip To Content
Back to Help Center

CA LWC Availability Scheduling Admin GuideCategorized in LWCCategorized in LWC Admin GuideCategorized in Feature Setup

The CalendarAnything LWC Availability scheduling feature enables Salesforce appointment scheduling based on user-maintained availability. User availability can be combined with the availability of other resources, such as contacts, locations, and equipment.

In this article, you will learn about:

Availability Calendars

CalendarAnything’s Availability Calendars feature enable users to view objects that hold a list of combined availability for multiple resources when booking appointments. For example, users may be available for meetings from 10:00 a.m. to 4:00 p.m. at one or multiple locations. Availability calendars can be configured to show not only a list of users available for a given timeslot but the locations at which they are available for that timeslot.

Important!Availability timeslot data is not stored in Salesforce and does not affect Salesforce until a user books an appointment using an Availability Calendar. The appointment booking generates a Salesforce Event.

Resources, in terms of CalendarAnything, refer to entities such as users, contacts, meeting rooms, equipment, locations, and so on. The Availability Scheduling feature is highly configurable to accommodate resource availability requirements for various types of organizations.

Availability calendars are based on templates. Before you can create a template, you must create any custom objects necessary as well as the custom field to store Availability rules, sometimes referred to as Availability. Here are the high-level steps for implementing the Availability Scheduling feature.

  1. System administrator creates a custom field to store availability or availability rules. Some use cases may also require a custom “junction” object and, in some cases, a custom resource object.
  2. System administrator creates an availability template.
  3. Users add their availability to the template.
  4. Users book appointments using the Availability calendar that is based on the template.

Creating custom availability objects

Every Availability template requires a custom field that can be selected to store availability rules.  This field can be added to a standard object in some cases. In other cases, the field must be added to a new custom object that joins multiple resources of different types.

Use case examples

Below are three Availability calendar use case examples and their custom object requirements.

Important! The following use cases are included for learning purposes and do not reflect what your organization may actually require.

Use Case 1: User availability only – A manager regularly needs to book meetings with all of her team members. No additional resources are required.
Create a Text Area (Long) custom field named Availability_Rules and add it to the User object.

Use case 2: User availability with exceptions – A manager wants to book a meeting for the current month with all five of her team members. The current month happens to be a popular one for vacations. In this case, availability of the manager and her five team members plus any exceptions for vacation time must be considered.

  • Create a custom junction object named User_Availability that serves as a “junction table” joining meeting participant availability with exceptions for vacation and such.
  • Create a Text Area (Long) custom field named Availability_Rules and add it to the User_Availability object. 

User case 3: User availability by location – A manager wants to book a meeting for the current month with all five of her team members, each of which can be available at one or more office locations. In this case, availability of team members and the locations at which they can be available must be considered.

  • Create a custom junction object named User_Location that serves as a junction table for users and their locations.
  • Create a Text Area (Long) custom field named Availability_Rules and add it to the User_Location object.
  • Create a custom object named  Location_Custom that stores office locations.

Creating availability templates

Once the custom objects have been created, you can create Availability Calendar templates that use them.

First access the Create and Edit Availability Calendars wizard:

  1. On the CalendarAnything LWC Settings menu, right-click on Availability Calendars.
  2. Select New Availability Calendar. An initial popup appears.
  3. On the initial popup:
    • Leave the Admin Lock checkbox selected if you want to protect certain Availability Calendar Template fields from being updated by end users.
    • Leave User Based Template selected or select Contact Based Template, depending upon whether the meeting invitees are internal users or external contacts.
    • Click Select. The Create and Edit Availability Calendars wizard appears.
Important! Some of the fields below contain values you would use if following one of the use case examples. Actual values for these fields will depend not only on use case but on the specific Availability object names your organization will be using.

Next, configure the wizard steps, using the following procedure as a guide. For additional information, refer to Create and Edit Availability Calendar wizard field definitions.

Name and Color (Required)

  • Select default color for the calendar.
  • Select calendar name. The API name becomes populated based on Name input.
  • Leave Display on Sidebar checked if you want the template to appear on the user’s sidebar.
  • Check Available for Booking to make this template available for user booking.
  • Leave Admin Lock checked to keep specific fields from being updated by end users.
  • Click Next on the step menu.

Availability Template Objects (Required)

  • Select the Object Name where availability rules will be stored.
    Values for use case examples:
    * Use case 1: User
    * Use case 2: User_Availability
    * Use case 3: User_Location
  • Select an Appointment Object.
    Note: This is where CalendarAnything saves booked availability time slots.
  • Optionally select Booking object. 
    Note: When As Appointment is checked, the Booking Object is disabled and all information is stored in Appointment Object.
  • Check or clear the As Appointment checkbox as needed.
  • Select the Member Object.
    Note: This is a required field that represents who will be viewing availability and booking an appointment. Member can be a User, Contact, Lead, Account, or custom object.
    Values for use case examples:
    * Use case 1: User
    * Use case 2: User
    * Use case 3: User
  • Select a Location Object.
    Note: When a Location Object is specified, the Availability template displays one picklist for the resource and one for the location.
    Values for use case examples:
    * Use case 1: Blank
    * Use case 2: Blank
    * Use case 3: Location_Custom
  • Optionally select Type Object.
    Note: This defines default time slot length and required before and after appointment times. If left blank, the default duration and before/after time is populated based on what is set in the General section.
  • Select a Resource Object.
    Note: This is a required field that defines the type of resource being booked, such as User, Contact, Account, and so on.
  • Click Next on the step menu.

General
Note: This step contains fields to configure timeslot display.

  • Change the Period Type or leave the default value.
    Note: Defaults to Minute. This represents the period of time in which duration is represented.
  • Select Joint Mode if needed, or leave the default value.
    Note: Joint Mode represents the ability to join virtual time slots for the same time period with different resources and/or locations into one time slot. Options are: 

    • Not Jointed: Default value.
    • Location: If one resource has availability at the same timeslot for multiple locations, one timeslot is shown for the resource.
    • Resource: If one location has availability at the same timeslot for multiple resources, one timeslot without capacity is shown. Timeslot is no longer shown after all available resources are booked.
    • Location and Resource: Multiple timeslots are joined into one regardless of location or resource.
  • Select an Intersection Mode or leave the default value which indicates no Intersection Mode will be used. This field has options to require a minimum number of resources that must meet availability criteria before any of those resources will be shown for a given timeslot. The selected Intersection Mode determines whether additional Intersection options will appear on the calendar options panel and, if so, what those options will be. Note: Labels for Intersection Mode options may vary.
  • Change the Timeslot Duration or leave the default value.
  • Change the Timeslot Step Duration or leave the default value.
    Note: This distributes time slots within defined availability time block. For example: Availability is from 10am to 12pm, with Time Duration 60 min and Step Duration 30. The calendar will show three time slots, 10-11am, 10:30-11:30, and 11am-12pm.
  • Change the Appointment Additional Before Time or leave the default value.
    Note: This is time added to the appointment for pre-appointment activities. Time is added during calculation of the next available time slot
  • Change the Appointment Additional After Time or leave the default value.
    Note: This is time added to the appointment for post-appointment activities. Time is added during calculation of the next available time slot.
  • Change the Actual Future Period (Days) or leave the default value.
    Note: This specifies how many days in the future availability is presented on the calendar.
  • Check the Allow Past Events checkbox if you want the users to be able to schedule past events.
  • Change the Maximum Capacity or leave the default value.
    Note: Defines capacity allowed for appointment. Currently not available when Additional Before and After time is defined.
  • Change Highlight Used Timeslots or leave the default value.
    Note: This field only applies when resources can be available for multiple locations. Options are:

    • Do not highlight: Permits user to set resource availability for the same timeslot in multiple locations.
    • Highlight without reuse: Prevents user from setting resource availability for the same timeslot in multiple locations and highlights used locations in red.
    • Highlight and allow reuse: Permits user to set resource availability for the same time in multiple locations but highlights used locations in red.
  • Click Next on the step menu.

Availability Definition
Note: This step contains fields to configure the availability.

  • Select a Rule Label Field Name.
    Note: This field is used to label availability time slots on the calendar. Options come from the Object Name selected on the Availability Template Objects step.
  • Select a Rule Template Field Name.
    Note: This is the field where the availability rule will be stored. This MUST be a Text Area (Long) field—NOT Text Area (Rich).
    Values for use case examples:
    * Use case 1: Availability_Rules
    * Use case 2: Availability_Rules
    * Use case 3: Availability_Rules
  • Select Rule Exception Start if exceptions are applied in this template.
    Note: This is the field where availability exception start date/time is stored.
    Values for use case examples:
    * Use case 1: Blank
    * Use case 2: Start
    * Use case 3: Blank
  • Select a Rule Exception End if exceptions are applied in this template.
    Note: This is the field where availability exception end date/time is stored.
    Values for use case examples:
    * Use case 1: Blank
    * Use case 2: End
    * Use case 3: Blank
  • Select a Timezone Field.
    Note: This field stores information about the default availability timezone and must be a text or picklist field. When blank, the timezone of the current logged in user is applied.
  • Select a Rule Resource Field if using a custom object to store availability rules. This field is on the custom object and serves as a lookup to the base object.
    Values for use case examples:
    * Use case 1: Blank
    * Use case 2: [name of user lookup field added to User_Availability custom object]
    * Use case 3: [name of user lookup field added to User_Location custom object]
  • Select a Rule Location Field if resources can be assigned to multiple locations.
    Note: This field serves as a reference to the object that stores location information.
    Values for use case examples:
    * Use case 1: Blank
    * Use case 2: Blank
    * Use case 3: Location_Custom
  • Click Next on the step menu.

Appointment
Note: This step contains fields to configure where booked appointment details are stored. The read-only field labeled Object represents the Appointment Object selected in the Availability Template Objects step.

  • Select the Appointment Start.
    Note: This is a field for start date or date/time.
  • Select the Appointment End.
    Note: This is a field for end date or date/time.
  • Optionally select an Appointment Timezone.
    Note: This is the timezone selected for the booking.
  • Optionally select the Appointment Resource.
    Note: This field connects a booked resource to the appointment.
  • Optionally select the Appointment Member.
    Note: This field connects the appointment to the person who booked it.
  • Optionally select the Appointment Type Reference.
    Note: This is a lookup field to the appointment type.
  • Skip Appointment Location Reference. This field is not currently used.
  • For each set of Filter Criteria that you want to add:
    • Click + Add. A set of filter fields appears.
    • Select a Field Name.
    • Select an Operator.
    • Select a field value for the comparison.
    • To remove selected comparison values, click the chevron icon on the row.
    • To remove the criteria set, click the red X next on the row.
  • Click Add Filter Logic if you have multiple filters and want to change the default comparison logic from AND to OR.
  • Click Next on the step menu.

Resource
Note: This step contains fields to configure the Resource Object selected in the Availability Templates Object step.

  • Select a Resource Timezone.
    Note: This field stores the resource’s default timezone and must have a Text or Picklist field type.
  • Select a Resource Type Junction Object.
    Note: This is the object that cross-references the resource with the Type object that stores information about various appointment types. It is used to filter availability by Type and limit the list of resources based on type.
  • Select a Resource Junction Type Field.
    Note: This is a field on the junction object that stores appointment type lookup options.
  • Select a Resource Junction Resource Field.
    Note: This is a field on the Resource Type junction object that stores resource type lookup options.
  • Skip Resource State (Country) Field. This field is not currently used.
  • Select a Resource Location.
    Note: This is a field on the Resource object that hold information about resource’s location.
  • Select a Resource Location Junction Object.
    Note: This is the junction object between Resource and Location.
  • Select a Resource Location Junction Location Field.
  • Select a Resource Location Junction Resource Field.
    Note: This field points to the Resource object.
  • For each set of Filter Criteria that you want to add:
    • Click + Add. A set of filter fields appears.
    • Select a Field Name.
    • Select an Operator.
    • Select a field value for the comparison.
    • To remove selected comparison values, click the chevron icon on the row.
    • To remove the criteria set, click the red X next on the row.
  • Click Add Filter Logic if you have multiple filters and want to change the default comparison logic from AND to OR.
  • Click Next on the step menu.

Booking
Note: This step is used to configure the Booking Object selected in the Availability Template Objects step. Skip this step if you did not select a Booking Object.

  • Optionally change the default Booking Resource.
  • Optionally change the default Booking Appointment.
  • Optionally select a Booking Member.
  • Optionally select a Booking Location.
  • Click Next on the step menu.

Type
Note: This step is used to configure the Type Object selected in the Availability Template Objects step.

  • Select Type Duration.
  • Select Type Before Time.
  • Select Type After Time.
  • Select Type Step Duration.
  • For each set of Filter Criteria that you want to add:
    • Click + Add. A set of filter fields appears.
    • Select a Field Name.
    • Select an Operator.
    • Select a field value for the comparison.
    • To remove selected comparison values, click the chevron icon on the row.
    • To remove the criteria set, click the red X next on the row.
    • Click Add Filter Logic if you have multiple filters and want to change the default comparison logic from AND to OR.
  • Click Next on the step menu.

Details Popup

  • Move each field to be displayed on the Details popup from the Available panel to the Selected panel.

Create and Edit Popup

  • Move each field to be displayed on the Create and Edit popup from the Available panel to the Selected panel.

Sharing

  • Using the Available panel, select one or more Public Groups with which you want to share the calendar and move them to the Selected panel.
  • Click Save.
Note!Do not forget to click Save after the Sharing step.
For any other steps you want to configure, refer to the counterpart field definitions on Create, Edit, and Share Calendars.

Create and Edit Availability Calendar wizard field definitions

This is a comprehensive list of Availability-related field definitions grouped by the wizard step in which they appear. For some fields, default values may suffice or values may be left blank.

Name and Color

  • Color:  Color to associate with your calendar.
  • Name: Calendar name (cannot contain +, &, / or = characters).
    Note: This automatically  populates the Site Calendar Name field, which is uneditable and used when publishing public Site Calendars.  
  • API Name: Application Programming Interface name.
    Note: This is populated based on what you enter in the name field and vice versa.
  • ID: Unique identifier automatically populated by the application.
  • Description: Description of the calendar.
  • Display on Sidebar: When checked, the template appears on the user sidebars.
  • Available for Booking: When checked, makes the template available for user booking.
  • Admin Lock When checked, prevents specific fields from being updated by end users.

Availability Template Object

  • Object Name: Where availability rules are stored.
  • Appointment Object: Where to store booked availability time slots.
  • Booking Object: An object that relates to the Appointment object and stores booked appointment information. This field becomes disabled when As Appointment is checked.
  • As Appointment: When checked, the Booking Object is disabled and all information is stored in Appointment Object.
  • Member Object: Represents who will be viewing availability and booking an appointment.
    Note: This is a required field. Member can be a User, Contact, Lead, Account, or custom object.
  • Location Object: Required when location must be considered when booking appointments.
    Note: When a Location Object is specified, the Availability template displays one picklist for the resource and one for the location.
  • Type Object: Object that stores appointment type details such as default time slot length and required before and after appointment time.
    Note: If left blank, the default duration and before/after time is populated based on what is set in General section
    .
  • Resource Object: Required field that defines the type of resource that will be booked, such as User, Contact, Account, and so on.

General

  • Period Type: Period of time in which duration is represented. Defaults to Minute.
  • Joint Mode: Represents whether and how to join the same timeslots for different resources and/or locations into one timeslot. Options are:
    • Not Jointed: Default value.
    • Location: If one resource has availability at the same timeslot for multiple locations, one timeslot is shown for the resource.
    • Resource: If one location has availability at the same timeslot for multiple resources, one timeslot without capacity is shown. Timeslot is no longer shown after all available resources are booked.
    • Location and Resource: Multiple timeslots are joined into one regardless of location or resource.
  • Intersection Mode: Options to specify a minimum number of resources that must meet availability criteria for a timeslot before any of those resources will be shown on timeslot. The selected Intersection Mode determines whether additional Intersection options will appear on the calendar options panel and, if so, what those options will be. Note: Labels for Intersection Mode options may vary.
  • Timeslot Duration
  • Timeslot Step Duration: Determines time block for availability display.
    Example: Availability is from 10am to 12pm, with Time Duration 60 min and Step Duration 30. It will be presented on the calendar as three time slots, 10-11am, 10:30-11:30, and 11am-12pm.
  • Appointment Additional Before Time: Time added to the appointment for pre-appointment activities.
    Note: Time is added during calculation of the next available time slot
  • Appointment Additional After Time: Time added to the appointment for post-appointment activities.
    Note: Time is added during calculation of the next available time slot.
  • Actual Future Period (Days): Specifies how many days in the future availability is presented on the calendar.
  • Allow Past Events: When checked, this enables users to schedule past events.
  • Maximum Capacity: Determines capacity allowed for appointment.
    Note: Currently not available when Additional Before and After time is defined.
  • Highlight Used Timeslots: Applies when resources can be available for multiple locations. Options are:
    • Do not highlight: Permits the user to set resource availability for the same timeslot in multiple locations.
    • Highlight without reuse: Prevents user from setting resource availability for the same timeslot in multiple locations and highlights used locations in red.
    • Highlight and allow reuse: Permits the user to set resource availability for the same time in multiple locations but highlights used locations in red.

Availability Definition

  • Rule Label Field Name: Used to label availability time slots on the calendar.
    Note: Options come from the Object Name selected on the Availability Template Objects step.
  • Rule Template Field Name: Text Area (Long) field indicating the field where the availability rule will be stored.
    Note: This MUST be a Text Area (Long) field—NOT Text Area (Rich)
    .
  • Rule Exception Start: Indicates where availability exception start date/time is stored.
  • Rule Exception End: Indicates where availability exception end date/time is stored.
  • Timezone Field: Text or picklist field indicating default availability timezone information.
    Note: When blank, the timezone of the current logged-in user is applied.
  • Rule Resource Field: Applies when using a custom object to store availability rules. Specifies the field on the custom object that is a lookup to the base object.
  • Rule Location Field: Applies if resources can be assigned to multiple locations. Specifies reference to the object that stores location information.

Appointment

  • Appointment Start: Start date or date/time of appointment.
  • Appointment End: End date or date/time of appointment.
  • Appointment Timezone: Timezone selected for the booking.
  • Appointment Resource: Fields that connect a booked resource to the appointment.
  • Appointment Member: Field that connects the appointment to the person who booked it.
  • Appointment Type Reference: Field to look up appointment type.
  • Appointment Location Reference: This field is not currently used.
  • Filter Criteria: Used to change default comparison logic from AND to OR when multiple filter criteria sets are configured.

Resource

  • Resource Timezone: Default timezone of resource. Must have a Text or Picklist field type.
  • Resource Type Junction Object: Object that cross-references the resource with the Type object that stores information about various appointment types. It is used to filter availability by Type and limit the list of resources based on type.
  • Resource Junction Type Field: Resource junction object field that stores appointment type lookup options.
  • Resource Junction Resource Field: Resource Type junction object field that stores resource type lookup options.
  • Skip Resource State (Country) Field. This field is not currently used.
  • Select a Resource Location.
    Note: This is a field on the Resource object that hold information about resource’s location.
  • Resource Location Junction Object: Object that cross-references Resource with Location.
  • Resource Location Junction Location Field.
  • Resource Location Junction Resource Field: Field that points to the Resource object.
  • Filter Criteria: Used to change default comparison logic from AND to OR when multiple filter criteria sets are configured.

Booking

Note: These fields do not need configuration unless you selected a Booking Object in the Availability Template Objects step. 

  • Booking Resource
  • Booking Appointment
  • Booking Member
  • Booking Location

Type

Note: Used to configure the Type Object selected in the Availability Template Objects step.

  • Type Duration
  • Type Before Time: Time added to the appointment for pre-appointment activities.
  • Type After Time: Time added to the appointment for post-appointment activities.
  • Type Step Duration: Determines time block for availability display.
  • Filter Criteria: Used to change default comparison logic from AND to OR when multiple filter criteria sets are configured.

For all remaining steps on this wizard, refer to the counterpart field definitions on Create, Edit, and Share Calendars.

We don't support Internet Explorer

Please use Chrome, Safari, Firefox, or Edge to view this site.