In this article I will demonstrate the use of Capacity when using the Service Scheduling Engine in Microsoft Dynamics CRM. I will demonstrate this using the example of a Service for the delivery of a one day “Service Scheduling Training” course. This example is similar to a scenario demonstrated in the Microsoft IT Academy hosted 80710 Customer Service in Microsoft Dynamics CRM 2015 Update 1 training course.
In my example the following resources are required:
 The Skill Level of each Trainer is a value between 1 and 10 defined by the business.
 The Service Scheduling Course is only delivered to classes of 8 or more students.
Also in my example:
The following images show the configuration for one of the Trainers. The Site field defines their location, e.g. Auckland Office; and the Capacity field under Work Hours defines their Skill Level, e.g. 10.
The following images show the configuration for a one of the Training Rooms. The Site field defines the location, e.g. Auckland Office; and the Capacity field under Work Hours defines the Number of Seats, e.g. 12.
There are five trainers of which four have the business defined skill level required to deliver the Service Scheduling Training. They have been configured as shown in the following table and have been added to a Resource Group named Trainers.
There are four training rooms of which three have the minimum number of seats required to deliver the Service Scheduling Training. These been added to a Resource Group named Training Rooms.
The following table and images show the configuration of the Service and related Selection Rules used to select Trainers and Training Rooms for the delivery of the Service Scheduling Training. The Selection Rules are configured to ensure the following business rules are observed.
When defining the Training Rooms Selection Rule it is important to configure both the Quantity and the Capacity Required; i.e. Number of Seats as shown in the following image.
When defining the Trainers Selection Rule it is important to configure both the Quantity and the Capacity Required; i.e. Skill Level as shown in the following image.
As a result of this configuration, when the Scheduling Engine is used we should expect to see only the combinations of Trainers and Training Rooms shown in the following table. Notice that Judith Walker is not selected because her Skill Level (Capacity) is below 7 and Training Room A1 is not selected because its Number of Seats (Capacity) is below 8. In addition Trainers located in Auckland are not selected along with Training Rooms located in Brisbane and vice versa because they are located at different Sites.
The following image shows some of the available times and resources that have been selected by the Scheduling Engine for training at the Auckland Office on the Morning of 21/08/2015 for selected Customers. As desired, only Trainers and Training Rooms from the Auckland Office, Trainers with a skill level of 7 or higher and Training Rooms with 8 or more seats are selected.
In summary, for this configuration to work it was important to configure the Capacity in the following locations:
The meaning of Capacity is defined by the business. In this example the meaning of the Capacity for Trainers was their Skill Level and for Training Rooms was Number of Seats.
Finally, an alternative to using Capacity to define the Skill Level of the Trainers is to instead add the Trainers into Skill Level specific Resource Groups and configure the Selection Rules to select Trainers based on Resource Group rather than Capacity.