# Set team member schedules

Sets work schedules for team members by date.

Supports both setting new schedules and deleting existing ones in a single request.

Returns the resulting schedules for affected team members within the date range
from minimum to maximum modified date.

Endpoint: PUT /locations/{location_id}/team_members/schedule
Version: 1.0.0
Security: BearerPartnerUser

## Security:

  - `BearerPartnerUser` (unknown)
    http bearer Bearer {PartnerToken}, User {UserToken}

## Path parameters:

  - `location_id` (integer, required)
    Location ID

## Header parameters:

  - `Accept` (string, required)

  - `Content-Type` (string, required)

  - `Authorization` (string, required)
    Bearer {partner_token}, User {user_token}

## Request fields (application/json):

  - `schedules_to_set` (array)
    Schedules to create or update

  - `schedules_to_set.staff_id` (integer)
    Team Member ID. `staff_id` is the required legacy nested wire field;
nested request aliases are not expanded.
    Example: 12345

  - `schedules_to_set.dates` (array)
    Dates to set schedule for (YYYY-MM-DD)
    Example: ["2026-01-31","2026-02-01"]

  - `schedules_to_set.slots` (array)
    Working time intervals

  - `schedules_to_set.slots.from` (string)
    Interval start time (HH:mm)
    Example: 10:00

  - `schedules_to_set.slots.to` (string)
    Interval end time (HH:mm)
    Example: 19:00

  - `schedules_to_delete` (array)
    Schedules to delete (make non-working days)

  - `schedules_to_delete.staff_id` (integer)
    Team Member ID. `staff_id` is the required legacy nested wire field;
nested request aliases are not expanded.
    Example: 12345

  - `schedules_to_delete.dates` (array)
    Dates to delete schedule for (YYYY-MM-DD)
    Example: ["2026-02-02","2026-02-03"]

## Response 200:

  - `200` (unknown)
    Schedules updated successfully

## Response 200 fields (application/json):

  - `success` (boolean)
    Example: true

  - `data` (array)
    Resulting schedules for modified team members

  - `data.staff_id` (integer)
    Team Member ID. `staff_id` is the literal legacy response field.
    Example: 12345

  - `data.date` (string)
    Example: 2026-01-31

  - `data.slots` (array)

  - `data.slots.from` (string)
    Example: 10:00

  - `data.slots.to` (string)
    Example: 19:00

  - `meta` (object)

  - `meta.count` (integer)
    Example: 2

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `success` (boolean)
    Example: false

  - `data` (null)

  - `meta` (object)

## Response 403:

  - `403` (unknown)
    Forbidden - insufficient permissions

## Response 403 fields (application/json):

  - `success` (boolean)
    Example: false

  - `data` (null)

  - `meta` (object)

## Response 404:

  - `404` (unknown)
    Location or team member not found

## Response 404 fields (application/json):

  - `success` (boolean)
    Example: false

  - `data` (null)

  - `meta` (object)

## Response 422:

  - `422` (unknown)
    Validation error (e.g., overlapping intervals)

## Response 422 fields (application/json):

  - `success` (boolean)
    Example: false

  - `data` (null)

  - `meta` (object)

  - `meta.message` (string)

  - `meta.errors` (object)

