API Reference

Schedule

Read and manage a business's weekly opening hours, holiday exceptions, and the unified calendar view that merges hours, bookings, and events. The schedule resource is the source of truth that Availability computes open slots from.

Scope and plan

Reads require schedule:read, mutations require schedule:write. API keys are available on the PRO and ENTERPRISE plans.

Get weekly hours

GET/businesses/{businessId}/schedule
schedule:readPRO plan

Path parameters

NameTypeRequiredDescription
businessIduuidRequiredYour business id.
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/schedule" \
  -H "X-API-Key: sk_live_..."
[
  { "dayOfWeek": "MONDAY",    "startTime": "09:00", "endTime": "18:00", "isOpen": true },
  { "dayOfWeek": "TUESDAY",   "startTime": "09:00", "endTime": "18:00", "isOpen": true },
  { "dayOfWeek": "SUNDAY",    "startTime": "00:00", "endTime": "00:00", "isOpen": false }
]

Update a day's hours

PUT/businesses/{businessId}/schedule/{dayOfWeek}
schedule:writePRO plan

Path parameters

NameTypeRequiredDescription
businessIduuidRequiredYour business id.
dayOfWeekenumRequiredMONDAY through SUNDAY.

Body parameters

NameTypeRequiredDescription
startTimestringOptionalOpening time in HH:mm.
endTimestringOptionalClosing time in HH:mm.
isOpenbooleanOptionalWhether the business is open that day.
curl -X PUT "https://api.salonify.eu/api/v1/businesses/b_8f3a/schedule/SATURDAY" \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "startTime": "10:00", "endTime": "16:00", "isOpen": true }'
{ "dayOfWeek": "SATURDAY", "startTime": "10:00", "endTime": "16:00", "isOpen": true }

Replace the whole week

PUT/businesses/{businessId}/schedule/bulk
schedule:writePRO plan

Body parameters

NameTypeRequiredDescription
schedulesobject[]RequiredArray of { dayOfWeek, startTime, endTime, isOpen? }.
curl -X PUT "https://api.salonify.eu/api/v1/businesses/b_8f3a/schedule/bulk" \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "schedules": [
    { "dayOfWeek": "MONDAY", "startTime": "09:00", "endTime": "18:00", "isOpen": true }
  ] }'
[
  { "dayOfWeek": "MONDAY", "startTime": "09:00", "endTime": "18:00", "isOpen": true }
]

Unified calendar view

GET/businesses/{businessId}/schedule/calendar
schedule:readPRO plan

Returns a merged view of opening hours, bookings, and events for a date range.

Query parameters

NameTypeRequiredDescription
startDatedateRequiredRange start (YYYY-MM-DD).
endDatedateRequiredRange end (YYYY-MM-DD).
staffIduuidOptionalFilter to a single staff member.
curl "https://api.salonify.eu/api/v1/businesses/b_8f3a/schedule/calendar?startDate=2026-07-01&endDate=2026-07-07" \
  -H "X-API-Key: sk_live_..."
{
  "days": [
    {
      "date": "2026-07-01",
      "isOpen": true,
      "openTime": "09:00",
      "closeTime": "18:00",
      "bookings": [
        { "id": "bk_3f9c2a", "startTime": "09:00", "endTime": "10:00", "staffId": "st_4d11" }
      ],
      "events": []
    }
  ]
}

Schedule exceptions

Holidays and one-off closures live under /schedule/exceptions (list at /schedule/exceptions/list), and use the same schedule:read / schedule:write scopes. Create one with a date, isClosed, and an optional reason.