schedule.setShopHours
Set the shop's booking hours, replacing what was there (owner or office). Days are 0 (Sunday) to 6, times are shop local HH:MM, several blocks a day are fine. An empty list clears them, and find-a-time falls back to Monday to Friday 08:00 to 17:00. Visits outside these hours are still allowed and come back with outside_shop_hours.
| Who | Agents can call this |
| REST | POST /v1/schedule/hours |
| MCP tool | schedule_setShopHours |
| Writes | yes, send an Idempotency-Key |
| Area | Scheduling and visits |
When to use it
Read schedule.settings first: it has the shop's time zone, working hours, arrival window and buffer. Use schedule.findTime to get open times that fit the shop's hours, each worker's hours and time off, and visits already booked with the buffer around them, then book with visits.create.
What to tell the owner
Say what you did in plain words and what happens next.
Input
| Field | Type | Required |
|---|---|---|
shop_id | string (uuid) | yes |
hours | array | yes |
hours[].weekday | integer | yes |
hours[].start | string | yes |
hours[].end | string | yes |
Example
POST https://doingwork.work/v1/schedule/hours
content-type: application/json
Idempotency-Key: 3f1c...
{
"shop_id": "00000000-0000-4000-8000-000000000000",
"hours": [
{
"weekday": 1,
"start": "...",
"end": "..."
}
]
}Output
JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.
Errors
| Code | Status | What to do |
|---|---|---|
invalid_input, invalid_token, rate_limited | Can happen on any call. See errors. |