Newer Version Available

This content describes an older version of this product. View Latest

LightningScheduler Class

Create and update service appointments.

Namespace

ConnectApi

LightningScheduler Methods

The following are methods for LightningScheduler. All methods are static.

createServiceAppointment(createServiceAppointmentInput)

Create a service appointment.

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.

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)

Update a service appointment.

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.

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}