Skip to content

Создать запрос на перенос записи

Request

Создаёт запрос на перенос существующей записи.

Перед созданием сервер проверяет:

  • корректность тела запроса
  • что запись с таким record_id существует
  • что текущий пользователь является исполнителем записи: индивидуальным мастером, владельцем салона или админом салона с правом RECORD_RESCHEDULE
  • что запись находится в статусе BOOKED
  • что до начала записи осталось не менее 1 часа
  • что для пары record_id + sender_id еще не существует запроса на перенос; для салона sender_id = salon_id

После создания в Messenger отправляется request-сообщение:

  • action = RESCHEDULE
  • source_request_id = reschedule_record_request.id
  • payload соответствует RescheduleRequestPayload

Требования:

  • требуется JWT
Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
record_idinteger, (int64), >= 1required

Идентификатор записи, для которой создается запрос на перенос.

Example:101
percent_compensationinteger, [ 1 .. 99 ]required

Процент компенсации при переносе записи.

Example:15
released_slot_actionstring(ReleasedSlotAction)
Default:"NONE"
Enum:"NONE""BLOCK""ACTION"
released_slot_action_percentinteger or null, [ 1 .. 99 ]

Percent action for the released slot. Allowed only when released_slot_action is ACTION.

Example:20
curl -i -X POST \
  https://felmee.com/api/record/reschedule \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "record_id": 101,
    "percent_compensation": 15,
    "released_slot_action": "ACTION",
    "released_slot_action_percent": 20
  }'

Responses

Запрос на перенос успешно создан

Bodyapplication/json
codeErrorstring or nullrequired

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

successbooleanrequired

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

Example:true
messagestringrequired

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

Example:"OK"
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"
Example:null
dataany or nullrequired

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

Example:null
Response
{ "success": true, "message": "Reschedule request created successfully", "error_code": null, "data": null }