Level 2a -Multiple providers, multiple operatories, lunch breaks (manual)
Go back to the main guide here: https://docs.nexhealth.com/docs/scheduling-configuration-guide#/
Happy Smiles Dental - Configuration 2
The practice has two dentists and a hygienist. Dr. Smith works out of Operatory 3, Dr. Patel splits between Operatories 1 and 2, and Hygienist Lee floats across all three. Each provider has a break in the middle of their day. Hours are still fixed each week.
Two new things at this level: additional working hour records (one per provider-operatory pair) and gaps in the day (lunch). Manual handles both by treating them as data structure problems — more POSTs, split records.
Configure
For Dr. Patel working two operatories, you POST twice where each working hour record binds a single operatory_id.
For lunch, you split the day into two records: a 9:00–12:00 morning block and a 1:00–5:00 afternoon block. There's no "lunch" concept in manual configuration. Lunch is just an absence between two records.
# Dr. Patel, Operatory 1, morning
curl -X POST 'https://nexhealth.info/working_hours?subdomain=YOUR_SUBDOMAIN&location_id=YOUR_LOCATION_ID' \
-H 'Nex-Api-Version: v20240412' \
-H 'Authorization: Bearer YOUR_BEARER_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"working_hour": {
"active": true,
"provider_id": 158936025,
"begin_time": "09:00",
"end_time": "12:00",
"operatory_id": 1,
"days": ["Monday","Wednesday"]
}
}'
# Dr. Patel, Operatory 1, afternoon — second POST with begin_time 13:00, end_time 17:00
# Dr. Patel, Operatory 2, morning + afternoon — two more POSTsA GET /working_hours call for the location returns the individual provider working hour records. For the practice above, that's roughly 18 records with one per provider, per operatory assignment, per half-day.
Response (trimmed)
"data": [
{
"id": 96878614,
"provider_id": 158936025,
"location_id": 21241,
"operatory_id": 1,
"begin_time": "09:00",
"end_time": "12:00",
"days": ["Monday","Wednesday"],
"active": true,
"source": "manual",
"label": null
},
{
"id": 96879940,
"provider_id": 158936025,
"location_id": 21241,
"operatory_id": 2,
"begin_time": "09:00",
"end_time": "12:00",
"days": ["Monday","Wednesday"],
"active": true,
"source": "manual",
"label": null
},
{
"id": 96878901,
"provider_id": 158936025,
"location_id": 21241,
"operatory_id": 2,
"begin_time": "13:00",
"end_time": "17:00",
"days": ["Monday","Wednesday"],
"active": true,
"source": "manual",
"label": null
},
{
"id": 96883945,
"provider_id": 158936025,
"location_id": 21241,
"operatory_id": 1,
"begin_time": "13:00",
"end_time": "17:00",Gotchas
One provider working day, multiple records.
A provider working two operatories returns two records, not one with multiple operatories. A provider with a lunch break returns two records per day, not one with a gap.