Troubleshooting available slots
Eight checks to run, in order, when no slots come back.
GET /available_slots returns no slots when nothing in the requested window passes its checks. Work through this list in order.
1. Read next_available_date
If no slots are found, next_available_date holds the next day with valid slots. If it is null, there are no valid slots in the next 180 days. That points to a setup problem, not a full schedule.
2. Check the request window
start_date plus days sets the range the endpoint looks at. Slot times are queried and returned in the local timezone of the location. Keep days at 14 or fewer for the best response time, and use next_available_date to move the window forward.
3. Check the working hours of the provider
Working hours are the source of truth for when a provider can be booked. The endpoint only considers working hour records that fall inside the window. If the provider has none, no slots come back.
List working hours with GET /working_hours. The source attribute of a working hour tells you whether it is synced from the health record system or was created by your application. See the Scheduling Configuration Guide for setup.
4. Check the appointment type
Passing appointment_type_id does two things. It sets the slot length to the minutes value of the appointment type. It also limits the search to working hours associated with that appointment type.
Working hour records have no appointment type by default. A request with appointment_type_id returns no slots until you associate the appointment type with the working hours of the provider.
5. Check the operatory
Without operatory_ids[], the endpoint returns slots for only the first available operatory, even when the provider has availability in several. Pass operatory_ids[] when booking is mapped to operatories at the location. To get every open operatory for a given time, set overlapping_operatory_slots to true.
6. Check slot length and interval
slot_length defaults to 15 minutes. A longer slot has to fit inside an open stretch of working hours. slot_interval defaults to the slot length, so a 60 minute slot is only offered at 60 minute steps unless you set a smaller interval.
7. Check what is blocking the time
Existing appointments, schedule blocks and calendar unavailabilities all remove slots. Blocks are read as appointments with unavailable set to true.
8. Check the sync
The schedule NexHealth holds is as fresh as the last read from the health record system. If the sync is down, availability can be out of date. See Interpreting sync status.
Updated about 17 hours ago