Newer Version Available
GradeSlotsService Class
Represents the results shown in the Candidates quick action. Use
the GradeSlotsService class to evaluate all
possible slots where a given service appointment can be scheduled.
Namespace
GradeSlotsService Constructors
The following are constructors for GradeSlotsService.
GradeSlotsService Methods
GradeSlotsService includes the following static method.
getGradedMatrix(i_ResultsInUserTimeZone)
Returns a matrix of resource IDs and graded time slots. The
information is similar to that shown in the Candidates quick action.
Signature
public FSL.AdvancedGapMatrix getGradedMatrix(Boolean i_ResultsInUserTimeZone)
Parameters
- i_ResultsInUserTimeZone
- Type: Boolean
-
If true, all DateTimes are returned in the user’s time zone. If false, all DateTimes are returned in UTC.
Return Value
Type: FSL.AdvancedGapMatrix
Example
This example illustrates how to parse the results in the FSL.AdvancedGapMatrix to extract the service resource ID, start and end times, and grade of each slot.
1// FSL.GradeSlotsService class
2// The getGradedMatrix method returns a matrix of resource id's AND graded time slots
3
4Id serviceAppointmentId = '08p1N000000qN4sQAE';
5Id schedulingPolicyId=[SELECT Id FROM FSL__Scheduling_Policy__c WHERE Name='Customer First' LIMIT 1].Id;
6
7// GENERATE the graded time slots for the service appointment
8FSL.GradeSlotsService mySlotService = new FSL.GradeSlotsService(schedulingPolicyId,serviceAppointmentId);
9
10// STORE the matrix of service resource id's and graded time slots
11FSL.AdvancedGapMatrix myResultMatrix = mySlotService.getGradedMatrix(true);
12
13Map<Id,FSL.ResourceScheduleData> mySRGradedTimeSlotMap = myResultMatrix.ResourceIDToScheduleData;
14for (Id thisresourceid : mySRGradedTimeSlotMap.keySet()){
15 for (FSL.SchedulingOption thisso : mySRGradedTimeSlotMap.get(thisresourceid).SchedulingOptions ) {
16 system.debug('***** Resource Id' + thisresourceid);
17 system.debug('***** Start - ' + thisso.Interval.Start);
18 system.debug('***** Finish - ' + thisso.Interval.Finish);
19 system.debug('****** Grade - ' + thisso.Grade);
20 }
21}