ServiceResourceScheduleHandler インターフェース
名前空間
使用方法
lxscheduler.ServiceResourceScheduleHandler インターフェースは Salesforce Scheduler API によってコールされます。
このインターフェースを実装するには、最初に implements キーワードでクラスを次のように宣言する必要があります。
1public class ServiceResourceScheduleHandlerImpl implements LxScheduler.ServiceResourceScheduleHandler{}次に、クラスで次のメソッドの実装を提供する必要があります。
1public static List<LxScheduler.ServiceResourceSchedule> getUnavailableTimeslots(LxScheduler.ServiceAppointmentRequestInfo requestInfo){
2 //Your code here
3}実装されたメソッドは global または public として宣言する必要があります。
ServiceResourceScheduleHandler の実装例
これは、lxscheduler.ServiceResourceScheduleHandler インターフェースの実装例です。
1/**
2 * Implement interface lxscheduler.ServiceResourceScheduleHandler
3 * This class is called when fetching service resources and time slots through Salesforce Scheduler API.*/
4 Public class ServiceResourceScheduleHandlerImpl implements lxscheduler.ServiceResourceScheduleHandler.{
5
6 // The main interface method.
7 public static List<lxscheduler.ServiceResourceSchedule> getUnavailableTimeslots(lxscheduler.ServiceAppointmentRequestInfo requestInfo){
8 //Request info values.
9 List<lxscheduler.ServiceResourceInfo> serviceResources=requestInfo.getServiceResources();
10 DateTime startDate=requestInfo.getStartDate();
11 DateTime endDate=requestInfo.getEndDate();
12
13
14 List<lxscheduler.ServiceResourceSchedule> resourceUnavailability = new List<lxscheduler.ServiceResourceSchedule>();
15 Set<lxscheduler.UnavailableTimeslot> unavailabilityIntervals = new Set<lxscheduler.UnavailableTimeslot>();
16
17 //This is a dummy response. Implement your own business logic to connect to your internal or external systems.
18 for (Integer i = 0; i < 5; i++) {
19 //Set the unavailability intervals of a service resource.
20 unavailabilityIntervals.add(new lxscheduler.UnavailableTimeslot(startDate.addMinutes(15*i),startDate.addMinutes(15*(i+1))));
21 }
22
23 for (lxscheduler.ServiceResourceInfo ServiceResource:serviceResources) {
24 //Set the unavailability of Service resource.
25 resourceUnavailability.add(new lxscheduler.ServiceResourceSchedule(serviceResource.getServiceResourceId(),unavailabilityIntervals));
26
27 }
28
29 return resourceUnavailability;
30 }
31}