Newer Version Available
LightningScheduler Class
Namespace
LightningScheduler Methods
The following are methods for LightningScheduler. All methods are static.
createServiceAppointment(createServiceAppointmentInput)
API Version
53.0
Requires Chatter
No
Signature
public static ConnectApi.ServiceAppointmentOutput createServiceAppointment(ConnectApi.CreateServiceAppointmentInput createServiceAppointmentInput)
Parameters
- createServiceAppointmentInput
- Type: ConnectApi.CreateServiceAppointmentInput
- Input parameters to create a service appointment.
Return Value
Example
For an account (existing
user):
1ConnectApi.ExtendedFieldInput extendedFieldEmail = new ConnectApi.ExtendedFieldInput();
2extendedFieldEmail.name = 'Email';
3extendedFieldEmail.value = 'rachael.adams@salesforce.com';
4
5ConnectApi.ExtendedFieldInput extendedFieldPhone = new ConnectApi.ExtendedFieldInput();
6extendedFieldPhone.name = 'Phone';
7extendedFieldPhone.value = '1234567890';
8
9List<ConnectApi.ExtendedFieldInput> extendedFieldList = new List<ConnectApi.ExtendedFieldInput>();
10extendedFieldList.add(extendedFieldEmail);
11extendedFieldList.add(extendedFieldPhone);
12
13ConnectApi.ServiceAppointmentInput serviceAppInput = new ConnectApi.ServiceAppointmentInput();
14serviceAppInput.extendedFields = extendedFieldList;
15serviceAppInput.serviceTerritoryId = '0Hhxx0000004C92CAE';
16serviceAppInput.workTypeId = '08qxx0000004C92AAE';
17serviceAppInput.parentRecordId = '001xx000003GYR1AAO';
18serviceAppInput.schedStartTime = DateTime.valueOf('2021-05-28 12:15:00');
19serviceAppInput.schedEndTime = DateTime.valueOf('2021-05-28 12:45:00');
20
21ConnectApi.AssignedResourcesInput asResourceInput = new ConnectApi.AssignedResourcesInput();
22asResourceInput.serviceResourceId = '0Hnxx0000004CAiCAM';
23asResourceInput.isRequiredResource = true;
24asResourceInput.isPrimaryResource = true;
25
26List<ConnectApi.AssignedResourcesInput> asResourceInputList = new List<ConnectApi.AssignedResourcesInput>();
27asResourceInputList.add(asResourceInput);
28
29ConnectApi.CreateServiceAppointmentInput createInput = new ConnectApi.CreateServiceAppointmentInput();
30createInput.serviceAppointment = serviceAppInput;
31createInput.assignedResources = asResourceInputList;
32
33try{
34 ConnectApi.ServiceAppointmentOutput appointmentResult = ConnectApi.LightningScheduler.createServiceAppointment(createInput);
35 String serviceAppointmentId = appointmentResult.result.serviceAppointmentId;
36 List<String> assignedResourceIds = appointmentResult.result.assignedResourceIds;
37}catch(ConnectApi.ConnectApiException ex){
38 //Handle Exception
39}For a lead (authenticated guest
user):
1ConnectApi.LeadInput leadInput = new ConnectApi.LeadInput();
2leadInput.firstName = 'Rachel';
3leadInput.lastName = 'Adams';
4leadInput.phone = '012-345-6789';
5leadInput.email = 'rachel.adams@salesforce.com';
6leadInput.company = 'Salesforce';
7
8ConnectApi.ExtendedFieldInput extendedFieldEmail = new ConnectApi.ExtendedFieldInput();
9extendedFieldEmail.name = 'Email';
10extendedFieldEmail.value = 'rachael.adams@salesforce.com';
11
12ConnectApi.ExtendedFieldInput extendedFieldPhone = new ConnectApi.ExtendedFieldInput();
13extendedFieldPhone.name = 'Phone';
14extendedFieldPhone.value = '1234567890';
15
16List<ConnectApi.ExtendedFieldInput> extendedFieldList = new List<ConnectApi.ExtendedFieldInput>();
17extendedFieldList.add(extendedFieldEmail);
18extendedFieldList.add(extendedFieldPhone);
19
20ConnectApi.ServiceAppointmentInput serviceAppInput = new ConnectApi.ServiceAppointmentInput();
21serviceAppInput.extendedFields = extendedFieldList;
22serviceAppInput.serviceTerritoryId = '0Hhxx0000004C92CAE';
23serviceAppInput.workTypeId = '08qxx0000004C92AAE';
24serviceAppInput.schedStartTime = DateTime.valueOf('2021-05-28 12:15:00');
25serviceAppInput.schedEndTime = DateTime.valueOf('2021-05-28 12:45:00');
26
27ConnectApi.AssignedResourcesInput asResourceInput = new ConnectApi.AssignedResourcesInput();
28asResourceInput.serviceResourceId = '0Hnxx0000004CAiCAM';
29asResourceInput.isRequiredResource = true;
30asResourceInput.isPrimaryResource = true;
31
32List<ConnectApi.AssignedResourcesInput> asResourceInputList = new List<ConnectApi.AssignedResourcesInput>();
33asResourceInputList.add(asResourceInput);
34
35ConnectApi.CreateServiceAppointmentInput createInput = new ConnectApi.CreateServiceAppointmentInput();
36createInput.serviceAppointment = serviceAppInput;
37createInput.assignedResources = asResourceInputList;
38createInput.lead = leadInput;
39
40try{
41 ConnectApi.ServiceAppointmentOutput appointmentResult = ConnectApi.LightningScheduler.createServiceAppointment(createInput);
42 String serviceAppointmentId = appointmentResult.result.serviceAppointmentId;
43 List<String> assignedResourceIds = appointmentResult.result.assignedResourceIds;
44}catch(ConnectApi.ConnectApiException ex){
45 //Handle Exception
46}updateServiceAppointment(updateServiceAppointmentInput)
API Version
53.0
Requires Chatter
No
Signature
public static ConnectApi.ServiceAppointmentOutput updateServiceAppointment(ConnectApi.UpdateServiceAppointmentInput updateServiceAppointmentInput)
Parameters
- updateServiceAppointmentInput
- Type: ConnectApi.UpdateServiceAppointmentInput
- Input parameters to update a service appointment.
Return Value
Example
1ConnectApi.ExtendedFieldInput extendedFieldEmail = new ConnectApi.ExtendedFieldInput();
2extendedFieldEmail.name = 'Email';
3extendedFieldEmail.value = 'rachel.adams@salesforce.com.example';
4
5ConnectApi.ExtendedFieldInput extendedFieldPhone = new ConnectApi.ExtendedFieldInput();
6extendedFieldPhone.name = 'Phone';
7extendedFieldPhone.value = '0123456789';
8
9ConnectApi.ExtendedFieldInput extendedFieldStatus = new ConnectApi.ExtendedFieldInput();
10extendedFieldStatus.name = 'Status';
11extendedFieldStatus.value = 'None';
12
13List<ConnectApi.ExtendedFieldInput> extendedFieldList = new List<ConnectApi.ExtendedFieldInput>();
14extendedFieldList.add(extendedFieldEmail);
15extendedFieldList.add(extendedFieldPhone);
16extendedFieldList.add(extendedFieldStatus);
17
18ConnectApi.ServiceAppointmentInput serviceAppInput = new ConnectApi.ServiceAppointmentInput();
19serviceAppInput.extendedFields = extendedFieldList;
20serviceAppInput.serviceTerritoryId = '0Hhxx0000004C92CAE';
21serviceAppInput.workTypeId = '08qxx0000004C92AAE';
22serviceAppInput.schedStartTime = DateTime.valueOf('2021-05-28 12:15:00');
23serviceAppInput.schedEndTime = DateTime.valueOf('2021-05-28 12:45:00');
24
25ConnectApi.AssignedResourcesInput asResourceInput = new ConnectApi.AssignedResourcesInput();
26asResourceInput.serviceResourceId = '0Hnxx0000004CAiCAM';
27asResourceInput.isRequiredResource = true;
28asResourceInput.isPrimaryResource = true;
29
30//Multi-resource
31ConnectApi.AssignedResourcesInput asResourceInputReq = new ConnectApi.AssignedResourcesInput();
32asResourceInputReq.serviceResourceId = '0Hnxx0000004CAgCAM';
33asResourceInputReq.isRequiredResource = true;
34asResourceInputReq.isPrimaryResource = false;
35
36List<ConnectApi.AssignedResourcesInput> asResourceInputList = new List<ConnectApi.AssignedResourcesInput>();
37asResourceInputList.add(asResourceInput);
38asResourceInputList.add(asResourceInputReq);
39
40ConnectApi.UpdateServiceAppointmentInput updateInput = new ConnectApi.UpdateServiceAppointmentInput();
41updateInput.serviceAppointment = serviceAppInput;
42updateInput.assignedResources = asResourceInputList;
43updateInput.serviceAppointmentId = '08pxx0000004CYqAAM';
44
45try{
46 ConnectApi.ServiceAppointmentOutput appointmentResult = ConnectApi.LightningScheduler.updateServiceAppointment(updateInput);
47 String serviceAppointmentId = appointmentResult.result.serviceAppointmentId;
48 List<String> assignedResourceIds = appointmentResult.result.assignedResourceIds;
49}catch(ConnectApi.ConnectApiException ex){
50 //Handle Exception
51}