---
title: "Update staff member's availability"
method: PUT
path: "/api/sites/multiscreen/{site_name}/booking/staff-members/{id}/availability"
tags: ["Native booking staff members api"]
---

# Update staff member's availability

`PUT /api/sites/multiscreen/{site_name}/booking/staff-members/{id}/availability`

## Request

- Base URL: `https://api.duda.co`
- URL: `https://api.duda.co/api/sites/multiscreen/{site_name}/booking/staff-members/{id}/availability`
- Auth: HTTP basic

Partially updates the staff member's working hours: timezone, weekly availability and date overrides are each updated only when present in the request, and keep their current value when omitted. Note the difference between omitting availability or overrides and sending an empty array - an empty array clears the existing entries, which for availability leaves the staff member bookable at no time at all. When availability is present it replaces the whole weekly schedule rather than being merged into the existing slots, so send the complete set of slots you want.

## Path parameters

- `site_name` string, required
- `id` string, required

## Request body

- ApiAvailabilityRequest
  - `availability` ApiAvailabilitySlot[], nullable: Regular availability slots defining weekly recurring availability. Each slot specifies days of the week and time ranges. If omitted, the availability slots remain unchanged. If provided as an empty array, all existing availability slots will be cleared.
    - `days` ApiDaysEnum[], required: Days of the week for this availability slot. At least one day must be specified. Days can be specified multiple times across different slots to create complex schedules.
    - `end_time` string, required: End time for this availability slot in HH:MM format (24-hour format). Must be later than startTime.
    - `start_time` string, required: Start time for this availability slot in HH:MM format (24-hour format). Must be earlier than endTime.
  - `overrides` ApiScheduleOverride[], nullable: Schedule overrides for specific dates (e.g., holidays, special hours). These override the regular availability for the specified dates. If omitted, the overrides remain unchanged. If provided as an empty array, all existing overrides will be cleared.
    - `date` string, required: Date for the override in YYYY-MM-DD format. This override applies only to this specific date and overrides regular availability.
    - `end_time` string, required: End time for the override in HH:MM format (24-hour format). Must be later than startTime.
    - `start_time` string, required: Start time for the override in HH:MM format (24-hour format). Must be earlier than endTime.
  - `time_zone` string, nullable: Timezone for the schedule (e.g., 'America/New_York', 'Europe/London', 'UTC'). If omitted, the timezone remains unchanged.

## Response `200`

OK

- ApiAvailabilityResponse
  - `availability` ApiAvailabilitySlot[], nullable: Regular availability slots defining weekly recurring availability. Each slot specifies days of the week and time ranges. May be null or empty if no availability slots are configured.
    - `days` ApiDaysEnum[], required: Days of the week for this availability slot. At least one day must be specified. Days can be specified multiple times across different slots to create complex schedules.
    - `end_time` string, required: End time for this availability slot in HH:MM format (24-hour format). Must be later than startTime.
    - `start_time` string, required: Start time for this availability slot in HH:MM format (24-hour format). Must be earlier than endTime.
  - `overrides` ApiScheduleOverride[], nullable: Schedule overrides for specific dates (e.g., holidays, special hours). These override the regular availability for the specified dates. May be null or empty if no overrides are configured.
    - `date` string, required: Date for the override in YYYY-MM-DD format. This override applies only to this specific date and overrides regular availability.
    - `end_time` string, required: End time for the override in HH:MM format (24-hour format). Must be later than startTime.
    - `start_time` string, required: Start time for the override in HH:MM format (24-hour format). Must be earlier than endTime.
  - `time_zone` string, nullable: Timezone for the schedule (e.g., 'America/New_York', 'Europe/London', 'UTC')

## Other responses

- `400`: Non-OK response from the server
- `401`: Unauthorized request - missing or invalid credentials
- `429`: Rate limit exceeded - please refer to api documentation for limits

---

[API](https://skmtc.dev/duda/apis/duda-partner-api.md) - [All operations](https://skmtc.dev/duda/apis/duda-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duda/apis/duda-partner-api/revisions/52be4d41cb12?raw)
