GET
/booking/config/get
Key + Bearer
Read booking rules and the app currency.
Parameters and responses ⌄
Test · Generate
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
Key + Bearer
Update notice, cancellation and reminder rules. Two-step confirmation always remains active.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
min_notice_minutes
integer
Optional
Minimum booking notice.
max_advance_days
integer
Optional
Maximum advance booking days.
cancellation_hours
integer
Optional
Customer cancellation deadline.
public_booking
boolean
Optional
Allow mobile booking.
reminders_enabled
boolean
Optional
Enable the reminder queue.
reminder_hours
integer
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
Key + Bearer
List service categories and subcategories.
Parameters and responses ⌄
Test · Generate
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
Key + Bearer
Create a main category or subcategory.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
name
string
Required
Category name.
parent_id
integer
Optional
Main category identifier when creating a subcategory.
description
string
Optional
Optional description.
color
hex
Optional
#RRGGBB
photo_base64
string
Optional
Single JPG, PNG or WebP photo as base64 or data URI.
photo_file_name
string
Optional
Optional file name.
photo_mime_type
string
Optional
image/jpeg | image/png | image/webp
active
boolean
Optional
Visible in the app.
sort_order
integer
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
Key + Bearer
Update a service category classification.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
Category to update.
name
string
Required
Name.
parent_id
integer
Optional
0 for a main category.
photo_base64
string
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
Key + Bearer
Delete an unused category or archive it.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
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
Key + Bearer
List bookable services and eligible resources.
Parameters and responses ⌄
Test · Generate
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
Key + Bearer
Retrieve a service detailed description and photo gallery.
Parameters and responses ⌄
Test · Generate
Input
Available parameters URL query
Name Type Requirement Description
service_id
integer
Required
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
Key + Bearer
Create a service with duration, price and resources.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
name
string
Required
Service name.
category_id
integer
Optional
Main category.
subcategory_id
integer
Optional
Subcategory belonging to category_id.
short_description
string
Optional
Short text shown below the title in the mobile list.
long_description
string
Optional
Detailed presentation shown on the service page.
booking_mode
enum
Optional
appointment | duration | period | capacity
duration_minutes
integer
Optional
Actual booking duration, from 5 to 10080 minutes.
slot_interval_minutes
integer
Optional
Start-time frequency. 0 or omitted = same as duration_minutes.
capacity_required
integer
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
Required
Eligible resource identifiers.
active
boolean
Optional
Visible service.
sort_order
integer
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
Key + Bearer
Add a photo to a service gallery.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
service_id
integer
Required
Service identifier.
photo_base64
string
Required
JPG, PNG or WebP image as base64 or data URI.
file_name
string
Optional
File name.
mime_type
string
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
Key + Bearer
Delete a service photo.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
service_id
integer
Required
Service identifier.
photo_id
integer
Required
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
Key + Bearer
Select the main photo shown in the mobile list.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
service_id
integer
Required
Service identifier.
photo_id
integer
Required
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
Key + Bearer
Update a bookable service.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
Service identifier.
name
string
Required
Service name.
duration_minutes
integer
Optional
Actual booking duration.
slot_interval_minutes
integer
Optional
Start-time frequency; 0 uses the service duration.
category_id
integer
Optional
Main category.
subcategory_id
integer
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
Key + Bearer
Delete an unused service or archive it.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
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
Key + Bearer
List people, rooms, vehicles, equipment and capacity resources.
Parameters and responses ⌄
Test · Generate
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
Key + Bearer
Create a bookable resource.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
name
string
Required
Resource name.
resource_type
enum
Optional
person | room | equipment | vehicle | capacity | other
description
string
Optional
Resource description.
capacity
integer
Optional
Concurrent capacity.
location
string
Optional
Associated location.
color
hex
Optional
#RRGGBB
active
boolean
Optional
Active resource.
sort_order
integer
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
Key + Bearer
Update a resource.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
Resource identifier.
name
string
Required
Name.
capacity
integer
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
Key + Bearer
Delete an unused resource or archive it.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
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
Key + Bearer
List weekly schedules.
Parameters and responses ⌄
Test · Generate
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
Key + Bearer
Add a general, service-specific or resource-specific schedule.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
service_id
integer
Optional
Target service; omit or use 0 for all services.
resource_id
integer
Optional
Target resource; omit or use 0 for all eligible resources.
weekday
integer
Required
1 Monday to 7 Sunday.
start_time
time
Required
HH:MM
end_time
time
Required
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
Key + Bearer
Delete a schedule.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
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
Key + Bearer
List holidays, closures and blocked periods.
Parameters and responses ⌄
Test · Generate
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
Key + Bearer
Block a general or resource-specific period.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
resource_id
integer
Optional
Omit to block the entire business.
starts_at
datetime
Required
ISO 8601 with timezone recommended.
ends_at
datetime
Required
After starts_at.
reason
string
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
Key + Bearer
Delete an unavailability.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
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
Key + Bearer
List available slots and slots temporarily pending administrator confirmation.
Parameters and responses ⌄
Test · Generate
Input
Available parameters URL query
Name Type Requirement Description
service_id
integer
Required
Bookable service.
resource_id
integer
Optional
Limit to one resource.
from_date
date
Optional
YYYY-MM-DD
days
integer
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
Key + Bearer
List authorised bookings.
Parameters and responses ⌄
Test · Generate
Input
Available parameters URL query
Name Type Requirement Description
status
enum
Optional
pending | confirmed | in_progress | completed | cancelled | no_show
limit
integer
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
Key + Bearer
Retrieve one booking and its history.
Parameters and responses ⌄
Test · Generate
Input
Available parameters URL query
Name Type Requirement Description
id
integer
Required
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
Key + Bearer
Create and confirm the customer request; administrator approval is then still required.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
service_id
integer
Required
Selected service.
resource_id
integer
Required
Selected resource.
starts_at
datetime
Required
Slot returned by booking/slot/list.
quantity
integer
Optional
Capacity used.
address
string
Optional
Required depending on the service.
customer_notes
string
Optional
Optional note.
customer_id
integer
Optional
Supplier token only.
customer_name
string
Optional
Required when no customer is linked.
customer_email
email
Optional
Contact address.
customer_phone
string
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
Key + Bearer
Confirm a booking on the customer side.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
booking_id
integer
Required
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
Key + Bearer
Confirm, return to pending or reject the booking on the administrator side.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
booking_id
integer
Required
Booking to review.
confirmation
enum
Required
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
Key + Bearer
Reschedule or update a booking.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
Booking to update.
service_id
integer
Required
Service.
resource_id
integer
Required
Resource.
starts_at
datetime
Required
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
Key + Bearer
Advance a booking that has already been confirmed by both sides.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
id
integer
Required
Booking.
status
enum
Required
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
Key + Bearer
Cancel according to the configured deadline.
Parameters and responses ⌄
Test · Generate
Input
Available parameters JSON body
Name Type Requirement Description
booking_id
integer
Required
Authorised booking.
reason
string
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"
}
}
}