Skip to content

Рассчитать checkout перед созданием записи

Request

Возвращает упорядоченную историю изменения цены для экрана подтверждения записи. Первый элемент всегда содержит базовую цену. Если действует акция, следующим элементом возвращается цена после акции. После этого к уже сниженной цене применяется не более одной реферальной скидки с приоритетом:

  1. постоянная скидка у приглашённого бизнеса;
  2. максимальный доступный реферальный купон;
  3. постоянная скидка текущего реферального уровня.

Поле type предназначено для логики интерфейса, а description — для отображения причины изменения цены. Расчёт не расходует купон и не создаёт запись.

Security
bearerAuth or jwtCookie
Bodyapplication/jsonrequired
service_idinteger, (int64), >= 1required
master_user_idinteger or null, (int64), >= 1

ID мастера салона. Передаётся только при записи на услугу салона.

startstring, (date-time)required

Время начала бронирования в формате ISO-8601. Должно быть раньше end.

Example:"2026-03-11T10:00:00Z"
endstring, (date-time)required

Время конца бронирования в формате ISO-8601. Максимальная длительность интервала - 24 часа.

Example:"2026-03-11T11:00:00Z"
client_commentstring or null, <= 1000 characters

Необязательный комментарий клиента. Сохраняется при создании записи и не может быть изменён.

Example:"Френч, короткие ногти"
curl -i -X POST \
  https://felmee.com/api/record/checkout \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "service_id": 20,
    "master_user_id": 40,
    "start": "2026-08-04T10:00:00Z",
    "end": "2026-08-04T11:00:00Z"
  }'

Responses

Checkout успешно рассчитан

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(CheckoutPriceData)required

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

Response
{ "success": true, "message": "Checkout successfully calculated", "codeError": null, "error_code": null, "data": { "items": [], "final_price": 880 } }