schedule.addOpenSlots
Mark times open for the shop's voice agent to book callers into (owner or office). The agent books them only when phone.setVoiceAi has book_open_slots true, which is off by default. Each slot is at most 12 hours and in the future. A booked slot becomes a request with that time for the office.
| Who | Agents can call this |
| REST | POST /v1/schedule/open-slots |
| MCP tool | schedule_addOpenSlots |
| 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 |
slots | array | yes |
slots[].starts_at | string (date-time) | yes |
slots[].ends_at | string (date-time) | yes |
Example
POST https://doingwork.work/v1/schedule/open-slots
content-type: application/json
Idempotency-Key: 3f1c...
{
"shop_id": "00000000-0000-4000-8000-000000000000",
"slots": [
{
"starts_at": "...",
"ends_at": "..."
}
]
}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. |