The availability interface allows you to configure provider schedules, controlling when they can be booked, what appointment types they provide, and what operatories they can be booked in. This can help you ensure that you only expose appointments slots a practice would like to fill.

All times on an availability are in the locations local time zone. You can see what time zone an availability is in by accessing the tz_offset property which shows the difference in hours and minutes from Coordinated Universal Time or UTC.


NexHealth provider availabilities vs EHR provider availabilities

To use online booking, you MUST have availabilities configured. Availabilities may either read in from the EHR or may be created manual via the /availabilities endpoint.

It is important to note that availabilities in NexHealth can be separate from the schedules available in each health record system. This is a choice to allow providers to configure a separate schedule for booking via NexHealth. You can determine if an existing availability is read from the health record system by looking at the attribute synced. If true, the provider availability is being read in from the EHR and must be updated from within the EHR. If false, the provider availability only exists in NexHealth and will not be pushed into the target EHR.

We can read working hours from the following systems: Denticon, eClinicalWorks, Open Dental, Orthotrac, and Eaglesoft.

Reach out to [email protected] to enable this functionality.

Before booking an appointment you must have at least one availability specifying that the provider can be booked.



Operatory is a required field if the location property map_by_operatory is set to "true".

Availability Recurrences

Availabilities can either repeat on specific days of each week like Monday Tuesday and Friday, or on a custom recurrence. To set up a custom recurrence you provide a ref, specifying when the recurrence begins, unit specifying whether the recurrence is daily, weekly, or monthly, and num specifying how many days/weeks/months happen between each recurrence.


Appointment Slots and Availabilities

Our appointment slots endpoint generates open slots by subtracting booked appointments from provider / operatory availabilities.

Availabilities Response Object

  "code": false,
  "description": "Description",
  "error": [
  "data": [
      "id": 12,
      "provider_id": 7,
      "operatory_id": 149,
      "begin_time": "10:30",
      "end_time": "17:00",
      "appointment_types": [
          "id": 1,
          "name": "Medical",
          "parent_type": "Institution",
          "parent_id": 1,
          "minutes": 15,
          "bookable_online": false
      "days": [
      "specific_date": "2022-11-03",
      "custom_recurrence": {
        "num": 3,
        "unit": "day",
        "ref": "2022-11-03"
      "active": true,
      "synced": true
  "count": 2