Услуги салона
Услуги привязаны к конкретному салону. Каждый мастер может иметь свою цену на услугу (service_master_prices).
Список услуг
GET /api/v1/salons/:id/services
Список услуг салона с ценами по мастерам. Публичный.
Ответ 200
{
"success": true,
"status": "200",
"message": "Services retrieved successfully",
"errors": null,
"data": [
{
"id": "uuid",
"name": "Men's Haircut",
"description": "Classic cut",
"duration_min": 30,
"category": "barbershop",
"masters": [
{
"master_id": "uuid",
"price": 150.0,
"first_name": "Ion",
"last_name": "Popescu"
}
]
}
]
}
Добавить услугу
POST /api/v1/salons/:id/services
Добавить услугу в салон. Только владелец салона.
Запрос
{
"service": {
"name": "Men's Haircut",
"description": "Classic cut",
"duration_min": 30,
"category_id": "uuid"
}
}
Ответ 201
{
"success": true,
"status": "201",
"message": "Service added successfully",
"errors": null,
"data": {
"id": "uuid",
"name": "Men's Haircut",
"description": "Classic cut",
"duration_min": 30,
"category": "barbershop",
"masters": []
}
}
Обновить услугу
PATCH /api/v1/salons/:id/services/:salon_service_id
Обновить услугу. Только владелец салона.
Запрос
{
"service": {
"name": "Updated Name",
"duration_min": 45
}
}
Ответ 200
Тело аналогично POST response.
Удалить услугу
DELETE /api/v1/salons/:id/services/:salon_service_id
Удалить услугу. Только владелец салона.
Ответ 200
{
"success": true,
"status": "200",
"message": "Service deleted successfully",
"errors": null,
"data": null
}
Список мастеров услуги
GET /api/v1/salons/:id/services/:salon_service_id/masters
Список мастеров, назначенных на услугу, с ценами. Публичный.
Ответ 200
{
"success": true,
"status": "200",
"message": "Masters retrieved successfully",
"errors": null,
"data": [
{
"master_id": "uuid",
"price": 150.0,
"first_name": "Ion",
"last_name": "Popescu"
}
]
}
Назначить мастера на услугу
POST /api/v1/salons/:id/services/:salon_service_id/masters
Назначить мастера на услугу с ценой. Только владелец салона.
Запрос
{
"master_id": "uuid",
"price": 150.0
}
Ответ 201
{
"success": true,
"status": "201",
"message": "Master assigned successfully",
"errors": null,
"data": {
"master_id": "uuid",
"price": 150.0,
"first_name": "Ion",
"last_name": "Popescu"
}
}
Обновить цену мастера
PATCH /api/v1/salons/:id/services/:salon_service_id/masters/:master_id
Обновить цену мастера на услугу. Только владелец салона.
Запрос
{
"price": 200.0
}
Ответ 200
{
"success": true,
"status": "200",
"message": "Price updated successfully",
"errors": null,
"data": {
"master_id": "uuid",
"price": 200.0,
"first_name": "Ion",
"last_name": "Popescu"
}
}
Удалить мастера из услуги
DELETE /api/v1/salons/:id/services/:salon_service_id/masters/:master_id
Убрать мастера с услуги. Только владелец салона.
Ответ 200
{
"success": true,
"status": "200",
"message": "Master removed successfully",
"errors": null,
"data": null
}