Skip to main content

Serviciile salonului

Serviciile sunt legate de un anumit salon. Fiecare maestru poate avea prețul său pentru un serviciu (service_master_prices).


Listă servicii

GET /api/v1/salons/:id/services

Lista serviciilor salonului cu prețuri pe maeștri. Public.

Răspuns 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"
}
]
}
]
}

Adaugă serviciu

POST /api/v1/salons/:id/services

Adaugă un serviciu în salon. Doar proprietarul salonului.

Cerere

{
"service": {
"name": "Men's Haircut",
"description": "Classic cut",
"duration_min": 30,
"category_id": "uuid"
}
}

Răspuns 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": []
}
}

Actualizare serviciu

PATCH /api/v1/salons/:id/services/:salon_service_id

Actualizează un serviciu. Doar proprietarul salonului.

Cerere

{
"service": {
"name": "Updated Name",
"duration_min": 45
}
}

Răspuns 200

Același corp ca răspunsul POST.


Ștergere serviciu

DELETE /api/v1/salons/:id/services/:salon_service_id

Șterge un serviciu. Doar proprietarul salonului.

Răspuns 200

{
"success": true,
"status": "200",
"message": "Service deleted successfully",
"errors": null,
"data": null
}

Listă maeștri serviciu

GET /api/v1/salons/:id/services/:salon_service_id/masters

Lista maeștrilor atribuiți unui serviciu cu prețuri. Public.

Răspuns 200

{
"success": true,
"status": "200",
"message": "Masters retrieved successfully",
"errors": null,
"data": [
{
"master_id": "uuid",
"price": 150.0,
"first_name": "Ion",
"last_name": "Popescu"
}
]
}

Atribuie maestru serviciului

POST /api/v1/salons/:id/services/:salon_service_id/masters

Atribuie un maestru unui serviciu cu un preț. Doar proprietarul salonului.

Cerere

{
"master_id": "uuid",
"price": 150.0
}

Răspuns 201

{
"success": true,
"status": "201",
"message": "Master assigned successfully",
"errors": null,
"data": {
"master_id": "uuid",
"price": 150.0,
"first_name": "Ion",
"last_name": "Popescu"
}
}

Actualizare preț maestru

PATCH /api/v1/salons/:id/services/:salon_service_id/masters/:master_id

Actualizează prețul unui maestru pentru un serviciu. Doar proprietarul salonului.

Cerere

{
"price": 200.0
}

Răspuns 200

{
"success": true,
"status": "200",
"message": "Price updated successfully",
"errors": null,
"data": {
"master_id": "uuid",
"price": 200.0,
"first_name": "Ion",
"last_name": "Popescu"
}
}

Elimină maestru din serviciu

DELETE /api/v1/salons/:id/services/:salon_service_id/masters/:master_id

Elimină un maestru de pe un serviciu. Doar proprietarul salonului.

Răspuns 200

{
"success": true,
"status": "200",
"message": "Master removed successfully",
"errors": null,
"data": null
}