Перейти до основного вмісту

CreateServiceDto

namestringrequired

Название услуги

Possible values: <= 255 characters

Example: Стрижка мужская
descriptionstring

Описание услуги

Example: Классическая мужская стрижка
durationnumberrequired

Длительность услуги в минутах

Example: 30
pricenumberrequired

Цена услуги

Example: 1500
defaultTrainerPayoutobject

Phase 2: дефолтна виплата тренеру за послугу (prefill у модалці брони). Активне для індустрій з customBookingPricing=true.

Example: 400
trainerPayoutTypestring

Тип виплати тренеру: fixed (сума ₴) або percent (% від ціни запису). Інтерпретує defaultTrainerPayout. Default fixed.

Possible values: [fixed, percent]

Example: fixed
statusstring

Статус услуги

Possible values: [active, inactive]

Example: active
bufferTimeBeforenumber

Буферное время перед услугой (минуты)

Example: 5
bufferTimeAfternumber

Буферное время после услуги (минуты)

Example: 5
isOnlineboolean

Доступна ли услуга для онлайн-записи

Example: true
isFreeboolean

Безкоштовна послуга

Example: false
requiresSubscriptionboolean

Доступна лише за наявності абонемента

Example: false
categorystring

Категория услуги

Example: Стрижка
categoryIdobjectnullable

FK на service_categories (нормалізована категорія)

Example: 3
staffOptionalboolean

Чи можна записатись без вибору лікаря/майстра (напр. аналізи). Інверсія UI-перемикача «Потрібен лікар».

Example: false
industryData object

Industry-specific data (e.g. { type: "regular" | "event_template", ... })

property name*any

Industry-specific data (e.g. { type: "regular" | "event_template", ... })

requiredResourceTypeIdsnumber[]

Список ID resource_types, без яких послугу неможливо виконати (equestrian: [horseTypeId] — потрібен кінь).

Example: [1]
CreateServiceDto
{
"name": "Стрижка мужская",
"description": "Классическая мужская стрижка",
"duration": 30,
"price": 1500,
"defaultTrainerPayout": 400,
"trainerPayoutType": "fixed",
"status": "active",
"bufferTimeBefore": 5,
"bufferTimeAfter": 5,
"isOnline": true,
"isFree": false,
"requiresSubscription": false,
"category": "Стрижка",
"categoryId": 3,
"staffOptional": false,
"industryData": {},
"requiredResourceTypeIds": [
1
]
}