Skip to content

Установить шаблон графика текущего мастера

Request

Устанавливает одинаковое рабочее время и перерывы на включительный диапазон start_day..end_day выбранного месяца.

days_off содержит номера дней месяца, которые нужно сделать выходными:

  • в эти дни рабочий интервал и перерывы из шаблона не применяются;
  • существующие рабочий интервал и перерывы этих дней удаляются;
  • каждый день должен входить в диапазон start_day..end_day;
  • повторяющиеся номера дней запрещены;
  • если в выходной день уже есть запись клиента, сервер возвращает 409 conflict.

Перед изменением проверяются все рабочие и выходные дни. При конфликте шаблон не применяется ни к одному дню. Сохранение шаблона и обновление календаря выполняются атомарно.

Доступ:

  • только роли MASTER или SALON
  • требуется JWT
Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
yearinteger, (int32), >= 2026required

Год, на который применяются настройки календаря. Не должен быть в прошлом и должен быть меньше текущего года + 5.

Example:2026
monthstringrequired

Месяц, на который применяются настройки календаря. Значение enum java.time.Month.

Enum:"JANUARY""FEBRUARY""MARCH""APRIL""MAY""JUNE""JULY""AUGUST""SEPTEMBER""OCTOBER"
Example:"MAY"
start_dayinteger, (int32), [ 1 .. 31 ]required

Первый день месяца, с которого применяются настройки. Должен быть меньше end_day; дата начала не может быть в прошлом.

Example:1
end_dayinteger, (int32), [ 1 .. 31 ]required

Последний день месяца, до которого применяются настройки. Должен быть больше start_day и не больше количества дней в выбранном месяце.

Example:30
work_time_intervalobject(CalendarTimeInterval)required
break_intervalsArray of objects(BreakTimeInterval)

Список интервалов перерывов внутри рабочего времени.

days_offArray of integers, unique

Уникальные номера дней месяца внутри диапазона start_day..end_day, которые должны стать выходными. Для них шаблон не создаёт рабочее время или перерывы и удаляет ранее установленные интервалы. Если хотя бы на один из этих дней существует запись клиента, весь запрос завершается ответом 409 без изменений.

Example:
[ 6, 7, 13, 14 ]
curl -i -X POST \
  https://felmee.com/api/calendar/work-schedule \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "year": 2026,
    "month": "JUNE",
    "start_day": 1,
    "end_day": 15,
    "work_time_interval": {
      "start_time": "09:00",
      "end_time": "18:00"
    },
    "break_intervals": [
      {
        "start_time": "12:00",
        "end_time": "12:30"
      }
    ],
    "days_off": [
      6,
      7,
      13,
      14
    ]
  }'

Responses

Рабочий график успешно создан

Bodyapplication/json
codeErrorstring or nullrequired

Устаревший camelCase-alias поля error_code; при ошибке оба поля содержат одинаковое значение.

successbooleanrequired

Флаг успешного выполнения запроса

messagestringrequired

Человекочитаемое описание результата

error_codestring or null(ERROR_CODE)required

Код ошибки. Для успешных ответов всегда null.

Enum:"invalid_body""unauthorized""not_found""conflict""object_modified_by_another_thread""action_too_late""too_many_request""code_is_gone""forbidden""user_blocked"
dataobject or null(WorkSchedulesData)required

Полезная нагрузка. Может быть объектом, массивом или null.

Response
{ "success": true, "message": "Work schedule created successfully", "codeError": null, "error_code": null, "data": { "work_schedules": [] } }