GET
/booking/config/get
Llav + portador
Read booking rules and the app currency.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
No business parameter is expected. Send only the indicated authentication headers.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/config/update
Llav + portador
Update notice, cancellation and reminder rules. Two-step confirmation always remains active.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
min_notice_minutes
entero
Optional
Minimum booking notice.
max_advance_days
entero
Optional
Maximum advance booking days.
cancellation_hours
entero
Optional
Customer cancellation deadline.
public_booking
boolean
Optional
Allow mobile booking.
reminders_enabled
boolean
Optional
Enable the reminder queue.
reminder_hours
entero
Optional
Hours before the booking.
customer_notes_enabled
boolean
Optional
Allow customer notes.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/service-category/list
Llav + portador
List service categories and subcategories.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
No business parameter is expected. Send only the indicated authentication headers.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/service-category/add
Llav + portador
Create a main category or subcategory.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
name
cuerda
Necesidad
Category name.
parent_id
entero
Optional
Main category identifier when creating a subcategory.
description
cuerda
Optional
Optional description.
color
hex
Optional
#RRGGBB
photo_base64
cuerda
Optional
Single JPG, PNG or WebP photo as base64 or data URI.
photo_file_name
cuerda
Optional
Optional file name.
photo_mime_type
cuerda
Optional
image/jpeg | image/png | image/webp
active
boolean
Optional
Visible in the app.
sort_order
entero
Optional
Display order.
201 Resource created
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/service-category/update
Llav + portador
Update a service category classification.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Category to update.
name
cuerda
Necesidad
Name.
parent_id
entero
Optional
0 for a main category.
photo_base64
cuerda
Optional
A new photo replaces the current photo.
remove_photo
boolean
Optional
Remove the current photo.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/service-category/delete
Llav + portador
Delete an unused category or archive it.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
A used category will be archived.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/service/list
Llav + portador
List bookable services and eligible resources.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
No business parameter is expected. Send only the indicated authentication headers.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/service/detail
Llav + portador
Retrieve a service detailed description and photo gallery.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
Nombre Tipo Requirement Descripción
service_id
entero
Necesidad
Service identifier.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/service/add
Llav + portador
Create a service with duration, price and resources.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
name
cuerda
Necesidad
Service name.
category_id
entero
Optional
Main category.
subcategory_id
entero
Optional
Subcategory belonging to category_id.
short_description
cuerda
Optional
Short text shown below the title in the mobile list.
long_description
cuerda
Optional
Detailed presentation shown on the service page.
booking_mode
enum
Optional
appointment | duration | period | capacity
duration_minutes
entero
Optional
Actual booking duration, from 5 to 10080 minutes.
slot_interval_minutes
entero
Optional
Start-time frequency. 0 or omitted = same as duration_minutes.
capacity_required
entero
Optional
Capacity consumed by one booking.
price_type
enum
Optional
free | fixed | hourly | daily
price
decimal
Optional
Price in the app currency.
deposit_type
enum
Optional
none | fixed | percent
deposit_value
decimal
Optional
Amount or percentage.
location_mode
enum
Optional
business | customer | online | custom
address_required
boolean
Optional
Require customer address.
resource_ids
array
Necesidad
Eligible resource identifiers.
active
boolean
Optional
Visible service.
sort_order
entero
Optional
Display order.
201 Resource created
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/service/photo/add
Llav + portador
Add a photo to a service gallery.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
service_id
entero
Necesidad
Service identifier.
photo_base64
cuerda
Necesidad
JPG, PNG or WebP image as base64 or data URI.
file_name
cuerda
Optional
File name.
mime_type
cuerda
Optional
image/jpeg | image/png | image/webp
201 Resource created
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/service/photo/delete
Llav + portador
Delete a service photo.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
service_id
entero
Necesidad
Service identifier.
photo_id
entero
Necesidad
Photo to delete.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/service/photo/primary
Llav + portador
Select the main photo shown in the mobile list.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
service_id
entero
Necesidad
Service identifier.
photo_id
entero
Necesidad
Photo used in the mobile list.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/service/update
Llav + portador
Update a bookable service.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Service identifier.
name
cuerda
Necesidad
Service name.
duration_minutes
entero
Optional
Actual booking duration.
slot_interval_minutes
entero
Optional
Start-time frequency; 0 uses the service duration.
category_id
entero
Optional
Main category.
subcategory_id
entero
Optional
Subcategory.
resource_ids
array
Optional
Complete eligible-resource list.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/service/delete
Llav + portador
Delete an unused service or archive it.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
A used service will be archived.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/resource/list
Llav + portador
List people, rooms, vehicles, equipment and capacity resources.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
No business parameter is expected. Send only the indicated authentication headers.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/resource/add
Llav + portador
Create a bookable resource.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
name
cuerda
Necesidad
Resource name.
resource_type
enum
Optional
person | room | equipment | vehicle | capacity | other
description
cuerda
Optional
Resource description.
capacity
entero
Optional
Concurrent capacity.
location
cuerda
Optional
Associated location.
color
hex
Optional
#RRGGBB
active
boolean
Optional
Active resource.
sort_order
entero
Optional
Order.
201 Resource created
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/resource/update
Llav + portador
Update a resource.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Resource identifier.
name
cuerda
Necesidad
Name.
capacity
entero
Optional
Concurrent capacity.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/resource/delete
Llav + portador
Delete an unused resource or archive it.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
A used resource will be archived.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/availability/list
Llav + portador
List weekly schedules.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
No business parameter is expected. Send only the indicated authentication headers.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/availability/add
Llav + portador
Add a general, service-specific or resource-specific schedule.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
service_id
entero
Optional
Target service; omit or use 0 for all services.
resource_id
entero
Optional
Target resource; omit or use 0 for all eligible resources.
weekday
entero
Necesidad
1 Monday to 7 Sunday.
start_time
time
Necesidad
HH:MM
end_time
time
Necesidad
HH:MM
201 Resource created
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/availability/delete
Llav + portador
Delete a schedule.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Schedule identifier.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/unavailability/list
Llav + portador
List holidays, closures and blocked periods.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
No business parameter is expected. Send only the indicated authentication headers.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/unavailability/add
Llav + portador
Block a general or resource-specific period.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
resource_id
entero
Optional
Omit to block the entire business.
starts_at
datetime
Necesidad
ISO 8601 with timezone recommended.
ends_at
datetime
Necesidad
After starts_at.
reason
cuerda
Optional
Optional reason.
201 Resource created
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/unavailability/delete
Llav + portador
Delete an unavailability.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Period identifier.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/slot/list
Llav + portador
List available slots and slots temporarily pending administrator confirmation.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
Nombre Tipo Requirement Descripción
service_id
entero
Necesidad
Bookable service.
resource_id
entero
Optional
Limit to one resource.
from_date
Fecha
Optional
YYYY-MM-DD
days
entero
Optional
1 - 31
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/list
Llav + portador
List authorised bookings.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
Nombre Tipo Requirement Descripción
status
enum
Optional
pending | confirmed | in_progress | completed | cancelled | no_show
limit
entero
Optional
1 - 200
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/detail
Llav + portador
Retrieve one booking and its history.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters URL query
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Booking identifier.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/create
Llav + portador
Create and confirm the customer request; administrator approval is then still required.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
service_id
entero
Necesidad
Selected service.
resource_id
entero
Necesidad
Selected resource.
starts_at
datetime
Necesidad
Slot returned by booking/slot/list.
quantity
entero
Optional
Capacity used.
address
cuerda
Optional
Required depending on the service.
customer_notes
cuerda
Optional
Optional note.
customer_id
entero
Optional
Supplier token only.
customer_name
cuerda
Optional
Required when no customer is linked.
customer_email
email
Optional
Contact address.
customer_phone
cuerda
Optional
Contact phone.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/customer-confirm
Llav + portador
Confirm a booking on the customer side.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
booking_id
entero
Necesidad
Booking belonging to the signed-in customer.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/admin-confirm
Llav + portador
Confirm, return to pending or reject the booking on the administrator side.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
booking_id
entero
Necesidad
Booking to review.
confirmation
enum
Necesidad
pending | confirmed | rejected
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/update
Llav + portador
Reschedule or update a booking.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Booking to update.
service_id
entero
Necesidad
Service.
resource_id
entero
Necesidad
Resource.
starts_at
datetime
Necesidad
New start.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/status/update
Llav + portador
Advance a booking that has already been confirmed by both sides.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
id
entero
Necesidad
Booking.
status
enum
Necesidad
pending | confirmed | in_progress | completed | cancelled | no_show
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/cancel
Llav + portador
Cancel according to the configured deadline.
Parameters and responses ⌄
Probar · Generar
Input
Available parameters Cuerpo JSON
Nombre Tipo Requirement Descripción
booking_id
entero
Necesidad
Authorised booking.
reason
cuerda
Optional
Optional reason.
200 Successful operation
400 Invalid request or JSON
401 Missing or invalid authentication
403 Insufficient access
404 Requested resource not found
409 Conflict with existing data
422 Parameter rejected by validation
429 Request limit reached
5xx Temporary technical incident
Success example {
"success": true,
"message": "Operation successful",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Error example {
"success": false,
"message": "The request cannot be processed.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Check the indicated parameters.",
"details": {
"field": "parameter_name"
}
}
}