GET
/booking/config/get
Clé + Bearer
Lire les règles de réservation et la devise de l’app.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/config/update
Clé + Bearer
Modifier les délais, l’annulation et les rappels. La double confirmation reste toujours active.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
min_notice_minutes
integer
Facultatif
Délai minimum avant réservation.
max_advance_days
integer
Facultatif
Nombre de jours réservables à l’avance.
cancellation_hours
integer
Facultatif
Délai d’annulation client.
public_booking
boolean
Facultatif
Autoriser la réservation mobile.
reminders_enabled
boolean
Facultatif
Activer la file des rappels.
reminder_hours
integer
Facultatif
Heures avant le rendez-vous.
customer_notes_enabled
boolean
Facultatif
Autoriser une note du client.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/service-category/list
Clé + Bearer
Lister les catégories et sous-catégories de services.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/service-category/add
Clé + Bearer
Créer une catégorie principale ou une sous-catégorie.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
name
string
Obligatoire
Nom de la catégorie.
parent_id
integer
Facultatif
Identifiant de la catégorie principale pour créer une sous-catégorie.
description
string
Facultatif
Description facultative.
color
hex
Facultatif
#RRGGBB
photo_base64
string
Facultatif
Photo unique JPG, PNG ou WebP en base64 ou data URI.
photo_file_name
string
Facultatif
Nom facultatif du fichier.
photo_mime_type
string
Facultatif
image/jpeg | image/png | image/webp
active
boolean
Facultatif
Visible dans l’app.
sort_order
integer
Facultatif
Ordre d’affichage.
Sortie
Résultats possibles
201 Ressource créée
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/service-category/update
Clé + Bearer
Modifier le classement d’une catégorie de services.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Catégorie à modifier.
name
string
Obligatoire
Nom.
parent_id
integer
Facultatif
0 pour une catégorie principale.
photo_base64
string
Facultatif
Une nouvelle photo remplace la photo actuelle.
remove_photo
boolean
Facultatif
Supprimer la photo actuelle.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/service-category/delete
Clé + Bearer
Supprimer une catégorie inutilisée ou l’archiver.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Une catégorie utilisée sera archivée.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/service/list
Clé + Bearer
Lister les services réservables et leurs ressources compatibles.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/service/detail
Clé + Bearer
Récupérer la description détaillée et la galerie d’un service.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Nom Type Présence Description
service_id
integer
Obligatoire
Identifiant du service.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/service/add
Clé + Bearer
Créer un service, sa durée, son prix et ses ressources.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
name
string
Obligatoire
Nom du service.
category_id
integer
Facultatif
Catégorie principale.
subcategory_id
integer
Facultatif
Sous-catégorie appartenant à category_id.
short_description
string
Facultatif
Texte court affiché sous le titre dans la liste mobile.
long_description
string
Facultatif
Présentation détaillée visible dans la fiche du service.
booking_mode
enum
Facultatif
appointment | duration | period | capacity
duration_minutes
integer
Facultatif
Durée réelle d’une réservation, de 5 à 10080 minutes.
slot_interval_minutes
integer
Facultatif
Fréquence des heures de départ. 0 ou omission = même valeur que duration_minutes.
capacity_required
integer
Facultatif
Places consommées par réservation.
price_type
enum
Facultatif
free | fixed | hourly | daily
price
decimal
Facultatif
Prix dans la devise de l’app.
deposit_type
enum
Facultatif
none | fixed | percent
deposit_value
decimal
Facultatif
Montant ou pourcentage.
location_mode
enum
Facultatif
business | customer | online | custom
address_required
boolean
Facultatif
Exiger une adresse client.
resource_ids
array
Obligatoire
Identifiants des ressources compatibles.
active
boolean
Facultatif
Service visible.
sort_order
integer
Facultatif
Ordre d’affichage.
Sortie
Résultats possibles
201 Ressource créée
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/service/photo/add
Clé + Bearer
Ajouter une photo à la galerie d’un service.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
service_id
integer
Obligatoire
Identifiant du service.
photo_base64
string
Obligatoire
Image JPG, PNG ou WebP en base64 ou data URI.
file_name
string
Facultatif
Nom du fichier.
mime_type
string
Facultatif
image/jpeg | image/png | image/webp
Sortie
Résultats possibles
201 Ressource créée
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/service/photo/delete
Clé + Bearer
Supprimer une photo de service.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
service_id
integer
Obligatoire
Identifiant du service.
photo_id
integer
Obligatoire
Photo à supprimer.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/service/photo/primary
Clé + Bearer
Choisir la photo principale visible dans la liste mobile.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
service_id
integer
Obligatoire
Identifiant du service.
photo_id
integer
Obligatoire
Photo à utiliser dans la liste mobile.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/service/update
Clé + Bearer
Modifier un service réservable.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Identifiant du service.
name
string
Obligatoire
Nom du service.
duration_minutes
integer
Facultatif
Durée réelle de la réservation.
slot_interval_minutes
integer
Facultatif
Fréquence des départs ; 0 utilise la durée du service.
category_id
integer
Facultatif
Catégorie principale.
subcategory_id
integer
Facultatif
Sous-catégorie.
resource_ids
array
Facultatif
Liste complète des ressources compatibles.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/service/delete
Clé + Bearer
Supprimer un service inutilisé ou l’archiver.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Un service utilisé sera archivé.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/resource/list
Clé + Bearer
Lister personnes, salles, véhicules, équipements et capacités.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/resource/add
Clé + Bearer
Créer une ressource réservable.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
name
string
Obligatoire
Nom de la ressource.
resource_type
enum
Facultatif
person | room | equipment | vehicle | capacity | other
description
string
Facultatif
Description interne ou visible.
capacity
integer
Facultatif
Capacité simultanée.
location
string
Facultatif
Lieu associé.
color
hex
Facultatif
#RRGGBB
active
boolean
Facultatif
Ressource active.
sort_order
integer
Facultatif
Ordre.
Sortie
Résultats possibles
201 Ressource créée
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/resource/update
Clé + Bearer
Modifier une ressource.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Identifiant de la ressource.
name
string
Obligatoire
Nom.
capacity
integer
Facultatif
Capacité simultanée.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/resource/delete
Clé + Bearer
Supprimer une ressource inutilisée ou l’archiver.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Une ressource utilisée sera archivée.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/availability/list
Clé + Bearer
Lister les horaires hebdomadaires.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/availability/add
Clé + Bearer
Ajouter une plage horaire générale, propre à un service ou liée à une ressource.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
service_id
integer
Facultatif
Service concerné ; absent ou 0 pour tous les services.
resource_id
integer
Facultatif
Ressource concernée ; absent ou 0 pour toutes les ressources compatibles.
weekday
integer
Obligatoire
1 lundi à 7 dimanche.
start_time
time
Obligatoire
HH:MM
end_time
time
Obligatoire
HH:MM
Sortie
Résultats possibles
201 Ressource créée
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/availability/delete
Clé + Bearer
Supprimer une plage horaire.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Identifiant de la plage.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/unavailability/list
Clé + Bearer
Lister congés, fermetures et périodes bloquées.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Aucun paramètre métier n’est attendu. Envoyez uniquement les en-têtes d’authentification indiqués.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/unavailability/add
Clé + Bearer
Bloquer une période générale ou une ressource.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
resource_id
integer
Facultatif
Absent pour bloquer toute l’activité.
starts_at
datetime
Obligatoire
ISO 8601 avec fuseau conseillé.
ends_at
datetime
Obligatoire
Après starts_at.
reason
string
Facultatif
Motif facultatif.
Sortie
Résultats possibles
201 Ressource créée
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
DELETE
/booking/unavailability/delete
Clé + Bearer
Supprimer une indisponibilité.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Identifiant de la période.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/slot/list
Clé + Bearer
Lister les créneaux disponibles et ceux provisoirement en attente de confirmation administrateur.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Nom Type Présence Description
service_id
integer
Obligatoire
Service réservable.
resource_id
integer
Facultatif
Limiter à une ressource.
from_date
date
Facultatif
YYYY-MM-DD
days
integer
Facultatif
1 - 31
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/list
Clé + Bearer
Lister les réservations autorisées.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Nom Type Présence Description
status
enum
Facultatif
pending | confirmed | in_progress | completed | cancelled | no_show
limit
integer
Facultatif
1 - 200
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"items": [],
"pagination": {
"page": 1,
"per_page": 25,
"total": 0,
"last_page": 1
}
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
GET
/booking/detail
Clé + Bearer
Récupérer une réservation et son historique.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles URL (query)
Nom Type Présence Description
id
integer
Obligatoire
Identifiant de la réservation.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/create
Clé + Bearer
Créer et confirmer la demande côté client ; la validation administrateur reste ensuite requise.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
service_id
integer
Obligatoire
Service choisi.
resource_id
integer
Obligatoire
Ressource choisie.
starts_at
datetime
Obligatoire
Créneau retourné par booking/slot/list.
quantity
integer
Facultatif
Capacité utilisée.
address
string
Facultatif
Requis selon le service.
customer_notes
string
Facultatif
Note facultative.
customer_id
integer
Facultatif
Jeton fournisseur uniquement.
customer_name
string
Facultatif
Requis si aucun client lié.
customer_email
email
Facultatif
Adresse de contact.
customer_phone
string
Facultatif
Téléphone de contact.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/customer-confirm
Clé + Bearer
Confirmer une réservation côté client.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
booking_id
integer
Obligatoire
Réservation appartenant au client connecté.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/admin-confirm
Clé + Bearer
Confirmer, remettre en attente ou refuser la réservation côté administrateur.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
booking_id
integer
Obligatoire
Réservation à valider.
confirmation
enum
Obligatoire
pending | confirmed | rejected
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/update
Clé + Bearer
Déplacer ou modifier une réservation.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Réservation à modifier.
service_id
integer
Obligatoire
Service.
resource_id
integer
Obligatoire
Ressource.
starts_at
datetime
Obligatoire
Nouveau début.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
PATCH
/booking/status/update
Clé + Bearer
Faire avancer une réservation déjà confirmée des deux côtés.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
id
integer
Obligatoire
Réservation.
status
enum
Obligatoire
pending | confirmed | in_progress | completed | cancelled | no_show
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}
POST
/booking/cancel
Clé + Bearer
Annuler selon le délai configuré.
Paramètres et réponses ⌄
Tester · Générer
Entrée
Paramètres possibles Corps JSON
Nom Type Présence Description
booking_id
integer
Obligatoire
Réservation autorisée.
reason
string
Facultatif
Motif facultatif.
Sortie
Résultats possibles
200 Opération réussie
400 Requête ou JSON invalide
401 Authentification absente ou invalide
403 Accès insuffisant
404 Ressource demandée introuvable
409 Conflit avec les données existantes
422 Paramètre refusé par la validation
429 Limite de requêtes atteinte
5xx Incident technique temporaire
Exemple de succès {
"success": true,
"message": "Opération réussie",
"data": {
"id": 123,
"status": "ok"
},
"error": null
}
Exemple d’erreur {
"success": false,
"message": "La requête ne peut pas être traitée.",
"data": null,
"error": {
"code": "VALIDATION_ERROR",
"category": "validation",
"message": "Vérifiez les paramètres indiqués.",
"details": {
"field": "parameter_name"
}
}
}