openapi: 3.0.3 info: title: Laravel description: '' version: 1.0.0 servers: - url: 'https://pessi.ms-hotel.net' paths: /api/statistic-overview: post: summary: 'Afficher les effectifs des éléments de statistique' operationId: afficherLesEffectifsDeslmentsDeStatistique description: '' parameters: [] responses: { } tags: - 'Aperçu des statistiques/ statistic Overview' requestBody: required: false content: application/json: schema: type: object properties: hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 16 nullable: true /api/articles/all: post: summary: 'Afficher la liste des articles' operationId: afficherLaListeDesArticles description: '' parameters: [] responses: { } tags: - Articles requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 89 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true filter_value: type: string description: '' example: optio nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 15 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 18 nullable: true type: type: string description: '' example: consumable nullable: true enum: - consumable - storable expired: type: boolean description: '' example: false nullable: true /api/articles: post: summary: 'Enregistrer des articles' operationId: enregistrerDesArticles description: '' parameters: [] responses: { } tags: - Articles requestBody: required: true content: application/json: schema: type: object properties: articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: name: type: string description: '' example: dignissimos nullable: false type: type: string description: '' example: consumable nullable: false enum: - consumable - storable image: type: string description: '' example: corporis nullable: true price: type: number description: '' example: 0.0 nullable: false description: type: string description: '' example: 'Illum quia quo totam aut quibusdam ut.' nullable: true unit_of_measurement: type: string description: '' example: ducimus nullable: true alert_quantity: type: integer description: '' example: 4 nullable: true expiry_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true container: type: string description: '' example: veritatis nullable: true container_unit: type: string description: 'Le champ value ne peut contenir plus de 50 caractères.' example: kpnjhojoxvvlhvesmfomnuwb nullable: true container_quantity: type: integer description: 'Le champ value doit être au moins 0.' example: 28 nullable: true detail: type: string description: '' example: sed nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 16 nullable: false suppliers: type: array description: '' example: - 2 items: type: integer required: - name - type - price - service_id - suppliers required: - articles '/api/articles/{article_id}': get: summary: 'Afficher un article spécifique' operationId: afficherUnArticleSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Articles put: summary: 'Modifier un article spécifique' operationId: modifierUnArticleSpcifique description: '' parameters: [] responses: { } tags: - Articles requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: odio nullable: true type: type: string description: '' example: storable nullable: true enum: - consumable - storable image: type: string description: '' example: sunt nullable: true price: type: number description: '' example: 281156.38 nullable: true description: type: string description: '' example: 'Aut facilis qui quam.' nullable: true unit_of_measurement: type: string description: '' example: est nullable: true alert_quantity: type: integer description: '' example: 5 nullable: true expiry_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true container: type: string description: '' example: natus nullable: true container_unit: type: string description: 'Le champ value ne peut contenir plus de 50 caractères.' example: lglkghnheobbxymsxzgjwp nullable: true container_quantity: type: integer description: 'Le champ value doit être au moins 0.' example: 2 nullable: true detail: type: string description: '' example: sunt nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 6 nullable: true parameters: - in: path name: article_id description: 'The ID of the article.' example: 26 required: true schema: type: integer /api/articles/trash: post: summary: 'Fonction pour le multiple archivage des articles' operationId: fonctionPourLeMultipleArchivageDesArticles description: '' parameters: [] responses: { } tags: - Articles requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/articles/restore: post: summary: 'Fonction de restauration multiples des articles' operationId: fonctionDeRestaurationMultiplesDesArticles description: '' parameters: [] responses: { } tags: - Articles requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 10 items: type: integer required: - ids /api/articles/destroy: post: summary: 'Fonction de suppression définitive multiple des articles' operationId: fonctionDeSuppressionDfinitiveMultipleDesArticles description: '' parameters: [] responses: { } tags: - Articles requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 6 items: type: integer required: - ids /api/articles-suppliers/all: post: summary: "Avoir la liste des fournisseurs d'un article et inversément" operationId: avoirLaListeDesFournisseursDunArticleEtInversment description: '' parameters: [] responses: { } tags: - Articles-Fournisseurs requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 66 nullable: true nbre_items: type: integer description: '' example: 1 nullable: true article_id: type: integer description: 'The id of an existing record in the articles table.' example: 6 nullable: true supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true /api/register: post: summary: "Fonction permettant à un utilisateur de s'inscrire" operationId: fonctionPermettantUnUtilisateurDeSinscrire description: '' parameters: [] responses: { } tags: - Authentification requestBody: required: true content: multipart/form-data: schema: type: object properties: firstname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: yhucdozqzhsokfxzzsypvgvhx nullable: false lastname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: hzrmbxflrhsvbr nullable: true gender: type: string description: '' example: male nullable: false enum: - male - female birthday: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true nationality: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: wniatbrxbkuxvmwgziys nullable: true nui: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: msbeboqcfljhlemnxryb nullable: true cni: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ilijulotarappxuzpseqbsouw nullable: true cnps: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: inwcxurdgoow nullable: true passport_issue_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true passport_issue_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: jukzfakcehnevqaon nullable: true profession: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: wpppwptjnrtlwjas nullable: true birth_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: rteqsgvhqfqrldry nullable: true connexion_type: type: string description: '' example: email nullable: false enum: - email - phone email: type: string description: 'This field is required when connexion_type is email. Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.' example: miller.bette@example.com nullable: false phone: type: string description: 'This field is required when connexion_type is phone. Le champ value ne peut contenir plus de 20 caractères.' example: mubfbsvxtkepykmpkg nullable: true phone2: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: oqfdzyd nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: nvxvep nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: bkzas nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: xmaqu nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 20 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 20 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: true password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: 'W_|%:~1EqDw>34vG,}|~' nullable: false photo: type: string format: binary description: 'Le champ value doit être une image. Le champ value ne peut être supérieur à 2048 kilobytes.' nullable: true required: - firstname - gender - connexion_type - password security: [] /api/verify-account: post: summary: 'On vérifie le code envoyé par email' operationId: onVrifieLeCodeEnvoyParEmail description: '' parameters: [] responses: { } tags: - Authentification requestBody: required: true content: application/json: schema: type: object properties: connexion_type: type: string description: '' example: phone nullable: false enum: - email - phone email: type: string description: 'This field is required when connexion_type is email. Le champ value doit être une address e-mail valide. The email of an existing record in the temp_users table. Le champ value ne peut contenir plus de 255 caractères.' example: isatterfield@example.com nullable: true phone: type: string description: 'This field is required when connexion_type is phone. The phone of an existing record in the temp_users table. Le champ value ne peut contenir plus de 20 caractères.' example: tecvxc nullable: true verification_code: type: string description: 'Le champ value ne peut contenir plus de 6 caractères.' example: od nullable: false required: - connexion_type - verification_code security: [] /api/login: post: summary: 'Fonction permettant à un utilisateur déjà inscrit de se connecter' operationId: fonctionPermettantUnUtilisateurDjInscritDeSeConnecter description: '' parameters: [] responses: { } tags: - Authentification requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'This field is required when phone is not present. Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.' example: wfeest@example.com nullable: false phone: type: string description: 'This field is required when email is not present. Le champ value ne peut contenir plus de 20 caractères.' example: cfqjztpsxvjhx nullable: false password: type: string description: '' example: '|4Y8`ms+vUB:=SV*/W' nullable: false device_key: type: string description: '' example: quo nullable: true required: - password security: [] /api/reset-password: post: summary: 'Fonction permettant de demander un lien pour réinitialiser le mot de passe' operationId: fonctionPermettantDeDemanderUnLienPourRinitialiserLeMotDePasse description: '' parameters: [] responses: { } tags: - Authentification requestBody: required: true content: application/json: schema: type: object properties: connexion_type: type: string description: '' example: phone nullable: false enum: - email - phone email: type: string description: 'This field is required when connexion_type is email. Le champ value doit être une address e-mail valide. The email of an existing record in the users table. Le champ value ne peut contenir plus de 255 caractères.' example: lelia.abernathy@example.org nullable: true phone: type: string description: 'This field is required when connexion_type is phone. The phone of an existing record in the users table. Le champ value ne peut contenir plus de 20 caractères.' example: tnduv nullable: true required: - connexion_type /api/confirm-reset-password: post: summary: "Fonction permettant de réinitialiser le mot de passe de l'utilisateur" operationId: fonctionPermettantDeRinitialiserLeMotDePasseDeLutilisateur description: '' parameters: [] responses: { } tags: - Authentification requestBody: required: true content: application/json: schema: type: object properties: connexion_type: type: string description: '' example: phone nullable: false enum: - email - phone email: type: string description: 'This field is required when connexion_type is email. Le champ value doit être une address e-mail valide. The email of an existing record in the users table. The email of an existing record in the temp_users table.' example: kiehn.maria@example.org nullable: true phone: type: string description: 'This field is required when connexion_type is phone. The phone of an existing record in the users table. The phone of an existing record in the temp_users table. Le champ value ne peut contenir plus de 20 caractères.' example: jrbkdkxwu nullable: true verification_code: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: fmxuybjnbqjbaayunyocxhayenaheylfxcnfddcattfjsmaianfuecirn nullable: false password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: 'M_CIr0&tRSyvmci' nullable: false required: - connexion_type - verification_code - password /api/logout: post: summary: 'Fonction permettant à un utilisateur connecté de se déconnecter' operationId: fonctionPermettantUnUtilisateurConnectDeSeDconnecter description: '' parameters: [] responses: { } tags: - Authentification /api/salaries-advances/all: post: summary: 'Afficher la liste filtrée des avances sur salaire' operationId: afficherLaListeFiltreDesAvancesSurSalaire description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: '' example: 12 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true filter_value: type: string description: '' example: consequatur nullable: true trashed: type: boolean description: '' example: false nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true '/api/salaries-advances/{salary_advance_id}': get: summary: 'Afficher une retenue sur salaire spécifique' operationId: afficherUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Avance sur salaire / Salary advance' put: summary: 'Mettre à jour une retenue sur salaire spécifique' operationId: mettreJourUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: false content: application/json: schema: type: object properties: user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true amount: type: string description: '' example: null nullable: true status: type: string description: '' example: rejected nullable: true enum: - pending_approval - in_progress - approved - rejected reason: type: string description: '' example: quam nullable: true comments: type: string description: '' example: cupiditate nullable: true parameters: - in: path name: salary_advance_id description: 'The ID of the salary advance.' example: soluta required: true schema: type: string /api/salaries-advances: post: summary: 'Show the form for creating a new resource.' operationId: showTheFormForCreatingANewResource description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: salary_advances: type: array description: '' example: - [] items: type: object properties: user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: false amount: type: string description: '' example: non nullable: false reason: type: string description: '' example: quis nullable: false required: - user_approve_id - amount - reason required: - salary_advances /api/salaries-advances/trash: post: summary: 'Archiver (soft delete) les avances sur salaire spécifiées.' operationId: archiversoftDeleteLesAvancesSurSalaireSpcifies description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 11 items: type: integer required: - ids /api/salaries-advances/restore: post: summary: 'Restaurer les avances sur salaire archivées.' operationId: restaurerLesAvancesSurSalaireArchives description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 6 items: type: integer required: - ids /api/salaries-advances/destroy: delete: summary: 'Supprimer définitivement les avances sur salaire spécifiées.' operationId: supprimerDfinitivementLesAvancesSurSalaireSpcifies description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/warnings/all: post: summary: 'Lister les avertissements' operationId: listerLesAvertissements description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true archive: type: string description: '' example: only_trashed nullable: true enum: - with_trashed - only_trashed date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true page_items: type: integer description: '' example: 7 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: et nullable: true '/api/warnings/{warning_id}': get: summary: "Afficher les détails d'un avertissement" operationId: afficherLesDtailsDunAvertissement description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Avertissements put: summary: "Modifier les détails d'un avertissement" operationId: modifierLesDtailsDunAvertissement description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true reason: type: string description: '' example: ut nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true parameters: - in: path name: warning_id description: 'The ID of the warning.' example: 16 required: true schema: type: integer /api/warnings: post: summary: 'Ajouter un ou plusieurs avertissements' operationId: ajouterUnOuPlusieursAvertissements description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warnings: type: array description: '' example: - [] items: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: false reason: type: string description: '' example: saepe nullable: false date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: false required: - user_id - reason - date required: - warnings /api/warnings/trash: delete: summary: 'Mettre un ou plusieurs avertissements en corbeille (soft delete)' operationId: mettreUnOuPlusieursAvertissementsEnCorbeillesoftDelete description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warning_ids: type: array description: 'The id of an existing record in the warnings table.' example: - 17 items: type: integer required: - warning_ids /api/warnings/restore: post: summary: 'Restaurer un ou plusieurs avertissements de la corbeille' operationId: restaurerUnOuPlusieursAvertissementsDeLaCorbeille description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warning_ids: type: array description: 'The id of an existing record in the warnings table.' example: - 13 items: type: integer required: - warning_ids /api/warnings/destroy: delete: summary: 'Supprimer définitivement un ou plusieurs avertissements' operationId: supprimerDfinitivementUnOuPlusieursAvertissements description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warning_ids: type: array description: 'The id of an existing record in the warnings table.' example: - 5 items: type: integer required: - warning_ids /api/purchase-vouchers/all: post: summary: "Afficher une liste filtrée des bons d'achat" operationId: afficherUneListeFiltreDesBonsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 65 nullable: true nbre_items: type: integer description: '' example: 18 nullable: true filter_value: type: string description: '' example: magni nullable: true status: type: string description: '' example: paid nullable: true enum: - requesting_price - purchase_order - paid - delivered priority: type: string description: '' example: low nullable: true enum: - low - medium - high supplier_id: type: string description: 'The id of an existing record in the users table.' example: null nullable: true hotel_id: type: string description: 'The id of an existing record in the hotels table.' example: null nullable: true responsible_id: type: string description: 'The id of an existing record in the users table.' example: null nullable: true article_ids: type: array description: 'The id of an existing record in the articles table.' example: - 7 items: type: integer /api/purchase-vouchers: post: summary: "Enregistrer un bon d'achat" operationId: enregistrerUnBonDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: true content: application/json: schema: type: object properties: supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: false responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: false description: type: string description: '' example: 'Facere molestiae optio dolorem assumenda perferendis tempora.' nullable: true status: type: string description: '' example: delivered nullable: true enum: - requesting_price - purchase_order - paid - delivered priority: type: string description: '' example: high nullable: false enum: - low - medium - high quotation_file: type: string description: '' example: velit nullable: true articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: id: type: integer description: 'The id of an existing record in the articles table.' example: 20 nullable: false unit_price: type: integer description: '' example: 20 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 54 nullable: false required: - id - quantity required: - supplier_id - responsible_id - priority - articles '/api/purchase-vouchers/{purchase_voucher}': get: summary: "Afficher un bon d'achat spécifique" operationId: afficherUnBonDachatSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - "Bons d'achats" put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: false content: application/json: schema: type: object properties: supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true description: type: string description: '' example: 'Facere dolor nisi molestias voluptas.' nullable: true status: type: string description: '' example: requesting_price nullable: true enum: - requesting_price - purchase_order - paid - delivered priority: type: string description: '' example: medium nullable: true enum: - low - medium - high quotation_file: type: string description: '' example: non nullable: true articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: null items: type: object nullable: true properties: id: type: integer description: 'The id of an existing record in the articles table.' example: 8 nullable: true unit_price: type: integer description: '' example: 10 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 71 nullable: true payment_method: type: string description: '' example: Cash nullable: true enum: - Cash - Bank - OM - MOMO parameters: - in: path name: purchase_voucher description: '' example: 1 required: true schema: type: integer /api/purchase-vouchers/trash: post: summary: "Fonction pour le multiple archivage des bonds d'achat" operationId: fonctionPourLeMultipleArchivageDesBondsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 6 items: type: integer required: - ids /api/purchase-vouchers/restore: post: summary: "Fonction de restauration multiples des bonds d'achat" operationId: fonctionDeRestaurationMultiplesDesBondsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/purchase-vouchers/destroy: delete: summary: "Fonction de suppression définitive multiple des bonds d'achat" operationId: fonctionDeSuppressionDfinitiveMultipleDesBondsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/room-categories/all: post: summary: 'Lister les catégories de chambres disponibles' operationId: listerLesCatgoriesDeChambresDisponibles description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 5 name: Famimial description: 'La meilleure' author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 14:51:35' deleted_at: null count_rooms: 0 - id: 2 name: VIP description: null author: null created_at: '2025-02-14 14:39:45' deleted_at: null count_rooms: 0 links: first: 'http://127.0.0.1:8000/api/room-categories/all?page=1' last: 'http://127.0.0.1:8000/api/room-categories/all?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Précédent' active: false - url: 'http://127.0.0.1:8000/api/room-categories/all?page=1' label: '1' active: true - url: null label: 'Suivant »' active: false path: 'http://127.0.0.1:8000/api/room-categories/all' per_page: 1000000 to: 2 total: 2 properties: data: type: array example: - id: 5 name: Famimial description: 'La meilleure' author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 14:51:35' deleted_at: null count_rooms: 0 - id: 2 name: VIP description: null author: null created_at: '2025-02-14 14:39:45' deleted_at: null count_rooms: 0 items: type: object properties: id: type: integer example: 5 name: type: string example: Famimial description: type: string example: 'La meilleure' author: type: object properties: id: type: integer example: 1 name: type: string example: Admin phone: type: string example: null created_by: type: string example: null updated_by: type: string example: null deleted_by: type: string example: null created_at: type: string example: '2025-02-14 10:50:03' updated_at: type: string example: '2025-02-14 10:50:03' deleted_at: type: string example: null token: type: string example: null created_at: type: string example: '2025-02-14 14:51:35' deleted_at: type: string example: null count_rooms: type: integer example: 0 links: type: object properties: first: type: string example: 'http://127.0.0.1:8000/api/room-categories/all?page=1' last: type: string example: 'http://127.0.0.1:8000/api/room-categories/all?page=1' prev: type: string example: null next: type: string example: null meta: type: object properties: current_page: type: integer example: 1 from: type: integer example: 1 last_page: type: integer example: 1 links: type: array example: - url: null label: '« Précédent' active: false - url: 'http://127.0.0.1:8000/api/room-categories/all?page=1' label: '1' active: true - url: null label: 'Suivant »' active: false items: type: object properties: url: type: string example: null label: type: string example: '« Précédent' active: type: boolean example: false path: type: string example: 'http://127.0.0.1:8000/api/room-categories/all' per_page: type: integer example: 1000000 to: type: integer example: 2 total: type: integer example: 2 403: description: '' content: text/plain: schema: type: string example: "{\n\"message\": \"User does not have the right permissions.\"\n\"...\"\n}" tags: - 'Catégories de chambres' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: required. example: 1 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true filter_value: type: string description: '' example: perferendis nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 10 nullable: true trashed: type: boolean description: '' example: false nullable: false '/api/room-categories/{room_category}': get: summary: 'Afficher les informations sur une catégorie de chambre' operationId: afficherLesInformationsSurUneCatgorieDeChambre description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Catégories de chambres' put: summary: 'Modifier une catégorie de chambre' operationId: modifierUneCatgorieDeChambre description: '' parameters: [] responses: { } tags: - 'Catégories de chambres' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: eaque nullable: false hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 4 nullable: true description: type: string description: '' example: 'Quidem dolorem repellat molestiae deserunt voluptatibus ut similique.' nullable: true required: - name parameters: - in: path name: room_category description: '' example: 9 required: true schema: type: integer /api/room-categories: post: summary: 'Ajouer une catégorie de chambre' operationId: ajouerUneCatgorieDeChambre description: '' parameters: [] responses: { } tags: - 'Catégories de chambres' requestBody: required: true content: application/json: schema: type: object properties: room_categories: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 3 nullable: false name: type: string description: '' example: voluptates nullable: false description: type: string description: '' example: 'Est sint neque dolorum laboriosam dolor.' nullable: true required: - hotel_id - name required: - room_categories /api/room-categories/trash: delete: summary: "Archiver une ou plusieurs catégories de chambre\nNB: Un type de chambre ne peut pas être supprimé si il est lié à quelque chose d'autre dans le système" operationId: archiverUneOuPlusieursCatgoriesDeChambreNBUnTypeDeChambreNePeutPastreSupprimSiIlEstLiQuelqueChoseDautreDansLeSystme description: '' parameters: [] responses: { } tags: - 'Catégories de chambres' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the room_categories table.' example: - 2 items: type: integer required: - ids /api/room-categories/restore: post: summary: 'Restaurer une ou plusieurs catégories de chambre de la corbeille' operationId: restaurerUneOuPlusieursCatgoriesDeChambreDeLaCorbeille description: '' parameters: [] responses: { } tags: - 'Catégories de chambres' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 8 items: type: integer required: - ids /api/room-categories/destroy: delete: summary: "Forcer la suppression d'un ou plusieurs hotel(s) du système" operationId: forcerLaSuppressionDunOuPlusieursHotelsDuSystme description: '' parameters: [] responses: { } tags: - 'Catégories de chambres' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 14 items: type: integer required: - ids /api/rooms/all: post: summary: 'Afficher les informations sur les chambres disponibles/occupées' operationId: afficherLesInformationsSurLesChambresDisponiblesoccupes description: '' parameters: [] responses: { } tags: - Chambres requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 32 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: illum nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 4 nullable: true room_type_id: type: integer description: 'The id of an existing record in the room_types table.' example: 14 nullable: true room_category_id: type: integer description: 'The id of an existing record in the room_categories table.' example: 13 nullable: true service_id: type: integer description: '' example: 12 nullable: true status: type: string description: '' example: busy nullable: true enum: - free - busy floor: type: integer description: '' example: 5 nullable: true number_of_room: type: integer description: '' example: 18 nullable: true '/api/rooms/{room_id}': get: summary: "Afficher les informations d'une chambre" operationId: afficherLesInformationsDuneChambre description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Chambres put: summary: "Mettre à jour les informations d'une chambre d'hotel" operationId: mettreJourLesInformationsDuneChambreDhotel description: '' parameters: [] responses: { } tags: - Chambres requestBody: required: true content: application/json: schema: type: object properties: hotel_id: type: integer description: '' example: 19 nullable: true room_type_id: type: integer description: '' example: 4 nullable: true room_category_id: type: integer description: '' example: 3 nullable: true service_id: type: integer description: '' example: 15 nullable: true floor: type: integer description: '' example: 19 nullable: true number: type: integer description: '' example: 13 nullable: false price: type: integer description: '' example: 20 nullable: true number_of_room: type: integer description: '' example: 18 nullable: true image: type: string description: '' example: nam nullable: true capacity: type: integer description: '' example: 6 nullable: true status: type: string description: '' example: free nullable: true enum: - free - busy description: type: string description: '' example: 'Odio quo earum officia et provident quaerat.' nullable: true required: - number parameters: - in: path name: room_id description: 'The ID of the room.' example: 1 required: true schema: type: integer /api/rooms: post: summary: "Ajouter une ou plusieurs chambres d'hotel" operationId: ajouterUneOuPlusieursChambresDhotel description: '' parameters: [] responses: { } tags: - Chambres requestBody: required: true content: application/json: schema: type: object properties: rooms: type: array description: '' example: - [] items: type: object properties: hotel_id: type: integer description: '' example: 4 nullable: false room_type_id: type: integer description: '' example: 1 nullable: false room_category_id: type: integer description: '' example: 3 nullable: false service_id: type: integer description: '' example: 4 nullable: false floor: type: integer description: '' example: 16 nullable: true number: type: integer description: '' example: 18 nullable: true price: type: integer description: '' example: 6 nullable: false number_of_room: type: integer description: '' example: 5 nullable: true capacity: type: integer description: '' example: 10 nullable: false status: type: string description: '' example: busy nullable: false enum: - free - busy name: type: string description: '' example: eos nullable: false description: type: string description: '' example: 'Enim ducimus exercitationem aliquid fugit consequatur nostrum.' nullable: true image: type: string description: '' example: rerum nullable: true required: - hotel_id - room_type_id - room_category_id - service_id - price - capacity - status - name required: - rooms /api/rooms/trash: delete: summary: "Archiver une ou plusieurs chambres d'hotel" operationId: archiverUneOuPlusieursChambresDhotel description: '' parameters: [] responses: { } tags: - Chambres requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the rooms table.' example: - 1 items: type: integer required: - ids /api/rooms/restore: post: summary: "Restaurer une ou plusieurs chambres d'hotel" operationId: restaurerUneOuPlusieursChambresDhotel description: '' parameters: [] responses: { } tags: - Chambres requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/rooms/destroy: delete: summary: "Supprimer une ou plusieurs chambres d'hotels" operationId: supprimerUneOuPlusieursChambresDhotels description: '' parameters: [] responses: { } tags: - Chambres requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/find-licence: post: summary: "Récupérer la route de l'application" operationId: rcuprerLaRouteDeLapplication description: '' parameters: [] responses: { } tags: - Clés requestBody: required: true content: application/json: schema: type: object properties: cle: type: string description: '' example: et nullable: false required: - cle '/api/keys/{id}': get: summary: "Récuperer les clés d'applications" operationId: rcupererLesClsDapplications description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Clés parameters: - in: path name: id description: 'Optional parameter. The ID of the .' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: commodi /api/orders/all: post: summary: 'Lister les commandes' operationId: listerLesCommandes description: '' parameters: [] responses: { } tags: - Commandes requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 63 nullable: true nbre_items: type: integer description: '' example: 17 nullable: true filter_value: type: string description: '' example: aut nullable: true customer_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true payment_mode: type: string description: '' example: nisi nullable: true status: type: string description: '' example: cancelled nullable: true enum: - pending - paid - cancelled - confirmed payment_status: type: string description: '' example: advance nullable: true enum: - none - advance - completed product_id: type: integer description: 'The id of an existing record in the products table.' example: 14 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 5 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 5 nullable: true '/api/orders/{order_id}': get: summary: "Afficher les détails d'une commande" operationId: afficherLesDtailsDuneCommande description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Commandes put: summary: 'Modifier une commande' operationId: modifierUneCommande description: '' parameters: [] responses: { } tags: - Commandes requestBody: required: false content: application/json: schema: type: object properties: customer_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true payment_mode: type: string description: '' example: pariatur nullable: true room_id: type: integer description: 'The id of an existing record in the rooms table.' example: 7 nullable: true room_service_id: type: integer description: 'The id of an existing record in the room_services table.' example: 6 nullable: true status: type: string description: '' example: paid nullable: true enum: - pending - paid - cancelled - confirmed delivery_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true products: type: array description: '' example: null items: type: object nullable: true properties: id: type: integer description: 'The id of an existing record in the products table.' example: 9 nullable: false quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 22 nullable: false required: - id - quantity parameters: - in: path name: order_id description: 'The ID of the order.' example: 1 required: true schema: type: integer /api/orders: post: summary: 'Ajouter une commande' operationId: ajouterUneCommande description: '' parameters: [] responses: { } tags: - Commandes requestBody: required: true content: application/json: schema: type: object properties: customer_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true payment_mode: type: string description: '' example: voluptas nullable: false room_id: type: integer description: 'The id of an existing record in the rooms table.' example: 16 nullable: true room_service_id: type: integer description: 'The id of an existing record in the room_services table.' example: 5 nullable: true status: type: string description: '' example: paid nullable: true enum: - pending - paid - cancelled - confirmed delivery_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true products: type: array description: '' example: - [] items: type: object properties: id: type: integer description: 'The id of an existing record in the products table.' example: 20 nullable: false quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 62 nullable: false required: - id - quantity required: - payment_mode - products /api/orders/trash: post: summary: 'Archiver (soft delete) les presences spécifiées.' operationId: archiversoftDeleteLesPresencesSpcifies description: '' parameters: [] responses: { } tags: - Commandes requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 11 items: type: integer required: - ids /api/orders/restore: post: summary: 'Restaurer les orders archivés.' operationId: restaurerLesOrdersArchivs description: '' parameters: [] responses: { } tags: - Commandes requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 3 items: type: integer required: - ids /api/orders/destroy: post: summary: 'Supprimer définitivement les orders spécifiés.' operationId: supprimerDfinitivementLesOrdersSpcifis description: '' parameters: [] responses: { } tags: - Commandes requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 10 items: type: integer required: - ids /api/contracts/all: post: summary: 'Retourne la liste des contrats avec la possibilité de filtrer et paginer les résultats.' operationId: retourneLaListeDesContratsAvecLaPossibilitDeFiltrerEtPaginerLesRsultats description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: '' example: 14 nullable: true nbre_items: type: integer description: '' example: 18 nullable: true filter_value: type: string description: '' example: reiciendis nullable: true position: type: string description: '' example: pariatur nullable: true status: type: string description: '' example: Pending nullable: true enum: - Active - Terminated - Pending trashed: type: boolean description: '' example: true nullable: true '/api/contracts/{contract}': get: summary: 'Affiche les détails d’un contrat spécifique à partir de son identifiant.' operationId: afficheLesDtailsDunContratSpcifiquePartirDeSonIdentifiant description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Contrats put: summary: 'Met à jour les informations d’un contrat donné.' operationId: metJourLesInformationsDunContratDonn description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true type: type: string description: '' example: CDI nullable: true enum: - CDD - CDI - Stage description: type: string description: '' example: 'Asperiores velit excepturi iusto fugit vitae consequuntur cum.' nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 84 nullable: true working_hours: type: string description: '' example: molestias nullable: true position: type: string description: '' example: exercitationem nullable: true gross_salary: type: number description: 'Le champ value doit être au moins 0.' example: 77 nullable: true status: type: string description: '' example: Pending nullable: true enum: - Active - Terminated - Pending service_benefits: type: string description: '' example: et nullable: true bonus: type: string description: '' example: eligendi nullable: true number_days_off: type: integer description: '' example: 1 nullable: true parameters: - in: path name: contract description: 'The contract.' example: molestiae required: true schema: type: string /api/contracts: post: summary: "Crée un nouveau contrat pour un utilisateur, après vérification d'absence de contrat actif." operationId: creUnNouveauContratPourUnUtilisateurAprsVrificationDabsenceDeContratActif description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: false user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: false type: type: string description: '' example: ratione nullable: false description: type: string description: '' example: 'Reiciendis dolorem nihil similique qui et saepe dignissimos.' nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: false duration: type: integer description: 'Le champ value doit être au moins 1.' example: 6 nullable: true working_hours: type: string description: '' example: explicabo nullable: false position: type: string description: '' example: praesentium nullable: false gross_salary: type: number description: 'Le champ value doit être au moins 0.' example: 70 nullable: false status: type: string description: '' example: Pending nullable: true enum: - Active - Terminated - Pending service_benefits: type: string description: '' example: quia nullable: true bonus: type: string description: '' example: autem nullable: true number_days_off: type: integer description: '' example: 16 nullable: true required: - user_id - user_approve_id - type - start_date - working_hours - position - gross_salary /api/contracts/trash: post: summary: 'Archiver (soft delete) les contrats spécifiées.' operationId: archiversoftDeleteLesContratsSpcifies description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/contracts/restore: post: summary: 'Restaurer les contrats archivés.' operationId: restaurerLesContratsArchivs description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 15 items: type: integer required: - ids /api/contracts/destroy: post: summary: 'Supprimer définitivement les contrats spécifiés.' operationId: supprimerDfinitivementLesContratsSpcifis description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/disbursements/all: post: summary: 'Afficher la liste des décaissements en fonction des filtres' operationId: afficherLaListeDesDcaissementsEnFonctionDesFiltres description: '' parameters: [] responses: { } tags: - Decaissements requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 52 nullable: true nbre_items: type: integer description: 'Le champ value doit être au moins 1.' example: 86 nullable: true filter_value: type: string description: '' example: delectus nullable: true supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 12 nullable: true purchase_order_id: type: integer description: 'The id of an existing record in the purchase_orders table.' example: 4 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true payment_method: type: string description: '' example: Bank nullable: true enum: - Cash - Bank - OM - MOMO status: type: string description: '' example: pending nullable: true enum: - pending - approved - rejected reference: type: string description: '' example: et nullable: true date_start: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true date_end: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true service_ids: type: array description: 'The id of an existing record in the services table.' example: - 5 items: type: integer /api/disbursements: post: summary: 'Enregistrer un nouveau décaissement' operationId: enregistrerUnNouveauDcaissement description: '' parameters: [] responses: { } tags: - Decaissements requestBody: required: true content: application/json: schema: type: object properties: payment_method: type: string description: '' example: Bank nullable: false enum: - Cash - Bank - OM - MOMO status: type: string description: '' example: rejected nullable: true enum: - pending - approved - rejected expense_type_id: type: string description: 'The id of an existing record in the expense_types table.' example: null nullable: true invoice_image: type: string description: '' example: sapiente nullable: true reasons: type: string description: '' example: omnis nullable: true total_amount: type: number description: 'Le champ value doit être au moins 0.' example: 27 nullable: true disbursement_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true responsible_id: type: string description: 'The id of an existing record in the users table.' example: quibusdam nullable: false purchase_order_id: type: string description: 'The id of an existing record in the purchase_orders table.' example: null nullable: true validation_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true required: - payment_method - responsible_id '/api/disbursements/{disbursement_id}': get: summary: 'Afficher un décaissement spécifique' operationId: afficherUnDcaissementSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Decaissements put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - Decaissements requestBody: required: false content: application/json: schema: type: object properties: payment_method: type: string description: '' example: Cash nullable: true enum: - Cash - Bank - OM - MOMO status: type: string description: '' example: approved nullable: true enum: - pending - approved - rejected expense_type_id: type: string description: 'The id of an existing record in the expense_types table.' example: null nullable: true invoice_image: type: string description: '' example: soluta nullable: true reasons: type: string description: '' example: et nullable: true total_amount: type: number description: 'Le champ value doit être au moins 0.' example: 82 nullable: true disbursement_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true responsible_id: type: string description: 'The id of an existing record in the users table.' example: null nullable: true purchase_order_id: type: string description: 'The id of an existing record in the purchase_orders table.' example: null nullable: true validation_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true parameters: - in: path name: disbursement_id description: 'The ID of the disbursement.' example: 1 required: true schema: type: integer /api/disbursements/trash: post: summary: 'Archiver (soft delete) les décaissements.' operationId: archiversoftDeleteLesDcaissements description: '' parameters: [] responses: { } tags: - Decaissements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 13 items: type: integer required: - ids /api/disbursements/restore: post: summary: 'Restaurer les décaissements archivés.' operationId: restaurerLesDcaissementsArchivs description: '' parameters: [] responses: { } tags: - Decaissements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 18 items: type: integer required: - ids /api/disbursements/destroy: post: summary: 'Supprimer définitivement les décaissements spécifiés.' operationId: supprimerDfinitivementLesDcaissementsSpcifis description: '' parameters: [] responses: { } tags: - Decaissements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 7 items: type: integer required: - ids /api/supply-demands/all: post: summary: "Affiche la liste paginée des demandes d'approvisionnement, avec filtres optionnels." operationId: afficheLaListePagineDesDemandesDapprovisionnementAvecFiltresOptionnels description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: filter_value: type: string description: '' example: accusamus nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 3 nullable: true priority: type: string description: '' example: low nullable: true enum: - high - medium - low status: type: string description: '' example: pending nullable: true enum: - pending - accepted - refused article_ids: type: array description: 'The id of an existing record in the articles table.' example: - 1 items: type: integer '/api/supply-demands/{supply_demand_id}': get: summary: "Affiche les détails d'une demande d'approvisionnement spécifique." operationId: afficheLesDtailsDuneDemandeDapprovisionnementSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - "Demande d'approvisionnement | Supply demand" put: summary: "Met à jour les informations d'une demande d'approvisionnement existante." operationId: metJourLesInformationsDuneDemandeDapprovisionnementExistante description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: zvtbknshzoua nullable: true description: type: string description: '' example: 'Voluptate est fugit ad sunt et est voluptatibus.' nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true status: type: string description: '' example: accepted nullable: true enum: - pending - accepted - refused priority: type: string description: '' example: medium nullable: true enum: - high - medium - low articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: null items: type: object nullable: true properties: id: type: integer description: 'The id of an existing record in the articles table.' example: 18 nullable: false unit_price: type: integer description: '' example: 1 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 14 nullable: false supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: false required: - id - quantity - supplier_id parameters: - in: path name: supply_demand_id description: 'The ID of the supply demand.' example: 1 required: true schema: type: integer /api/supply-demands: post: summary: "Crée une nouvelle demande d'approvisionnement." operationId: creUneNouvelleDemandeDapprovisionnement description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: uswwwehiupctrxuenox nullable: true description: type: string description: '' example: 'Saepe consequatur ea voluptatem accusantium maiores sit.' nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: false status: type: string description: '' example: pending nullable: true enum: - pending - accepted - refused priority: type: string description: '' example: high nullable: false enum: - high - medium - low articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: id: type: integer description: 'The id of an existing record in the articles table.' example: 10 nullable: false unit_price: type: integer description: '' example: 3 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 23 nullable: false supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 15 nullable: false required: - id - quantity - supplier_id required: - responsible_id - priority - articles /api/supply-demands/trash: post: summary: "Met en corbeille (suppression logique) une ou plusieurs demandes d'approvisionnement." operationId: metEnCorbeillesuppressionLogiqueUneOuPlusieursDemandesDapprovisionnement description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: supply_demand_ids: type: array description: 'The id of an existing record in the supply_demands table.' example: - 4 items: type: integer /api/supply-demands/restore: post: summary: "Restaure une ou plusieurs demandes d'approvisionnement supprimées (suppression logique)." operationId: restaureUneOuPlusieursDemandesDapprovisionnementSupprimessuppressionLogique description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: supply_demand_ids: type: array description: 'The id of an existing record in the supply_demands table.' example: - 15 items: type: integer /api/holidays/all: post: summary: 'Lister les congés enregistrés' operationId: listerLesCongsEnregistrs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: true status: type: string description: '' example: approved nullable: true enum: - pending_approval - in_progress - approved - rejected archive: type: string description: '' example: only_trashed nullable: true enum: - with_trashed - only_trashed date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true page_items: type: integer description: '' example: 4 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: illo nullable: true '/api/holidays/{holiday_id}': get: summary: "Afficher les détails d'une retenue sur salaire" operationId: afficherLesDtailsDuneRetenueSurSalaire description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Demande de congé' put: summary: 'Modifier une demande de congé' operationId: modifierUneDemandeDeCong description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: false content: application/json: schema: type: object properties: type: type: string description: '' example: quisquam nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à today.' example: '2118-05-05' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2120-10-14' nullable: true days_taken: type: integer description: '' example: 10 nullable: true reason: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: sfkzfppujpfgxtmhwunq nullable: true status: type: string description: '' example: rejected nullable: true enum: - pending_approval - in_progress - approved - rejected parameters: - in: path name: holiday_id description: 'The ID of the holiday.' example: 18 required: true schema: type: integer /api/holidays: post: summary: 'Enregistrer une demande de congé' operationId: enregistrerUneDemandeDeCong description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: '' example: molestias nullable: false start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à today.' example: '2052-05-17' nullable: false end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2034-05-17' nullable: false days_taken: type: integer description: '' example: 12 nullable: false reason: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: dimwgsxbzuvzhcdhrdxaxba nullable: false user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: false required: - type - start_date - end_date - days_taken - reason - user_approve_id /api/holidays/trash: delete: summary: 'Archiver une ou plusieurs demandes de congés' operationId: archiverUneOuPlusieursDemandesDeCongs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: idHolidays: type: array description: 'The id of an existing record in the holidays table.' example: - 11 items: type: integer required: - idHolidays /api/holidays/restore: post: summary: 'Restaurer une ou plusieurs demandes de congés' operationId: restaurerUneOuPlusieursDemandesDeCongs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: idHolidays: type: array description: 'The id of an existing record in the holidays table.' example: - 12 items: type: integer required: - idHolidays /api/holidays/destroy: delete: summary: 'Supprimer une ou plusieurs demandes de congés' operationId: supprimerUneOuPlusieursDemandesDeCongs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: idHolidays: type: array description: 'The id of an existing record in the holidays table.' example: - 8 items: type: integer required: - idHolidays /api/permission-requests/all: post: summary: 'Affiche une liste paginée des demandes de permission.' operationId: afficheUneListePagineDesDemandesDePermission description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 26 nullable: true nbre_items: type: integer description: 'Le champ value doit être au moins 1. Le champ value ne peut être supérieur à 10000.' example: 9 nullable: true filterValue: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: xrcydk nullable: true departure: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true return: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après datedeparture.' example: '2061-04-23' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 61 nullable: true status: type: string description: '' example: null nullable: true archive: type: string description: '' example: with_trashed nullable: true enum: - with_trashed - only_trashed '/api/permission-requests/{permissions_request}': get: summary: "Affiche les détails d'une demande de permission spécifique." operationId: afficheLesDtailsDuneDemandeDePermissionSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Demandes de Permissions' put: summary: 'Met à jour une demande de permission si elle est encore en attente.' operationId: metJourUneDemandeDePermissionSiElleEstEncoreEnAttente description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: false content: application/json: schema: type: object properties: reason: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ppym nullable: true datedeparture: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à today.' example: '2057-02-13' nullable: true dateRetour: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après datedeparture.' example: '2047-04-28' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 27 nullable: true status: type: string description: '' example: rejected nullable: true enum: - pending - approved - rejected parameters: - in: path name: permissions_request description: '' example: et required: true schema: type: string /api/permission-requests: post: summary: 'Crée une nouvelle demande de permission.' operationId: creUneNouvelleDemandeDePermission description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: reason: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: hs nullable: false departure: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à today.' example: '2042-03-06' nullable: false return: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après departure.' example: '2086-03-28' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 80 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: false status: type: string description: '' example: pending nullable: true enum: - pending - approved - rejected required: - reason - departure - user_approve_id /api/permission-requests/trash: post: summary: 'Archiver (soft delete) les presences spécifiées.' operationId: archiversoftDeleteLesPresencesSpcifies description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 15 items: type: integer required: - ids /api/permission-requests/restore: post: summary: 'Restaurer les permission_requests archivés.' operationId: restaurerLesPermissionRequestsArchivs description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 15 items: type: integer required: - ids /api/permission-requests/destroy: post: summary: 'Supprimer définitivement les permission_requests spécifiés.' operationId: supprimerDfinitivementLesPermissionRequestsSpcifis description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 7 items: type: integer required: - ids /api/cash-ins/all: post: summary: 'Lister les encaissements' operationId: listerLesEncaissements description: '' parameters: [] responses: { } tags: - Encaissements requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 45 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: hic nullable: true seller_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 4 nullable: true order_id: type: integer description: 'The id of an existing record in the orders table.' example: 7 nullable: true client_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true date_start: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true date_end: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true cashin_type: type: integer description: '' example: booking nullable: true enum: - booking - order payment_method: type: string description: '' example: suscipit nullable: true '/api/cash-ins/{cash_in}': get: summary: "Afficher les détails d'un encaissement" operationId: afficherLesDtailsDunEncaissement description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Encaissements put: summary: 'Modifier un encaissement' operationId: modifierUnEncaissement description: '' parameters: [] responses: { } tags: - Encaissements requestBody: required: false content: application/json: schema: type: object properties: order_id: type: integer description: '' example: 2 nullable: true service_id: type: integer description: '' example: 16 nullable: true booking_id: type: integer description: '' example: 18 nullable: true payment_method: type: string description: '' example: et nullable: true amount: type: number description: '' example: 103.70317 nullable: true parameters: - in: path name: cash_in description: '' example: 1 required: true schema: type: integer /api/cash-ins: post: summary: 'Ajouter un encaissment' operationId: ajouterUnEncaissment description: '' parameters: [] responses: { } tags: - Encaissements requestBody: required: true content: application/json: schema: type: object properties: order_id: type: integer description: '' example: 18 nullable: true service_id: type: integer description: '' example: 10 nullable: false booking_id: type: integer description: '' example: 19 nullable: true payment_method: type: string description: '' example: voluptas nullable: false type: type: string description: '' example: aliquam nullable: true amount: type: number description: '' example: 272.6513 nullable: false date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true required: - service_id - payment_method - amount /api/cash-ins/trash: post: summary: 'Archiver (soft delete) les entrées spécifiées.' operationId: archiversoftDeleteLesEntresSpcifies description: '' parameters: [] responses: { } tags: - Encaissements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 17 items: type: integer required: - ids /api/cash-ins/restore: post: summary: 'Restaurer les entrées archivées.' operationId: restaurerLesEntresArchives description: '' parameters: [] responses: { } tags: - Encaissements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/cash-ins/destroy: post: summary: 'Supprimer définitivement les entrées spécifiées.' operationId: supprimerDfinitivementLesEntresSpcifies description: '' parameters: [] responses: { } tags: - Encaissements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 10 items: type: integer required: - ids /api/events/all: post: summary: 'Lister les évènements' operationId: listerLesvnements description: '' parameters: [] responses: { } tags: - Evenements requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 74 nullable: true nbre_items: type: integer description: '' example: 9 nullable: true filter_value: type: string description: '' example: dolorem nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 5 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 6 nullable: true type: type: string description: '' example: internal nullable: true enum: - internal - external archive: type: string description: '' example: only_trashed nullable: true enum: - with_trashed - only_trashed '/api/events/{event_id}': get: summary: 'Afficher un évènement' operationId: afficherUnvnement description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Evenements put: summary: 'Modifier un évènement' operationId: modifierUnvnement description: '' parameters: [] responses: { } tags: - Evenements requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: xzxvbx nullable: true description: type: string description: '' example: 'Aut odit harum laudantium quo qui aspernatur distinctio.' nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2113-02-04' nullable: true type: type: string description: '' example: external nullable: true enum: - internal - external parental_contribution: type: string description: '' example: null nullable: true budget: type: string description: '' example: at nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 17 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 9 nullable: true parameters: - in: path name: event_id description: 'The ID of the event.' example: 1 required: true schema: type: integer /api/events: post: summary: 'Ajouter un évènement' operationId: ajouterUnvnement description: '' parameters: [] responses: { } tags: - Evenements requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: lyfrlnvbwwzrymksoz nullable: false description: type: string description: '' example: 'Eligendi sit omnis ducimus vel repudiandae mollitia laboriosam.' nullable: false start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: false end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2111-06-06' nullable: false type: type: string description: '' example: internal nullable: false enum: - internal - external parental_contribution: type: string description: '' example: null nullable: true budget: type: string description: '' example: nostrum nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 5 nullable: false service_id: type: integer description: 'The id of an existing record in the services table.' example: 3 nullable: true required: - name - description - start_date - end_date - type - hotel_id /api/events/trash: post: summary: 'Archiver un ou plusieurs events' operationId: archiverUnOuPlusieursEvents description: '' parameters: [] responses: { } tags: - Evenements requestBody: required: true content: application/json: schema: type: object properties: event_ids: type: array description: 'The id of an existing record in the events table.' example: - 20 items: type: integer required: - event_ids /api/events/restore: post: summary: 'Restaurer un ou plusieurs events' operationId: restaurerUnOuPlusieursEvents description: '' parameters: [] responses: { } tags: - Evenements requestBody: required: true content: application/json: schema: type: object properties: event_ids: type: array description: 'The id of an existing record in the events table.' example: - 18 items: type: integer required: - event_ids /api/hotels/all: post: summary: 'Lister les hotels de la plateforme' operationId: listerLesHotelsDeLaPlateforme description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 3 name: 'Pessi Hotel' phone: +1-206-252-5925 description: 'Sit quibusdam.' stars: 4 email: isauer@example.net address: "5733 Payton Union\nLake Godfreymouth, LA 34761-3059" website: null author: null created_at: '2025-02-14 10:50:03' links: first: 'http://127.0.0.1:8000/api/hotels/all?page=1' last: 'http://127.0.0.1:8000/api/hotels/all?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Précédent' active: false - url: 'http://127.0.0.1:8000/api/hotels/all?page=1' label: '1' active: true - url: null label: 'Suivant »' active: false path: 'http://127.0.0.1:8000/api/hotels/all' per_page: 1000000 to: 3 total: 3 properties: data: type: array example: - id: 3 name: 'Pessi Hotel' phone: +1-206-252-5925 description: 'Sit quibusdam.' stars: 4 email: isauer@example.net address: "5733 Payton Union\nLake Godfreymouth, LA 34761-3059" website: null author: null created_at: '2025-02-14 10:50:03' items: type: object properties: id: type: integer example: 3 name: type: string example: 'Pessi Hotel' phone: type: string example: +1-206-252-5925 description: type: string example: 'Sit quibusdam.' stars: type: integer example: 4 email: type: string example: isauer@example.net address: type: string example: "5733 Payton Union\nLake Godfreymouth, LA 34761-3059" website: type: string example: null author: type: string example: null created_at: type: string example: '2025-02-14 10:50:03' links: type: object properties: first: type: string example: 'http://127.0.0.1:8000/api/hotels/all?page=1' last: type: string example: 'http://127.0.0.1:8000/api/hotels/all?page=1' prev: type: string example: null next: type: string example: null meta: type: object properties: current_page: type: integer example: 1 from: type: integer example: 1 last_page: type: integer example: 1 links: type: array example: - url: null label: '« Précédent' active: false - url: 'http://127.0.0.1:8000/api/hotels/all?page=1' label: '1' active: true - url: null label: 'Suivant »' active: false items: type: object properties: url: type: string example: null label: type: string example: '« Précédent' active: type: boolean example: false path: type: string example: 'http://127.0.0.1:8000/api/hotels/all' per_page: type: integer example: 1000000 to: type: integer example: 3 total: type: integer example: 3 tags: - Hotels requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: required. example: 1 nullable: true nbre_items: type: integer description: '' example: 12 nullable: true filter_value: type: string description: '' example: provident nullable: true founder_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: true manager_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true assistant_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: true package_id: type: integer description: 'The id of an existing record in the packages table.' example: 12 nullable: true '/api/hotels/{hotel_id}': get: summary: 'Afficher les informations sur un hotel' operationId: afficherLesInformationsSurUnHotel description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Hotels put: summary: "Modifier les informations d'un hotel" operationId: modifierLesInformationsDunHotel description: '' parameters: [] responses: { } tags: - Hotels requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: provident nullable: true phone: type: string description: '' example: ullam nullable: true description: type: string description: '' example: 'Accusantium est et amet aliquid maiores minima.' nullable: true stars: type: integer description: 'Le champ value doit être au moins 1. Le champ value ne peut être supérieur à 5.' example: 3 nullable: true email: type: string description: 'Le champ value doit être une address e-mail valide.' example: rossie01@example.com nullable: true address: type: string description: '' example: culpa nullable: true website: type: string description: '' example: assumenda nullable: true logo: type: string description: '' example: dolorem nullable: true rib: type: string description: '' example: enim nullable: true niu: type: string description: '' example: molestiae nullable: true rc: type: string description: '' example: qui nullable: true creation_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true city: type: string description: '' example: rerum nullable: true country: type: string description: '' example: aspernatur nullable: true type: type: string description: '' example: molestias nullable: true category: type: string description: '' example: nemo nullable: true founder_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true manager_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true assistant_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true package_id: type: integer description: '' example: 17 nullable: true parameters: - in: path name: hotel_id description: 'The ID of the hotel.' example: 3 required: true schema: type: integer /api/hotels: post: summary: 'Créer un hôtel' operationId: crerUnHtel description: '' parameters: [] responses: { } tags: - Hotels requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: temporibus nullable: false phone: type: string description: '' example: in nullable: false description: type: string description: '' example: 'Veritatis sit autem quia.' nullable: false stars: type: integer description: 'Le champ value doit être au moins 1. Le champ value ne peut être supérieur à 5.' example: 5 nullable: false email: type: string description: 'Le champ value doit être une address e-mail valide.' example: zieme.amiya@example.com nullable: false address: type: string description: '' example: libero nullable: false website: type: string description: '' example: totam nullable: true logo: type: string description: '' example: totam nullable: true phone2: type: string description: '' example: null nullable: true rib: type: string description: '' example: null nullable: true niu: type: string description: '' example: null nullable: true rc: type: string description: '' example: null nullable: true creation_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: false city: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: ksortuloblrsir nullable: false country: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: rwttsnaqaqsaeu nullable: false type: type: string description: '' example: quia nullable: true category: type: string description: '' example: perspiciatis nullable: true founder_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: false manager_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: false assistant_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: true package_id: type: integer description: '' example: 11 nullable: false required: - name - phone - description - stars - email - address - creation_date - city - country - founder_id - manager_id - package_id /api/hotels/trash: delete: summary: "Archiver un ou plusieurs hotel(s)\nNB: Un hotel ne peut pas être supprimé si il est lié à quelque chose d'autre dans le système" operationId: archiverUnOuPlusieursHotelsNBUnHotelNePeutPastreSupprimSiIlEstLiQuelqueChoseDautreDansLeSystme description: '' parameters: [] responses: { } tags: - Hotels requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the hotels table.' example: - 20 items: type: integer required: - ids /api/hotels/restore: post: summary: 'Restaurer un ou plusieurs hotel(s) de la corbeille' operationId: restaurerUnOuPlusieursHotelsDeLaCorbeille description: '' parameters: [] responses: { } tags: - Hotels requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 7 items: type: integer required: - ids /api/hotels/destroy: delete: summary: "Forcer la suppression d'un ou plusieurs hotel(s) du système" operationId: forcerLaSuppressionDunOuPlusieursHotelsDuSystme description: '' parameters: [] responses: { } tags: - Hotels requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/article-movements/all: post: summary: "Lister les mouvements d'article en fonction du filtre" operationId: listerLesMouvementsDarticleEnFonctionDuFiltre description: '' parameters: [] responses: { } tags: - "Mouvements d'articles" requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 31 nullable: true nbre_items: type: integer description: '' example: 2 nullable: true filter_value: type: string description: '' example: beatae nullable: true article_id: type: integer description: 'The id of an existing record in the articles table.' example: 14 nullable: true operation_type: type: string description: '' example: exit nullable: true enum: - entry - exit product_id: type: integer description: 'The id of an existing record in the products table.' example: 14 nullable: true from_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true to_date: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à from_date.' example: '2122-09-23' nullable: true '/api/article-movements/{article_movement_id}': get: summary: "Afficher un mouvement d'article spécifique" operationId: afficherUnMouvementDarticleSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - "Mouvements d'articles" parameters: - in: path name: article_movement_id description: 'The ID of the article movement.' example: 1 required: true schema: type: integer /api/product-movements/all: post: summary: 'Lister les mouvements de produit en fonction du filtre' operationId: listerLesMouvementsDeProduitEnFonctionDuFiltre description: '' parameters: [] responses: { } tags: - 'Mouvements des produits' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 28 nullable: true nbre_items: type: integer description: '' example: 5 nullable: true filter_value: type: string description: '' example: rerum nullable: true product_id: type: integer description: 'The id of an existing record in the products table.' example: 13 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 4 nullable: true operation_type: type: string description: '' example: exit nullable: true enum: - entry - exit from_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true to_date: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à from_date.' example: '2054-08-29' nullable: true /api/product-movements: post: summary: "Effectuer un mouvement de produit (possibilité d'en créer)" operationId: effectuerUnMouvementDeProduitpossibilitDenCrer description: '' parameters: [] responses: { } tags: - 'Mouvements des produits' requestBody: required: true content: application/json: schema: type: object properties: quantity: type: integer description: '' example: 2 nullable: false description: type: string description: '' example: 'Velit dolores quidem modi vel quisquam.' nullable: true operation_type: type: string description: '' example: exit nullable: false enum: - entry - exit product_id: type: integer description: 'The id of an existing record in the products table.' example: 18 nullable: false required: - quantity - operation_type - product_id '/api/product-movements/{product_movement_id}': get: summary: 'Afficher un mouvement de produit spécifique' operationId: afficherUnMouvementDeProduitSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Mouvements des produits' parameters: - in: path name: product_movement_id description: 'The ID of the product movement.' example: 4 required: true schema: type: integer /api/packages/all: post: summary: 'Lister les packages / forfaits disponibles' operationId: listerLesPackagesForfaitsDisponibles description: '' parameters: [] responses: { } tags: - 'Packages / Forfaits' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 54 nullable: true nbre_items: type: integer description: '' example: 10 nullable: true filter_value: type: string description: '' example: vitae nullable: true website: type: boolean description: '' example: false nullable: true support_type: type: string description: '' example: premium nullable: true enum: - classic - premium electronic_payment: type: boolean description: '' example: true nullable: true mail_pro: type: boolean description: '' example: true nullable: true '/api/packages/{package_id}': get: summary: 'Afficher les informations sur un package' operationId: afficherLesInformationsSurUnPackage description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Packages / Forfaits' put: summary: "Modifier les informations d'un package" operationId: modifierLesInformationsDunPackage description: '' parameters: [] responses: { } tags: - 'Packages / Forfaits' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: rerum nullable: true amount: type: string description: '' example: null nullable: true website: type: boolean description: '' example: true nullable: true support_type: type: string description: '' example: premium nullable: true enum: - classic - premium electronic_payment: type: boolean description: '' example: false nullable: true mail_pro: type: boolean description: '' example: true nullable: true parameters: - in: path name: package_id description: 'The ID of the package.' example: 1 required: true schema: type: integer /api/packages: post: summary: 'Créer un package / forfait' operationId: crerUnPackageForfait description: '' parameters: [] responses: { } tags: - 'Packages / Forfaits' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: nobis nullable: false amount: type: string description: '' example: accusamus nullable: false website: type: boolean description: '' example: false nullable: false support_type: type: string description: '' example: classic nullable: false enum: - classic - premium electronic_payment: type: boolean description: '' example: true nullable: false mail_pro: type: boolean description: '' example: false nullable: false required: - name - amount - website - support_type - electronic_payment - mail_pro /api/packages/trash: post: summary: 'Fonction pour le multiple archivage des packages' operationId: fonctionPourLeMultipleArchivageDesPackages description: '' parameters: [] responses: { } tags: - 'Packages / Forfaits' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/packages/restore: post: summary: 'Fonction de restauration multiples des packages' operationId: fonctionDeRestaurationMultiplesDesPackages description: '' parameters: [] responses: { } tags: - 'Packages / Forfaits' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 6 items: type: integer required: - ids /api/packages/destroy: delete: summary: 'Fonction de suppression définitive multiple des packages' operationId: fonctionDeSuppressionDfinitiveMultipleDesPackages description: '' parameters: [] responses: { } tags: - 'Packages / Forfaits' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/settings/all: post: summary: "Lister les paramètres globaux de l'app" operationId: listerLesParamtresGlobauxDeLapp description: '' parameters: [] responses: { } tags: - 'Paramètres Généraux' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 75 nullable: true nbre_items: type: integer description: '' example: 12 nullable: true filter_value: type: string description: '' example: eum nullable: true '/api/settings/{setting_id}': get: summary: "Afficher les détails d'un paramètre global" operationId: afficherLesDtailsDunParamtreGlobal description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Paramètres Généraux' put: summary: "Modifier la valeur d'un paramètre global" operationId: modifierLaValeurDunParamtreGlobal description: '' parameters: [] responses: { } tags: - 'Paramètres Généraux' requestBody: required: true content: application/json: schema: type: object properties: value: type: string description: '' example: aperiam nullable: false required: - value parameters: - in: path name: setting_id description: 'The ID of the setting.' example: 1 required: true schema: type: integer /api/permissions/all: post: summary: 'Afficher la liste des permissions' operationId: afficherLaListeDesPermissions description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 82 nullable: true nbre_items: type: integer description: '' example: 6 nullable: true filter_value: type: string description: '' example: omnis nullable: true /api/permissions: post: summary: 'Ajouter une liste de permission' operationId: ajouterUneListeDePermission description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: permissions: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: name: type: string description: '' example: soluta nullable: false description: type: string description: '' example: 'Aut quia voluptatem cumque dolore eos omnis aperiam.' nullable: true ressource: type: string description: '' example: quia nullable: false required: - name - ressource required: - permissions '/api/permissions/{permission}': get: summary: 'Afficher une permission spécifique' operationId: afficherUnePermissionSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Permissions put: summary: 'Mettre a jour une permission spécifique' operationId: mettreAJourUnePermissionSpcifique description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: et nullable: false permissions: type: array description: '' example: - [] items: type: object properties: description: type: string description: '' example: 'Cum aut cupiditate accusamus nesciunt perspiciatis.' nullable: true ressource: type: string description: '' example: reiciendis nullable: true required: - name parameters: - in: path name: permission description: 'The permission.' example: porro required: true schema: type: string /api/permissions/trash: post: summary: 'Fonction pour le multiple archivage des permissions' operationId: fonctionPourLeMultipleArchivageDesPermissions description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/permissions/restore: post: summary: 'Fonction de restauration multiples des permissions' operationId: fonctionDeRestaurationMultiplesDesPermissions description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 12 items: type: integer required: - ids /api/permissions/destroy: post: summary: 'Fonction de suppression définitive multiple des permissions' operationId: fonctionDeSuppressionDfinitiveMultipleDesPermissions description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 5 items: type: integer required: - ids /api/staff-presences/all: post: summary: 'Afficher la liste filtrée des présences du personnel' operationId: afficherLaListeFiltreDesPrsencesDuPersonnel description: '' parameters: [] responses: { } tags: - 'Presence du personnel / Staff presence' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 79 nullable: true nbre_items: type: integer description: '' example: 20 nullable: true filter_value: type: string description: '' example: perspiciatis nullable: true type: type: string description: '' example: staff nullable: true enum: - staff - employ scan_per_course: type: boolean description: '' example: false nullable: true saving_type: type: string description: '' example: qr_code nullable: true enum: - manual - qr_code user_id: type: integer description: 'The id of an existing record in the users table.' example: 5 nullable: true date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true '/api/staff-presences/{staff_presence_id}': get: summary: 'Display the specified resource.' operationId: displayTheSpecifiedResource description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Presence du personnel / Staff presence' put: summary: 'Modifier une présence du personnel' operationId: modifierUnePrsenceDuPersonnel description: '' parameters: [] responses: { } tags: - 'Presence du personnel / Staff presence' requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 17 nullable: true scan_per_course: type: boolean description: '' example: true nullable: true type: type: string description: '' example: staff nullable: true enum: - staff - employ date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true time: type: string description: 'Must be a valid date in the format H:i:s.' example: '09:06:14' nullable: true arrival_time: type: string description: 'Must be a valid date in the format H:i:s.' example: '09:06:14' nullable: true departure_time: type: string description: 'Must be a valid date in the format H:i:s.' example: '09:06:14' nullable: true reason: type: string description: '' example: eum nullable: true parameters: - in: path name: staff_presence_id description: 'The ID of the staff presence.' example: 15 required: true schema: type: integer /api/staff-presences: post: summary: 'Enregistrer une nouvelle présence de personnel.' operationId: enregistrerUneNouvellePrsenceDePersonnel description: '' parameters: [] responses: { } tags: - 'Presence du personnel / Staff presence' requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: false scan_per_course: type: boolean description: '' example: false nullable: false type: type: string description: '' example: staff nullable: false enum: - staff - employ date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true arrival_time: type: string description: 'Must be a valid date in the format H:i:s.' example: '09:06:14' nullable: true departure_time: type: string description: 'Must be a valid date in the format H:i:s.' example: '09:06:14' nullable: true reason: type: string description: '' example: ad nullable: true required: - user_id - scan_per_course - type /api/staff-presences/trash: post: summary: 'Archiver (soft delete) les presences spécifiées.' operationId: archiversoftDeleteLesPresencesSpcifies description: '' parameters: [] responses: { } tags: - 'Presence du personnel / Staff presence' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 13 items: type: integer required: - ids /api/staff-presences/restore: post: summary: 'Restaurer les staff_presences archivés.' operationId: restaurerLesStaffPresencesArchivs description: '' parameters: [] responses: { } tags: - 'Presence du personnel / Staff presence' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 9 items: type: integer required: - ids /api/staff-presences/destroy: delete: summary: 'Supprimer définitivement les staff_presences spécifiés.' operationId: supprimerDfinitivementLesStaffPresencesSpcifis description: '' parameters: [] responses: { } tags: - 'Presence du personnel / Staff presence' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/products/all: post: summary: 'Afficher la liste des produits' operationId: afficherLaListeDesProduits description: '' parameters: [] responses: { } tags: - Produits requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 61 nullable: true nbre_items: type: integer description: '' example: 11 nullable: true filter_value: type: string description: '' example: harum nullable: true article_ids: type: array description: 'The id of an existing record in the articles table.' example: - 16 items: type: integer type: type: string description: '' example: storable nullable: true enum: - consumable - storable expired: type: boolean description: '' example: false nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 4 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 15 nullable: true /api/products: post: summary: 'Ajouter de nouveaux produits' operationId: ajouterDeNouveauxProduits description: '' parameters: [] responses: { } tags: - Produits requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: maiores nullable: false type: type: string description: '' example: storable nullable: false enum: - consumable - storable image: type: string description: '' example: veritatis nullable: true price: type: number description: '' example: 32045.808 nullable: false description: type: string description: '' example: 'Deleniti consectetur cupiditate exercitationem in.' nullable: true alert_quantity: type: integer description: '' example: 5 nullable: true status: type: string description: '' example: validated nullable: true enum: - pending - validated quantity: type: integer description: 'Le champ value doit être au moins 0.' example: 60 nullable: true expiry_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 5 nullable: true articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: id: type: integer description: 'The id of an existing record in the articles table.' example: 20 nullable: false quantity: type: number description: 'Le champ value doit être au moins 0.' example: 70 nullable: false required: - id - quantity required: - name - type - price - articles '/api/products/{product_id}': get: summary: 'Afficher un produit spécifique' operationId: afficherUnProduitSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Produits put: summary: 'Modifier un produit spécifique' operationId: modifierUnProduitSpcifique description: '' parameters: [] responses: { } tags: - Produits requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: praesentium nullable: true type: type: string description: '' example: storable nullable: true enum: - consumable - storable image: type: string description: '' example: sit nullable: true price: type: number description: '' example: 1.9149331 nullable: true description: type: string description: '' example: 'Qui qui explicabo assumenda nemo nihil quaerat.' nullable: true alert_quantity: type: integer description: '' example: 9 nullable: true status: type: string description: '' example: pending nullable: true enum: - pending - validated quantity: type: integer description: 'Le champ value doit être au moins 0.' example: 21 nullable: true expiry_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 15 nullable: true articles: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: null items: type: object nullable: true properties: id: type: integer description: 'The id of an existing record in the articles table.' example: 16 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 21 nullable: true parameters: - in: path name: product_id description: 'The ID of the product.' example: 10 required: true schema: type: integer /api/products/trash: post: summary: 'Fonction pour le multiple archivage des products' operationId: fonctionPourLeMultipleArchivageDesProducts description: '' parameters: [] responses: { } tags: - Produits requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/products/restore: post: summary: 'Fonction de restauration multiples des products' operationId: fonctionDeRestaurationMultiplesDesProducts description: '' parameters: [] responses: { } tags: - Produits requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 15 items: type: integer required: - ids /api/products/destroy: delete: summary: 'Fonction de suppression définitive multiple des products' operationId: fonctionDeSuppressionDfinitiveMultipleDesProducts description: '' parameters: [] responses: { } tags: - Produits requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/punishments/all: post: summary: 'Liste les sanctions avec filtrage par utilisateur, type ou valeur de recherche.' operationId: listeLesSanctionsAvecFiltrageParUtilisateurTypeOuValeurDeRecherche description: '' parameters: [] responses: { } tags: - Punitions requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 23 nullable: true nbre_items: type: integer description: '' example: 9 nullable: true filter_value: type: string description: '' example: ipsam nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 14 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 3 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true type: type: integer description: '' example: 2 nullable: true '/api/punishments/{punishment_id}': get: summary: "Affiche les détails d'une sanction spécifique." operationId: afficheLesDtailsDuneSanctionSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Punitions put: summary: "Met à jour les informations d'une sanction existante." operationId: metJourLesInformationsDuneSanctionExistante description: '' parameters: [] responses: { } tags: - Punitions requestBody: required: false content: application/json: schema: type: object properties: description: type: string description: '' example: 'Et quis optio est explicabo officia hic et.' nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: true type: type: string description: '' example: error nullable: true reasons: type: string description: '' example: voluptatem nullable: true parameters: - in: path name: punishment_id description: 'The ID of the punishment.' example: 18 required: true schema: type: integer /api/punishments: post: summary: 'Crée une ou plusieurs sanctions à partir des données fournies.' operationId: creUneOuPlusieursSanctionsPartirDesDonnesFournies description: '' parameters: [] responses: { } tags: - Punitions requestBody: required: true content: application/json: schema: type: object properties: punishments: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: description: type: string description: '' example: 'Reiciendis hic est debitis ratione eos voluptas natus.' nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: false type: type: string description: '' example: delectus nullable: false reasons: type: string description: '' example: in nullable: false required: - user_id - type - reasons required: - punishments /api/punishments/trash: delete: summary: 'Met en corbeille (soft delete) une ou plusieurs sanctions.' operationId: metEnCorbeillesoftDeleteUneOuPlusieursSanctions description: '' parameters: [] responses: { } tags: - Punitions requestBody: required: true content: application/json: schema: type: object properties: punishment_ids: type: array description: 'The id of an existing record in the punishments table.' example: - 14 items: type: integer required: - punishment_ids /api/punishments/restore: post: summary: 'Restaure une ou plusieurs sanctions mises en corbeille.' operationId: restaureUneOuPlusieursSanctionsMisesEnCorbeille description: '' parameters: [] responses: { } tags: - Punitions requestBody: required: true content: application/json: schema: type: object properties: punishment_ids: type: array description: 'The id of an existing record in the punishments table.' example: - 1 items: type: integer required: - punishment_ids /api/punishments/destroy: delete: summary: 'Supprime définitivement une ou plusieurs sanctions mises en corbeille.' operationId: supprimeDfinitivementUneOuPlusieursSanctionsMisesEnCorbeille description: '' parameters: [] responses: { } tags: - Punitions requestBody: required: true content: application/json: schema: type: object properties: punishment_ids: type: array description: 'The id of an existing record in the punishments table.' example: - 2 items: type: integer required: - punishment_ids /api/salaries-deductions/all: post: summary: 'Afficher la liste filtrée des retenues sur salaire' operationId: afficherLaListeFiltreDesRetenuesSurSalaire description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 59 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: delectus nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true trashed: type: boolean description: '' example: true nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true status: type: string description: '' example: pending_approval nullable: true enum: - pending_approval - in_progress - approved - rejected '/api/salaries-deductions/{salary_deduction}': get: summary: 'Afficher une retenue sur salaire spécifique' operationId: afficherUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Retenue sur salaire / Salary deduction' put: summary: 'Mettre à jour une retenue sur salaire spécifique' operationId: mettreJourUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: true amount: type: string description: '' example: null nullable: true reason: type: string description: '' example: suscipit nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true status: type: string description: '' example: pending_approval nullable: true enum: - pending_approval - in_progress - approved - rejected parameters: - in: path name: salary_deduction description: '' example: 8 required: true schema: type: integer /api/salaries-deductions: post: summary: 'Show the form for creating a new resource.' operationId: showTheFormForCreatingANewResource description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: salary_deductions: type: array description: '' example: - [] items: type: object properties: user_id: type: string description: 'The id of an existing record in the users table.' example: similique nullable: false user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: false amount: type: number description: 'Le champ value doit être au moins 0.' example: 9 nullable: false date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:14' nullable: false status: type: string description: '' example: approved nullable: true enum: - pending_approval - in_progress - approved - rejected reason: type: string description: '' example: sed nullable: false required: - user_id - user_approve_id - amount - date - reason required: - salary_deductions /api/salaries-deductions/trash: post: summary: 'Archiver (soft delete) les retenues sur salaire spécifiées.' operationId: archiversoftDeleteLesRetenuesSurSalaireSpcifies description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 8 items: type: integer required: - ids /api/salaries-deductions/restore: post: summary: 'Restaurer les feedbacks archivés.' operationId: restaurerLesFeedbacksArchivs description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 12 items: type: integer required: - ids /api/salaries-deductions/destroy: delete: summary: 'Supprimer définitivement les feedbacks spécifiés.' operationId: supprimerDfinitivementLesFeedbacksSpcifis description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/reductions/all: post: summary: 'Afficher la liste des réductions' operationId: afficherLaListeDesRductions description: '' parameters: [] responses: { } tags: - Réductions requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 6 nullable: true nbre_items: type: integer description: 'Le champ value doit être au moins 1.' example: 73 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: aukaafpbtsvknikrdpsslrpzv nullable: true /api/reductions: post: summary: 'Enregistrer une nouvelle réduction' operationId: enregistrerUneNouvelleRduction description: '' parameters: [] responses: { } tags: - Réductions requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: cocpeajhkoahfmqgzq nullable: false description: type: string description: '' example: 'Cumque accusantium ut ipsum et.' nullable: true amount: type: number description: 'Le champ value doit être au moins 0.' example: 78 nullable: false required: - name - amount '/api/reductions/{reduction}': get: summary: "Afficher les détails d'une réduction" operationId: afficherLesDtailsDuneRduction description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Réductions put: summary: 'Mettre à jour une réduction' operationId: mettreJourUneRduction description: '' parameters: [] responses: { } tags: - Réductions requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: hbbtlzpmxibtozbqf nullable: true description: type: string description: '' example: 'Ipsa blanditiis et cumque qui velit ipsum dolor et.' nullable: true amount: type: number description: 'Le champ value doit être au moins 0.' example: 33 nullable: true parameters: - in: path name: reduction description: 'The reduction.' example: sed required: true schema: type: string /api/reductions/trash: post: summary: 'Afficher la corbeille des réductions supprimées' operationId: afficherLaCorbeilleDesRductionsSupprimes description: '' parameters: [] responses: { } tags: - Réductions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the reductions table.' example: null items: type: string /api/reductions/restore: post: summary: 'Restaurer une réduction supprimée' operationId: restaurerUneRductionSupprime description: '' parameters: [] responses: { } tags: - Réductions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the reductions table.' example: null items: type: string /api/reductions/destroy: post: summary: 'Supprimer une réduction (soft delete)' operationId: supprimerUneRductionsoftDelete description: '' parameters: [] responses: { } tags: - Réductions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the reductions table.' example: null items: type: string /api/bookings/all: post: summary: 'Afficher la liste des réservations' operationId: afficherLaListeDesRservations description: '' parameters: [] responses: { } tags: - Réservations requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 89 nullable: true nbre_items: type: integer description: '' example: 16 nullable: true filter_value: type: string description: '' example: numquam nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 8 nullable: true room_type_id: type: integer description: 'The id of an existing record in the room_types table.' example: 5 nullable: true room_category_id: type: integer description: 'The id of an existing record in the room_categories table.' example: 17 nullable: true room_id: type: integer description: 'The id of an existing record in the rooms table.' example: 13 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true status: type: string description: '' example: pending nullable: true enum: - pending - confirmed - canceled payment_status: type: string description: '' example: advance nullable: true enum: - none - advance - completed room_service_id: type: integer description: 'The id of an existing record in the room_services table.' example: 20 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true /api/bookings: post: summary: 'Enregistrer une nouvelle réservation' operationId: enregistrerUneNouvelleRservation description: '' parameters: [] responses: { } tags: - Réservations requestBody: required: true content: application/json: schema: type: object properties: start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: false end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après start_date.' example: '2106-07-25' nullable: false user_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: false transport_mode: type: string description: 'Le champ value ne peut contenir plus de 50 caractères.' example: dodrfrnjlhrofscmmvurgall nullable: true vehicle_number: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: jdo nullable: true arrival_time: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true departure_time: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true arrivals: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: zhkurtuejufbxvxhfdntgznc nullable: true is_free: type: boolean description: '' example: true nullable: true rooms: type: array description: 'The id of an existing record in the rooms table.' example: - voluptatem items: type: string required: - start_date - end_date - user_id - rooms '/api/bookings/{booking_id}': put: summary: 'Mettre à jour une réservation' operationId: mettreJourUneRservation description: '' parameters: [] responses: { } tags: - Réservations requestBody: required: true content: application/json: schema: type: object properties: start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: false end_date: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après start_date.' example: '2037-03-04' nullable: false user_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: false room_service_id: type: integer description: 'The id of an existing record in the room_services table.' example: 9 nullable: true transport_mode: type: string description: 'Le champ value ne peut contenir plus de 50 caractères.' example: rhfwl nullable: true vehicle_number: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: uwymsfpt nullable: true arrival_time: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true departure_time: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true arrivals: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: nk nullable: true is_free: type: boolean description: '' example: false nullable: true rooms: type: array description: 'The id of an existing record in the rooms table.' example: - aut items: type: string status: type: string description: '' example: checked_in nullable: true enum: - pending - confirmed - checked_in - checked_out - cancelled - no_show - refunded - draft - expired required: - start_date - end_date - user_id - rooms parameters: - in: path name: booking_id description: 'The ID of the booking.' example: 1 required: true schema: type: integer /api/bookings/trash: post: summary: 'Fonction pour le multiple archivage des Reservations' operationId: fonctionPourLeMultipleArchivageDesReservations description: '' parameters: [] responses: { } tags: - Réservations requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 4 items: type: integer required: - ids /api/bookings/restore: post: summary: 'Fonction de restauration multiples des Reservations' operationId: fonctionDeRestaurationMultiplesDesReservations description: '' parameters: [] responses: { } tags: - Réservations requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 8 items: type: integer required: - ids /api/bookings/destroy: delete: summary: 'Fonction de suppression définitive multiple des Reservations' operationId: fonctionDeSuppressionDfinitiveMultipleDesReservations description: '' parameters: [] responses: { } tags: - Réservations requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/roles/all: post: summary: 'Lister les roles' operationId: listerLesRoles description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 50 nullable: true nbre_items: type: integer description: '' example: 8 nullable: true filter_value: type: string description: '' example: ipsam nullable: true types: type: array description: '' example: - est items: type: string /api/roles: post: summary: 'Ajouter une liste de role' operationId: ajouterUneListeDeRole description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: rerum nullable: false permissions: type: array description: 'The id of an existing record in the permissions table.' example: - 17 items: type: integer description: type: string description: '' example: 'Eveniet dolores laboriosam qui qui numquam qui culpa.' nullable: true type: type: string description: '' example: iste nullable: true required: - name - permissions '/api/roles/{role_id}': get: summary: 'Afficher un role spécifique' operationId: afficherUnRoleSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Rôles put: summary: 'Modifier ou un role spécifique' operationId: modifierOuUnRoleSpcifique description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: rerum nullable: true permissions: type: array description: 'The id of an existing record in the permissions table.' example: - 5 items: type: integer nullable: true description: type: string description: '' example: 'Nisi earum vel rerum magnam nobis id sed.' nullable: true type: type: string description: '' example: et nullable: true parameters: - in: path name: role_id description: 'The ID of the role.' example: 1 required: true schema: type: integer /api/roles/trash: post: summary: 'Fonction pour le multiple archivage des roles' operationId: fonctionPourLeMultipleArchivageDesRoles description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/roles/restore: post: summary: 'Fonction de restauration multiples des roles' operationId: fonctionDeRestaurationMultiplesDesRoles description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 17 items: type: integer required: - ids /api/roles/destroy: delete: summary: 'Fonction de suppression définitive multiple des roles' operationId: fonctionDeSuppressionDfinitiveMultipleDesRoles description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/room-services/all: post: summary: 'Récupérer la liste des services de chambre avec filtres et pagination.' operationId: rcuprerLaListeDesServicesDeChambreAvecFiltresEtPagination description: '' parameters: [] responses: { } tags: - 'Service de chambre' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 84 nullable: true nbre_items: type: integer description: '' example: 10 nullable: true filter_value: type: string description: '' example: voluptas nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 19 nullable: true archive: type: string description: '' example: with_trashed nullable: true enum: - with_trashed - only_trashed order_by: type: string description: '' example: service_id nullable: true enum: - id - name - service_id '/api/room-services/{room_service}': get: summary: "Afficher les détails d'un service de chambre spécifique." operationId: afficherLesDtailsDunServiceDeChambreSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Service de chambre' put: summary: 'Mettre à jour un service de chambre existant.' operationId: mettreJourUnServiceDeChambreExistant description: '' parameters: [] responses: { } tags: - 'Service de chambre' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: wfzndbwiphzalkujxa nullable: true description: type: string description: 'Le champ value ne peut contenir plus de 5000 caractères.' example: 'Ea labore qui ullam quia.' nullable: true price: type: string description: '' example: null nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 9 nullable: true parameters: - in: path name: room_service description: '' example: 1 required: true schema: type: integer /api/room-services: post: summary: 'Créer un ou plusieurs services de chambre.' operationId: crerUnOuPlusieursServicesDeChambre description: '' parameters: [] responses: { } tags: - 'Service de chambre' requestBody: required: true content: application/json: schema: type: object properties: room_services: type: array description: '' example: - [] items: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: mebuvp nullable: true description: type: string description: 'Le champ value ne peut contenir plus de 5000 caractères.' example: 'Impedit itaque est commodi.' nullable: true price: type: string description: '' example: null nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 18 nullable: true required: - room_services /api/room-services/trash: post: summary: 'Archiver un ou plusieurs services de chambre.' operationId: archiverUnOuPlusieursServicesDeChambre description: '' parameters: [] responses: { } tags: - 'Service de chambre' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the room_services table.' example: - 11 items: type: integer required: - ids /api/room-services/restore: post: summary: 'Restaurer un ou plusieurs services de chambre archivés.' operationId: restaurerUnOuPlusieursServicesDeChambreArchivs description: '' parameters: [] responses: { } tags: - 'Service de chambre' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the room_services table.' example: - 13 items: type: integer required: - ids /api/services/all: post: summary: 'Récupérer la liste des services avec filtres et pagination.' operationId: rcuprerLaListeDesServicesAvecFiltresEtPagination description: '' parameters: [] responses: { } tags: - Services requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 5 nullable: true nbre_items: type: integer description: '' example: 7 nullable: true filter_value: type: string description: '' example: error nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 12 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true '/api/services/{service_id}': get: summary: "Afficher les détails d'un service spécifique." operationId: afficherLesDtailsDunServiceSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Services put: summary: 'Mettre à jour un service existant.' operationId: mettreJourUnServiceExistant description: '' parameters: [] responses: { } tags: - Services requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: necessitatibus nullable: true image: type: string description: '' example: ut nullable: true description: type: string description: '' example: 'Molestiae nobis hic veniam.' nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 9 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: true parameters: - in: path name: service_id description: 'The ID of the service.' example: 1 required: true schema: type: integer /api/services: post: summary: 'Créer un ou plusieurs services.' operationId: crerUnOuPlusieursServices description: '' parameters: [] responses: { } tags: - Services requestBody: required: true content: application/json: schema: type: object properties: services: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: name: type: string description: '' example: eos nullable: false image: type: string description: '' example: nihil nullable: true description: type: string description: '' example: 'Quibusdam nisi commodi quidem ducimus et nesciunt.' nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 8 nullable: false responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: false required: - name - hotel_id - responsible_id required: - services /api/services/trash: delete: summary: 'Archiver un ou plusieurs services.' operationId: archiverUnOuPlusieursServices description: '' parameters: [] responses: { } tags: - Services requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/services/restore: post: summary: 'Restaurer un ou plusieurs services archivés.' operationId: restaurerUnOuPlusieursServicesArchivs description: '' parameters: [] responses: { } tags: - Services requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 7 items: type: integer required: - ids /api/services/destroy: delete: summary: 'Supprimer définitivement un ou plusieurs services.' operationId: supprimerDfinitivementUnOuPlusieursServices description: '' parameters: [] responses: { } tags: - Services requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 16 items: type: integer required: - ids /api/feedbacks/all: post: summary: 'Affiche une liste des feedbacks filtrés.' operationId: afficheUneListeDesFeedbacksFiltrs description: '' parameters: [] responses: { } tags: - 'Suggestions / Feedback' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 29 nullable: true nbre_items: type: integer description: '' example: 4 nullable: true filter_value: type: string description: '' example: omnis nullable: true is_anonymous: type: boolean description: '' example: false nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 4 nullable: true status: type: string description: '' example: received nullable: true enum: - pending - received - in_progress - resolved '/api/feedbacks/{feedback_id}': get: summary: "Afficher les détails d'une suggestion / feedback" operationId: afficherLesDtailsDuneSuggestionFeedback description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Suggestions / Feedback' put: summary: 'Mettre à jour une suggestion / feedback' operationId: mettreJourUneSuggestionFeedback description: '' parameters: [] responses: { } tags: - 'Suggestions / Feedback' requestBody: required: false content: application/json: schema: type: object properties: service_id: type: integer description: 'The id of an existing record in the services table.' example: 3 nullable: true status: type: string description: '' example: pending nullable: true enum: - pending - received - in_progress - resolved message: type: string description: 'Le champ value ne peut contenir plus de 1000 caractères.' example: fhenzl nullable: true is_anonymous: type: boolean description: '' example: true nullable: true parameters: - in: path name: feedback_id description: 'The ID of the feedback.' example: 1 required: true schema: type: integer /api/feedbacks: post: summary: 'Créer une suggestion / feedback' operationId: crerUneSuggestionFeedback description: '' parameters: [] responses: { } tags: - 'Suggestions / Feedback' requestBody: required: true content: application/json: schema: type: object properties: service_id: type: integer description: 'The id of an existing record in the services table.' example: 1 nullable: true message: type: string description: 'Le champ value ne peut contenir plus de 1000 caractères.' example: mxlsxwnlcx nullable: false is_anonyme: type: boolean description: '' example: true nullable: true required: - message /api/feedbacks/trash: post: summary: 'Archiver (soft delete) les feedbacks spécifiés.' operationId: archiversoftDeleteLesFeedbacksSpcifis description: '' parameters: [] responses: { } tags: - 'Suggestions / Feedback' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 7 items: type: integer required: - ids /api/feedbacks/restore: post: summary: 'Restaurer les feedbacks archivés.' operationId: restaurerLesFeedbacksArchivs description: '' parameters: [] responses: { } tags: - 'Suggestions / Feedback' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 9 items: type: integer required: - ids /api/feedbacks/destroy: delete: summary: 'Supprimer définitivement les feedbacks spécifiés.' operationId: supprimerDfinitivementLesFeedbacksSpcifis description: '' parameters: [] responses: { } tags: - 'Suggestions / Feedback' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 2 items: type: integer required: - ids /api/expense-types/all: post: summary: 'Afficher les types de dépense' operationId: afficherLesTypesDeDpense description: '' parameters: [] responses: { } tags: - 'Type de dépense / Expense Type' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 82 nullable: true nbre_items: type: integer description: '' example: 10 nullable: true '/api/expense-types/{expense_type}': get: summary: 'Afficher un type de dépense spécifique' operationId: afficherUnTypeDeDpenseSpcifique description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Type de dépense / Expense Type' put: summary: 'Mettre a jour les types de dépense' operationId: mettreAJourLesTypesDeDpense description: '' parameters: [] responses: { } tags: - 'Type de dépense / Expense Type' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: inventore nullable: true description: type: string description: '' example: 'Vero eveniet iure cupiditate voluptate optio itaque reprehenderit.' nullable: true parameters: - in: path name: expense_type description: '' example: 1 required: true schema: type: integer /api/expense-types: post: summary: 'Creer un type de dépense' operationId: creerUnTypeDeDpense description: '' parameters: [] responses: { } tags: - 'Type de dépense / Expense Type' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: ut nullable: false description: type: string description: '' example: 'Magnam illo iste voluptatem quo quisquam.' nullable: true required: - name /api/expense-types/trash: post: summary: 'Archiver (soft delete) les types de dépense.' operationId: archiversoftDeleteLesTypesDeDpense description: '' parameters: [] responses: { } tags: - 'Type de dépense / Expense Type' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 3 items: type: integer required: - ids /api/expense-types/restore: post: summary: 'Restaurer les types de dépense archivée.' operationId: restaurerLesTypesDeDpenseArchive description: '' parameters: [] responses: { } tags: - 'Type de dépense / Expense Type' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 17 items: type: integer required: - ids /api/expense-types/destroy: delete: summary: 'Supprimer définitivement les expense_types spécifiés.' operationId: supprimerDfinitivementLesExpenseTypesSpcifis description: '' parameters: [] responses: { } tags: - 'Type de dépense / Expense Type' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 9 items: type: integer required: - ids /api/room-types/all: post: summary: 'Lister les types de chambres disponibles' operationId: listerLesTypesDeChambresDisponibles description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: - id: 2 name: 'Chambre VIP' description: null author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 11:42:24' count_rooms: 0 - id: 4 name: 'Salle de fëte' description: null author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 11:56:06' count_rooms: 0 - id: 3 name: 'Suite Présidentielle' description: null author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 11:44:16' count_rooms: 0 links: first: 'http://127.0.0.1:8000/api/room-types/all?page=1' last: 'http://127.0.0.1:8000/api/room-types/all?page=1' prev: null next: null meta: current_page: 1 from: 1 last_page: 1 links: - url: null label: '« Précédent' active: false - url: 'http://127.0.0.1:8000/api/room-types/all?page=1' label: '1' active: true - url: null label: 'Suivant »' active: false path: 'http://127.0.0.1:8000/api/room-types/all' per_page: 1000000 to: 3 total: 3 properties: data: type: array example: - id: 2 name: 'Chambre VIP' description: null author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 11:42:24' count_rooms: 0 - id: 4 name: 'Salle de fëte' description: null author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 11:56:06' count_rooms: 0 - id: 3 name: 'Suite Présidentielle' description: null author: id: 1 name: Admin phone: null created_by: null updated_by: null deleted_by: null created_at: '2025-02-14 10:50:03' updated_at: '2025-02-14 10:50:03' deleted_at: null token: null created_at: '2025-02-14 11:44:16' count_rooms: 0 items: type: object properties: id: type: integer example: 2 name: type: string example: 'Chambre VIP' description: type: string example: null author: type: object properties: id: type: integer example: 1 name: type: string example: Admin phone: type: string example: null created_by: type: string example: null updated_by: type: string example: null deleted_by: type: string example: null created_at: type: string example: '2025-02-14 10:50:03' updated_at: type: string example: '2025-02-14 10:50:03' deleted_at: type: string example: null token: type: string example: null created_at: type: string example: '2025-02-14 11:42:24' count_rooms: type: integer example: 0 links: type: object properties: first: type: string example: 'http://127.0.0.1:8000/api/room-types/all?page=1' last: type: string example: 'http://127.0.0.1:8000/api/room-types/all?page=1' prev: type: string example: null next: type: string example: null meta: type: object properties: current_page: type: integer example: 1 from: type: integer example: 1 last_page: type: integer example: 1 links: type: array example: - url: null label: '« Précédent' active: false - url: 'http://127.0.0.1:8000/api/room-types/all?page=1' label: '1' active: true - url: null label: 'Suivant »' active: false items: type: object properties: url: type: string example: null label: type: string example: '« Précédent' active: type: boolean example: false path: type: string example: 'http://127.0.0.1:8000/api/room-types/all' per_page: type: integer example: 1000000 to: type: integer example: 3 total: type: integer example: 3 tags: - 'Types de Chambres' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: required. example: 1 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: laudantium nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 20 nullable: true trashed: type: boolean description: '' example: false nullable: false '/api/room-types/{room_type}': get: summary: 'Afficher les informations sur un type de chambre' operationId: afficherLesInformationsSurUnTypeDeChambre description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Types de Chambres' put: summary: 'Ajouter un type de chambre' operationId: ajouterUnTypeDeChambre description: '' parameters: [] responses: { } tags: - 'Types de Chambres' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: est nullable: false hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 5 nullable: true description: type: string description: '' example: 'Aut assumenda molestiae qui expedita minus molestiae eligendi natus.' nullable: true required: - name parameters: - in: path name: room_type description: '' example: 3 required: true schema: type: integer /api/room-types: post: summary: 'Ajouer un type de chambre' operationId: ajouerUnTypeDeChambre description: '' parameters: [] responses: { } tags: - 'Types de Chambres' requestBody: required: true content: application/json: schema: type: object properties: room_types: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: name: type: string description: '' example: aliquid nullable: false hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 12 nullable: false description: type: string description: '' example: 'Id omnis qui molestiae culpa.' nullable: true required: - name - hotel_id required: - room_types /api/room-types/trash: delete: summary: "Archiver un ou plusieurs type de chambre\nNB: Un type de chambre ne peut pas être supprimé si il est lié à quelque chose d'autre dans le système" operationId: archiverUnOuPlusieursTypeDeChambreNBUnTypeDeChambreNePeutPastreSupprimSiIlEstLiQuelqueChoseDautreDansLeSystme description: '' parameters: [] responses: { } tags: - 'Types de Chambres' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the room_types table.' example: - 11 items: type: integer required: - ids /api/room-types/restore: post: summary: 'Restaurer un ou plusieurs type de chambre de la corbeille' operationId: restaurerUnOuPlusieursTypeDeChambreDeLaCorbeille description: '' parameters: [] responses: { } tags: - 'Types de Chambres' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 18 items: type: integer required: - ids /api/room-types/destroy: delete: summary: "Forcer la suppression d'un ou plusieurs hotel(s) du système" operationId: forcerLaSuppressionDunOuPlusieursHotelsDuSystme description: '' parameters: [] responses: { } tags: - 'Types de Chambres' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 3 items: type: integer required: - ids /api/tasks/all: post: summary: 'Lister les tâches' operationId: listerLesTches description: '' parameters: [] responses: { } tags: - Tâches requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: true page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 43 nullable: true nbre_items: type: integer description: '' example: 7 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: cknukxwshlskpaqbkjtvsduet nullable: true priority: type: string description: '' example: medium nullable: true enum: - low - medium - high status: type: string description: '' example: started nullable: true enum: - created - started - finished '/api/tasks/{task_id}': get: summary: "Afficher les détails d'une tâche" operationId: afficherLesDtailsDuneTche description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Tâches put: summary: 'Modifier une tâche' operationId: modifierUneTche description: '' parameters: [] responses: { } tags: - Tâches requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 250 caractères.' example: dysfiaruxeq nullable: true description: type: string description: '' example: 'Facilis modi vel esse consequatur ut beatae.' nullable: true due_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: true estimation: type: integer description: 'Le champ value doit être au moins 0.' example: 57 nullable: true priority: type: string description: '' example: high nullable: true enum: - low - medium - high status: type: string description: '' example: created nullable: true enum: - created - started - finished user_ids: type: array description: 'The id of an existing record in the users table.' example: - 18 items: type: integer responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: true parameters: - in: path name: task_id description: 'The ID of the task.' example: 1 required: true schema: type: integer /api/tasks: post: summary: 'Ajouter une tâche' operationId: ajouterUneTche description: '' parameters: [] responses: { } tags: - Tâches requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 250 caractères.' example: jqdkykskfdq nullable: false description: type: string description: '' example: 'Aliquam aut labore debitis iusto quas ut fugiat.' nullable: false due_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-02-06' nullable: false estimation: type: integer description: 'Le champ value doit être au moins 0.' example: 58 nullable: false priority: type: string description: '' example: low nullable: false enum: - low - medium - high user_ids: type: array description: 'The id of an existing record in the users table.' example: - 10 items: type: integer responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: false required: - name - description - due_date - estimation - priority - responsible_id /api/tasks/trash: post: summary: 'Fonction pour le multiple archivage des taches' operationId: fonctionPourLeMultipleArchivageDesTaches description: '' parameters: [] responses: { } tags: - Tâches requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 4 items: type: integer required: - ids /api/tasks/restore: post: summary: 'Fonction de restauration multiples des taches' operationId: fonctionDeRestaurationMultiplesDesTaches description: '' parameters: [] responses: { } tags: - Tâches requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/tasks/destroy: delete: summary: 'Fonction de suppression définitive multiple des taches' operationId: fonctionDeSuppressionDfinitiveMultipleDesTaches description: '' parameters: [] responses: { } tags: - Tâches requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 8 items: type: integer required: - ids /api/upload-photo: post: summary: "Upload d'un fichier" operationId: uploadDunFichier description: '' parameters: [] responses: { } tags: - 'Upload de fichier' requestBody: required: true content: application/json: schema: type: object properties: photo: type: string description: 'Le champ value ne peut contenir plus de 5120 caractères.' example: ekbochobaawqzaxoufvndjjy nullable: false required: - photo /api/users/all: post: summary: 'Fonction qui permet de recuperer la liste des utilisateurs' operationId: fonctionQuiPermetDeRecupererLaListeDesUtilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: role_id: type: integer description: 'The id of an existing record in the roles table.' example: 5 nullable: true role_types: type: array description: 'The type of an existing record in the roles table.' example: - impedit items: type: string nullable: true page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 35 nullable: true nbre_items: type: integer description: '' example: 2 nullable: true filter_value: type: string description: '' example: laboriosam nullable: true order_by: type: boolean description: '' example: true nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 7 nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 11 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true type: type: string description: '' example: sit nullable: true /api/users: post: summary: "Fonction qui permet d'ajouter un utilisateur sans passer par la verification" operationId: fonctionQuiPermetDajouterUnUtilisateurSansPasserParLaVerification description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: true content: application/json: schema: type: object properties: firstname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: od nullable: false lastname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: f nullable: true gender: type: string description: '' example: male nullable: false enum: - male - female type: type: string description: '' example: fugiat nullable: true birthday: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true nationality: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: yinc nullable: true nui: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: sveypvgohiki nullable: true cni: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: jmnvzdexsarzl nullable: true cnps: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: jrsntucrmhlf nullable: true passport_issue_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true passport_issue_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: zkorci nullable: true profession: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: kojfouklpbgdnqyi nullable: true birth_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: srsm nullable: true connexion_type: type: string description: '' example: email nullable: false enum: - email - phone email: type: string description: 'This field is required when connexion_type is email. Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.' example: lorenza55@example.org nullable: true phone: type: string description: 'This field is required when connexion_type is phone. Le champ value ne peut contenir plus de 20 caractères.' example: ck nullable: true phone2: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: mciiebznwk nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: rtqwzzlawzyvdosywwf nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: x nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: wtbeaktlkbtkfvfhxkcberz nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 11 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 1 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: true password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: '\7IN.VA#$WQQKv!D6' nullable: false photo: type: string description: '' example: magni nullable: true role_id: type: integer description: 'The id of an existing record in the roles table.' example: 9 nullable: true articles: type: array description: 'The id of an existing record in the articles table.' example: - 19 items: type: integer required: - firstname - gender - connexion_type - password '/api/users/{user_id}': get: summary: "Cette route permet d'afficher les informations d'un utilisateur" operationId: cetteRoutePermetDafficherLesInformationsDunUtilisateur description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Utilisateurs put: summary: "Fonction permettant de mettre à jour les informations d'un utilisateur" operationId: fonctionPermettantDeMettreJourLesInformationsDunUtilisateur description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: firstname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: h nullable: true lastname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: rlceddshyb nullable: true gender: type: string description: '' example: male nullable: true enum: - male - female type: type: string description: '' example: commodi nullable: true birthday: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true nationality: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: fd nullable: true nui: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: jrclpytllfdms nullable: true cni: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: dksezghgmwlvmwz nullable: true cnps: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: cins nullable: true passport_issue_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-02-06T09:06:13' nullable: true passport_issue_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ggb nullable: true profession: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: qpaoserpgvigccmsheaddrb nullable: true birth_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: opgjczmzz nullable: true connexion_type: type: string description: '' example: phone nullable: true enum: - email - phone email: type: string description: 'Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.' example: yeichmann@example.net nullable: true phone: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: mzgelsmhzgmcoh nullable: true phone2: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: fppho nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: pftvgkhpztdyapcxaylotpb nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: wzftynlgjoacevrneqplbld nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: auuo nullable: true hotel_id: type: integer description: 'The id of an existing record in the hotels table.' example: 5 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 19 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: true password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: 'U_%0yt%#' nullable: true photo: type: string description: '' example: vero nullable: true role_id: type: integer description: 'The id of an existing record in the roles table.' example: 10 nullable: true parameters: - in: path name: user_id description: 'The ID of the user.' example: 1 required: true schema: type: integer /api/users/trash: post: summary: 'Fonction pour le multiple archivage des utilisateurs' operationId: fonctionPourLeMultipleArchivageDesUtilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: user_ids: type: array description: '' example: - 10 items: type: integer /api/users/restore: post: summary: "Fonction de restauration multiples d'utilisateurs" operationId: fonctionDeRestaurationMultiplesDutilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: user_ids: type: array description: '' example: - 10 items: type: integer /api/users/destroy: post: summary: "Fonction de suppression définitive multiple d'utilisateurs" operationId: fonctionDeSuppressionDfinitiveMultipleDutilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: user_ids: type: array description: '' example: - 5 items: type: integer tags: - name: 'Aperçu des statistiques/ statistic Overview' description: "\nAfficher les statistiques de chaque hotel ou d'un groupe d'hotel" - name: Articles description: "\nGestion des articles" - name: Articles-Fournisseurs description: "\nAvoir la liste des fournisseurs d'un article et inversément" - name: Authentification description: "\nGestion de l'authentification des utilisateurs" - name: 'Avance sur salaire / Salary advance' description: "\nGestion des avances sur salaire" - name: Avertissements description: 'Gestion des avertissements' - name: "Bons d'achats" description: "\nGestion des bons d'achat" - name: 'Catégories de chambres' description: "\nGestion des catégories de chambres" - name: Chambres description: "\nGestions des chambres" - name: Clés description: "\nGestion des clés de l'application'" - name: Commandes description: "\nGestion des commandes" - name: Contrats description: "\n Gestion des contrats employés" - name: Decaissements description: "\nGestion des décaissements" - name: "Demande d'approvisionnement | Supply demand" description: "Contrôleur chargé de la gestion des demandes d'approvisionnement." - name: 'Demande de congé' description: 'Gestion des demandes de congé employé' - name: 'Demandes de Permissions' description: "\nContrôleur pour la gestion des demandes de permission des utilisateurs" - name: Encaissements description: "\nGestion des encaissements" - name: Evenements description: "\nGestion des évènements" - name: Hotels description: "\nGestion des hotels de l'application" - name: "Mouvements d'articles" description: "\nGestion des mouvements d'articles" - name: 'Mouvements des produits' description: "\nGestion des mouvements de produits" - name: 'Packages / Forfaits' description: "\nGestion des packages / forfaits" - name: 'Paramètres Généraux' description: "\nGestion des paramètres généraux dans l'application" - name: Permissions description: "\nGestion des permissions" - name: 'Presence du personnel / Staff presence' description: "\nGestion des présences du personnel" - name: Produits description: "\nGestion des produits" - name: Punitions description: "\nGestion des punitions" - name: 'Retenue sur salaire / Salary deduction' description: "\nGestion des retenus sur salaire" - name: Réductions description: "\nGestion des réductions" - name: Réservations description: "\nGestion des réservations" - name: Rôles description: "\nGestion des rôles" - name: 'Service de chambre' description: "\nGestion des services de chambre" - name: Services description: "\nContrôleur responsable de la gestion des services." - name: 'Suggestions / Feedback' description: "\nGestion des suggestions des utilisateurs" - name: 'Type de dépense / Expense Type' description: "\nGestion des présences du personnel" - name: 'Types de Chambres' description: "\nGestion des types de chambres" - name: Tâches description: "\nGestion des tâches" - name: 'Upload de fichier' description: "\nGestion des uploads de fichiers" - name: Utilisateurs description: "\nGestion des utilisateurs" components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: []