CreateBookingSessionDto
serviceIdnumberrequired
ID послуги
Example:
12staffIdnumber
ID інструктора (опційно — null для self-service сесій)
Example:
3startTimestring<date-time>required
Example:
2026-06-01T18:00:00ZendTimestring<date-time>required
Example:
2026-06-01T19:00:00Zcapacitynumberrequired
Макс. учасників. >=1
Example:
12capacityEnabledboolean
Чи накладати обмеження на кількість учасників. false → запис не обмежено (підходить для подій з вікнами часу).
Example:
truetitlestring
Possible values: <= 200 characters
Example:
Йога ранковаnotesstring
industryDataobject
Галузеспецифічні дані: { difficulty: "beginner" } і т.п.
minSlotMinutesnumber
Sprint E3: мін. тривалість підслота (хв), який клієнт може взяти в сесії. NULL → сесія працює як Sprint 4 (один спільний слот для всіх).
Example:
30maxSlotMinutesnumber
Sprint E3: макс. тривалість підслота. NULL → до кінця вікна.
Example:
120stepMinutesnumber
Sprint E3: крок (хв) для генерації можливих точок початку.
Example:
15basePricenumber
Sprint E3: базова ціна (за слот або за хв — залежить від домену).
Example:
400CreateBookingSessionDto
{
"serviceId": 12,
"staffId": 3,
"startTime": "2026-06-01T18:00:00Z",
"endTime": "2026-06-01T19:00:00Z",
"capacity": 12,
"capacityEnabled": true,
"title": "Йога ранкова",
"notes": "string",
"industryData": {},
"minSlotMinutes": 30,
"maxSlotMinutes": 120,
"stepMinutes": 15,
"basePrice": 400
}