---
schema_version: "1"
id: 81395d61767cb3d15086afb80e4c36f9e582df78a239d7268bb06b6b4022e54b
title: BookAppointmentRequest Class
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 9e092fa77b289fd190e513b47c1a91e19983de73d0da089db70e7a823e46cd15
description: Contains set of options to book a healthcare appointment.Represents the type of appointment, such as annual physical or intake examination.Represents optional extra information about the appointment.Specifies the type of service to be performed at the appointment, such as dental cleaning or surgery.Represents the time period slot that’s assigned to the appointment.Represents the ID in the source system of the facility where the encounter will occur.Represents the ID in the source system of the patient.Represents the ID in the source system of the practitioner with whom the encounter will occur.Represents the name of the source system the patient record came from.
---
# BookAppointmentRequest Class

Contains set of options to book a healthcare appointment.

## Namespace

[healthcloudext](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_namespace_healthcloudext.htm "The HealthCloudExt namespace provides an interface and classes for Health Cloud to integrate with a source electronic health records (EHR) system.")

## Usage

To book an appointment, we need to know the availability of a given practitioner at a given facility. To get this information, Health Cloud queries the specific source EHR system, using the IDs of the practitioner and the facility as stored in that source system.

Practitioner and Facility IDs:

- The source system ID comes from the Healthcare Practitioner Facility record for the practitioner+facility combination.
- The source system facility ID comes from an Identifier record that looks up to the Contact record for the practitioner, with the same source system as the Healthcare Practitioner Facility record.
- The source system facility ID comes from an Identifier record that looks up to the Account record for the facility, with the same source system as the Healthcare Practitioner Facility record.

The source system requires Appointment Type and Service Type codes that are derived from the “visit type” (Work Type record) selected by the call center agent. These codes are configured via Work Type Code Set Bundle records, one per Work Type, with lookups to Code Set Bundle and Code Sets for the Service Type and Appointment Type codes in each Source System the org integrates with.

- **[BookAppointmentRequest Properties](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_properties)**

## BookAppointmentRequest Properties

The following are properties for BookAppointmentRequest.

- **[appointmentType](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_appointmentType)**  
    Represents the type of appointment, such as annual physical or intake examination.
- **[note](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_note)**  
    Represents optional extra information about the appointment.
- **[serviceType](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_serviceType)**  
    Specifies the type of service to be performed at the appointment, such as dental cleaning or surgery.
- **[slot](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_slot)**  
    Represents the time period slot that’s assigned to the appointment.
- **[sourceFacilityId](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_sourceFacilityId)**  
    Represents the ID in the source system of the facility where the encounter will occur.
- **[sourcePatientId](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_sourcePatientId)**  
    Represents the ID in the source system of the patient.
- **[sourcePractitionerId](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_sourcePractitionerId)**  
    Represents the ID in the source system of the practitioner with whom the encounter will occur.
- **[sourceSystem](https://developer.salesforce.com/docs/atlas.en-us.health_cloud_object_reference.meta/health_cloud_object_reference/apex_class_healthcloudext_BookAppointmentRequest.htm#apex_healthcloudext_BookAppointmentRequest_sourceSystem)**  
    Represents the name of the source system the patient record came from.

### appointmentType

Represents the type of appointment, such as annual physical or intake examination.

#### Signature

public String appointmentType {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### note

Represents optional extra information about the appointment.

#### Signature

public String note {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### serviceType

Specifies the type of service to be performed at the appointment, such as dental cleaning or surgery.

#### Signature

public String serviceType {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### slot

Represents the time period slot that’s assigned to the appointment.

#### Signature

public String slot {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### sourceFacilityId

Represents the ID in the source system of the facility where the encounter will occur.

#### Signature

public String sourceFacilityId {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### sourcePatientId

Represents the ID in the source system of the patient.

#### Signature

public String sourcePatientId {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### sourcePractitionerId

Represents the ID in the source system of the practitioner with whom the encounter will occur.

#### Signature

public String sourcePractitionerId {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)

### sourceSystem

Represents the name of the source system the patient record came from.

#### Signature

public String sourceSystem {get; set;}

#### Property Value

Type: [String](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_methods_system_string.htm)