API Reference

Appointment Slots

Appointment slots provides a query interface for API users to retrieve valid start times for booking an appointment. Appointment slots require a subdomain to be provided and accepts an array of location ids or lids and provider ids or pids, so you can retrieve 'slots' for more than one location and provider at a time.

Appointment slots is a utility built by querying availabilities, which define when providers are available for booking, and appointments which define which slots are already booked.

❗️

Multiple Operatories

If the same time slot is available in multiple operatories only one slot will be returned.

👍

next_available_date

If no slots are found, the "next_available_date" property will contain the next day with valid slots. If there are no valid slots within 180 days this field will be null.

Slot Length and Slot Interval

Slot length is the length of availability you are looking to receive viable start times for. The endpoint will respond with possible start times for a 15 minute appointment by default. You can set this yourself by providing a slot_length parameter. Additionally, if a category_id is provided, slot_length will be set to the duration of that category for each provider/operatory.

If you provide both category_id and slot_length the length of the category_id takes precedence over slot_length.

Slot interval is the frequency with which to validate start times. The default is to check in increments matching the slot_length in minutes. So if slot_length is set to 60 minutes, then valid appointment start times will only be returned in 60 minute increments even if you could potentially book an appointment 5 minutes after a returned slot. You may set this manually by specifying the slot_interval parameter.

❗️

Timezones

Take note that slots times are always queried and returned in the location's local timezone!

Appointment Slots Response Object

{
  "code": false,
  "description": [
    [
      "Description"
    ]
  ],
  "error": [
    [
      "Error"
    ]
  ],
  "data": [
    {
      "lid": 1,
      "pid": 0,
      "operatory_id": 54,
      "slots": [
        {
          "time": "2017-10-09T07:00:00.000-04:00",
          "operatory_id": 0,
          "provider_id": 83
        }
      ]
    }
  ],
  "count": 2
}