Services
Endpoints to get the service catalog.
GET
/api/v1/servicios/
Lists all active services of the business.
Query parameters
| Parameter | Type | Description |
|---|---|---|
categoria_id |
integer | Filter by category |
reservable_online |
boolean | Only bookable online services |
destacado |
boolean | Only featured services |
lang |
string | Language: es, en, ar (default: es) |
Request example
cURL
curl -X GET "https://app.salonbookit.com/api/v1/servicios/?reservable_online=true" \
-H "X-API-Key: hh_pub_live_abc123..."
Response (200 OK)
JSON
{
"success": true,
"data": {
"servicios": [
{
"id": 15,
"nombre": "Corte Clásico",
"descripcion": "Corte de cabello tradicional con tijera y máquina",
"duracion_minutos": 30,
"precio": 25.00,
"precio_oferta": null,
"puntos_otorga": 25,
"puntos_canjea": 250,
"imagen_url": "https://app.salonbookit.com/media/servicios/corte.jpg",
"categoria": {
"id": 1,
"nombre": "Cortes"
},
"reservable_online": true,
"destacado": true,
"profesionales_ids": [5, 8, 12]
},
{
"id": 16,
"nombre": "Afeitado Clásico",
"descripcion": "Afeitado tradicional con navaja y toalla caliente",
"duracion_minutos": 20,
"precio": 15.00,
"precio_oferta": 12.00,
"puntos_otorga": 15,
"puntos_canjea": 150,
"imagen_url": "https://app.salonbookit.com/media/servicios/afeitado.jpg",
"categoria": {
"id": 2,
"nombre": "Afeitados"
},
"reservable_online": true,
"destacado": false,
"profesionales_ids": [5, 8]
}
],
"total": 12,
"moneda": "EUR",
"simbolo_moneda": "€"
}
}
Response fields
| Field | Type | Description |
|---|---|---|
id |
integer | Unique service ID |
nombre |
string | Service name |
descripcion |
string | Detailed description |
duracion_minutos |
integer | Duration in minutes |
precio |
number | Regular price |
precio_oferta |
number|null | Discounted price (if applicable) |
puntos_otorga |
integer | Loyalty points awarded |
puntos_canjea |
integer | Points needed to redeem for free |
profesionales_ids |
array | IDs of professionals offering this service |
GET
/api/v1/servicios/{id}/
Gets the details of a specific service.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id |
integer | Service ID |
Request example
cURL
curl -X GET "https://app.salonbookit.com/api/v1/servicios/15/" \
-H "X-API-Key: hh_pub_live_abc123..."
Response (200 OK)
JSON
{
"success": true,
"data": {
"id": 15,
"nombre": "Corte Clásico",
"descripcion": "Corte de cabello tradicional con tijera y máquina. Incluye lavado y peinado.",
"duracion_minutos": 30,
"precio": 25.00,
"precio_oferta": null,
"puntos_otorga": 25,
"puntos_canjea": 250,
"imagen_url": "https://app.salonbookit.com/media/servicios/corte.jpg",
"galeria": [
"https://app.salonbookit.com/media/servicios/corte-1.jpg",
"https://app.salonbookit.com/media/servicios/corte-2.jpg"
],
"categoria": {
"id": 1,
"nombre": "Cortes",
"descripcion": "Todos nuestros servicios de corte de cabello"
},
"reservable_online": true,
"destacado": true,
"profesionales": [
{
"id": 5,
"nombre": "Carlos GarcÃa",
"imagen_url": "https://app.salonbookit.com/media/staff/carlos.jpg"
},
{
"id": 8,
"nombre": "Miguel López",
"imagen_url": "https://app.salonbookit.com/media/staff/miguel.jpg"
}
],
"servicios_relacionados": [
{
"id": 16,
"nombre": "Afeitado Clásico",
"precio": 15.00
},
{
"id": 20,
"nombre": "Corte + Barba",
"precio": 35.00
}
]
}
}
GET
/api/v1/categorias/
Lists service categories.
Query parameters
| Parameter | Type | Description |
|---|---|---|
tipo |
string | servicio or producto |
Response (200 OK)
JSON
{
"success": true,
"data": {
"categorias": [
{
"id": 1,
"nombre": "Cortes",
"descripcion": "Cortes de cabello",
"imagen_url": null,
"orden": 1,
"servicios_count": 5
},
{
"id": 2,
"nombre": "Afeitados",
"descripcion": "Afeitados y arreglo de barba",
"imagen_url": null,
"orden": 2,
"servicios_count": 3
},
{
"id": 3,
"nombre": "Tratamientos",
"descripcion": "Tratamientos capilares",
"imagen_url": null,
"orden": 3,
"servicios_count": 4
}
]
}
}