You may search for a maximum of 7 days of appointment availability per request.
All availability searches must specify a single appointment_type_id.
Availability may be filtered using any combination of business, practitioner, profession, or resource. When multiple filters are supplied, only times matching all provided criteria will be returned.
PracSuite users define daily practitioner availability using Rosters. Users can apply three availability flags to control which tools can book at particular times:
- Manual - Allows staff to manually book appointments during these times
- Online Booking - Allows these times to be booked through the PracSuite online booking system
- Waiting List - Allows the PracSuite waiting list to offer these times to patients
Use the manual, online, and waiting_list query parameters to filter available times based on these roster flags. If none of these parameters are supplied, only times available for manual bookings will be returned.
Users define default appointment duration rules per Appointment Type. These defaults may vary based on business, profession, practitioner, and client fee category, which is determined by the combination of client_id and account_id.
When available, client_id and account_id should be provided to ensure the correct Appointment Type default configuration is applied.
Determines how availability is evaluated when multiple resource_ids are provided.
- When true, the system returns time slots where only one of the specified resources is available.
- When false, the system returns time slots where all specified resources are available simultaneously.
Controls whether the same appointment time is returned when it is available with multiple practitioners.
When true, appointment times are deduplicated so each time is returned once, even if multiple practitioners are available at that time. One practitioner is selected automatically.
When false, the same time may be returned multiple times, once for each available practitioner.
Overrides the default duration for the appointment as defined in Get Appointment Type
curl -i -X GET \
'https://api.pracsuite.com/v1/available_appointments?from=2026-01-01&to=2026-01-07&appointment_type_id=0&client_id=0&account_id=0&business_ids=0&practitioner_ids=0&profession_ids=0&resource_ids=0&requires_single_resource=true&manual=true&online=false&waiting_list=false&distinct_times=true&buffer=60&duration=0&page=1&page_size=50' \
-H 'a-api-key: YOUR_API_KEY_HERE' \
-H 'x-api-key: YOUR_API_KEY_HERE'{ "available_times": [ { … } ], "total_entries": 0, "links": { "self": "https://api.pracsuite.com/v1/available_appointments?page=2&appointment_type_id=1&from=2025-01-01&to=2025-01-07", "previous": "https://api.pracsuite.com/v1/available_appointments?page=1&appointment_type_id=1&from=2025-01-01&to=2025-01-07", "next": "https://api.pracsuite.com/v1/available_appointments?page=3&appointment_type_id=1&from=2025-01-01&to=2025-01-07" } }