Перейти к основному содержимому

Услуги салона

Услуги привязаны к конкретному салону. Каждый мастер может иметь свою цену на услугу (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
}