# Réservation et prise de rendez-vous : guide complet

> Présentation Le module Réservation & Prise de rendez-vous (dfbooking) ajoute la prise de rendez-vous en ligne à PrestaShop 8 et 9. Le client choisit une prestation, un intervenant ou «…

- Page: <https://www.datafirefly.com/documentation/dfbooking/>
- Langue: fr
- Mis à jour le: 2026-09-30
- Autres langues: [en](https://www.datafirefly.com/en/documentation/dfbooking/index.md), [es](https://www.datafirefly.com/es/documentation/dfbooking/index.md), [de](https://www.datafirefly.com/de/documentation/dfbooking/index.md), [it](https://www.datafirefly.com/it/documentation/dfbooking/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfbooking/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfbooking/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfbooking/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation

Le module **Réservation & Prise de rendez-vous** (`dfbooking`) ajoute la prise de rendez-vous en ligne à PrestaShop 8 et 9. Le client choisit une prestation, un intervenant ou « Premier disponible », puis un jour et un horaire. Les horaires proposés sont calculés en temps réel à partir des plannings, de la durée de la prestation, du temps de pause et des rendez-vous déjà pris.

Un acompte peut être demandé : il est réglé via une commande PrestaShop native, donc avec les moyens de paiement déjà actifs sur votre boutique. L'équipe travaille depuis un agenda en back-office, et le client gère lui-même son rendez-vous depuis un lien privé reçu par e-mail.

Cette documentation couvre la version **1.2.0**.

## Concepts clés

- **Prestation** : ce que le client réserve (coupe, consultation, atelier). Elle porte une durée, un temps de pause, un prix par personne, un nombre de places par créneau et, en option, un acompte, une rubrique et une photo.
- **Intervenant ou ressource** : la personne, la cabine ou la machine qui réalise la prestation. Chacun a son planning hebdomadaire et, en option, une photo et une adresse e-mail.
- **Créneau** : un horaire réservable, généré à partir du planning et du pas des créneaux.
- **Statuts** : En attente de paiement, À confirmer, Confirmée, Annulée, Terminée, Absence.

## Installation et mise à jour

1. Ouvrez **Modules > Gestionnaire de modules** et cliquez sur **Installer un module**.
2. Déposez l'archive `dfbooking.zip`, puis cliquez sur **Configurer**.

L'installation crée les tables, le menu **Réservations** (Agenda, Réservations, Prestations, Intervenants et ressources), un produit technique masqué « Acompte de réservation » et le dossier `img/dfbooking/` pour les photos.

Pour mettre à jour une version antérieure, installez simplement le nouveau ZIP par-dessus : les scripts de mise à jour ajoutent les nouvelles colonnes et tables, génèrent les liens privés des réservations existantes et ajoutent l'onglet Agenda. Vos réservations, prestations et plannings sont conservés.

Ne supprimez pas le produit « Acompte de réservation » : il porte le montant de l'acompte dans le panier. Il est invisible dans le catalogue et retiré automatiquement à la désinstallation.

## Démarrage rapide

La page de configuration affiche une liste de contrôle tant que ces trois étapes ne sont pas faites :

1. Créez un intervenant dans **Réservations > Intervenants et ressources**. Un planning du lundi au vendredi, 9h-12h et 14h-18h, est proposé par défaut.
2. Créez une prestation dans **Réservations > Prestations** et cochez les intervenants qui la réalisent.
3. Ajoutez le lien de la page de réservation (affiché dans la configuration) à votre menu ou à une page CMS.

Ajoutez `?service=ID` à l'URL de la page de réservation pour ouvrir directement une prestation, par exemple depuis une page CMS qui la présente.

## Configuration

### Créneaux

- **Intervalle entre créneaux** (30 min par défaut) : écart entre deux heures de début proposées.
- **Délai minimum** (120 min par défaut) : un client ne peut pas réserver un créneau qui commence plus tôt.
- **Réservation possible jusqu'à** (60 jours par défaut) : profondeur du calendrier.
- **Confirmer automatiquement les réservations** : désactivé, les réservations sans acompte arrivent en « À confirmer ».

### Formulaire client

- **Compte client obligatoire** et **téléphone obligatoire**.
- **Case de consentement** : choisissez une page CMS (politique de confidentialité, CGV) ; une case à cocher obligatoire apparaît avant la validation.
- **Conditions de réservation** : court texte par langue affiché avant la validation et sur la page du rendez-vous (annulation, remboursement de l'acompte, retard).

### Acompte, annulation et modifications

- **Bloquer un créneau non payé pendant** (30 min par défaut) : passé ce délai sans commande créée, le créneau est libéré.
- **Annulation en ligne** et **déplacement en ligne** par le client, activables séparément.
- **Modifications en ligne possibles jusqu'à** X heures avant le rendez-vous (24 par défaut).

### Notifications et rappels

- **E-mail de notification de l'équipe** : reçoit chaque nouvelle réservation, annulation et modification (vide = e-mail de la boutique).
- **Prévenir aussi l'intervenant concerné** : copie envoyée à l'e-mail renseigné sur l'intervenant.
- **E-mail de rappel** X heures avant (24 par défaut, 0 pour désactiver).
- **Joindre un fichier agenda (.ics)** aux e-mails de confirmation, de déplacement et d'annulation.
- **Passer les rendez-vous passés en Terminé** automatiquement.

### Page de réservation

- **Couleur d'accent** : boutons, jour et horaire sélectionnés. Choisissez une couleur lisible sur fond blanc.
- **URL de la page** : par défaut `/reservation`, modifiable (par exemple `/rendez-vous`).

## Prestations

Dans **Réservations > Prestations**, chaque prestation comprend :

- **Nom**, **rubrique** et **description**, par langue. Les prestations d'une même rubrique sont regroupées côté client, avec des filtres dès qu'il y a au moins deux rubriques.
- **Photo** (JPG, PNG ou WebP, 5 Mo max), affichée en vignette.
- **Durée** et **pause autour de chaque rendez-vous** (nettoyage, préparation).
- **Places par créneau** : 1 pour un rendez-vous individuel, plus pour une séance de groupe.
- **Prix par personne** (0 masque le prix) et **acompte** : aucun, pourcentage du prix ou montant fixe par personne.
- **Couleur** utilisée dans l'agenda, et **intervenants** qui réalisent la prestation.

Une prestation n'apparaît en ligne que si au moins un intervenant actif y est associé. La colonne « Intervenant » de la liste signale les prestations sans intervenant.

Au-delà de six prestations, un champ de recherche apparaît au-dessus de la liste côté client.

## Intervenants et plannings

Dans **Réservations > Intervenants et ressources**, renseignez le nom, la fonction, la description, une photo (affichée en cercle), une couleur et, en option, un e-mail pour recevoir les notifications.

### Planning hebdomadaire

Pour chaque jour, saisissez jusqu'à trois plages horaires. Utilisez deux plages pour une pause déjeuner. Un jour sans plage n'est pas travaillé. Le bouton **Copier du mardi au vendredi** recopie les plages du lundi, et **Vider** efface un jour.

### Agenda personnel sur téléphone

Une fois l'intervenant enregistré, sa fiche affiche un **lien d'agenda privé**. Dans Google Agenda (Autres agendas > À partir de l'URL) ou sur iPhone (Réglages > Calendrier > Comptes > Ajouter un calendrier avec abonnement), ses rendez-vous apparaissent et se mettent à jour automatiquement. Un lien pour toute l'équipe est disponible dans la configuration.

Ce lien donne accès au nom et au téléphone des clients. Ne le partagez qu'avec la personne concernée.

## Séances de groupe

Avec plus d'une place par créneau, le client choisit le nombre de participants et voit les places restantes sous chaque horaire. Plusieurs réservations peuvent partager la même heure de début jusqu'à épuisement des places ; le prix et l'acompte sont multipliés par le nombre de participants.

## Fermetures et horaires exceptionnels

La page de configuration contient deux panneaux :

- **Fermetures et congés** : une période sans aucun créneau, pour toute la boutique ou un intervenant. Si des rendez-vous existent déjà sur la période, un avertissement l'indique : ils ne sont pas annulés automatiquement.
- **Horaires exceptionnels** : des horaires spéciaux pour une date (nocturne, dimanche avant Noël, journée courte), avec une seconde plage optionnelle. Ils remplacent la semaine type ce jour-là uniquement.

Ordre de priorité pour une date donnée : une fermeture l'emporte toujours ; ensuite les horaires exceptionnels propres à l'intervenant, puis ceux de toute la boutique ; sinon la semaine type.

## L'acompte

1. La réservation est créée en « En attente de paiement » et le créneau est bloqué.
2. Le module prépare un panier ne contenant que l'acompte et envoie le client vers votre tunnel de commande. Le panier qu'il avait en cours est mis de côté.
3. Paiement immédiat (carte, PayPal) : la réservation passe en **Confirmée** et les e-mails partent.
4. Paiement différé (virement, chèque) : le créneau reste bloqué et la réservation se confirme quand vous passez la commande dans un statut payé.
5. Commande annulée ou en erreur : le rendez-vous est annulé et le client prévenu.
6. Paiement abandonné : le créneau est libéré après le délai configuré.

Après la commande, le panier d'origine du client est restauré, et la page de confirmation de commande affiche le rendez-vous avec un lien pour le gérer.

Si un paiement arrive après le délai alors qu'un autre client a pris le créneau entre-temps, la réservation passe en « À confirmer » avec une note interne, pour que vous contactiez le client.

## Parcours client

1. **Prestation** : liste regroupée par rubrique, avec filtres et recherche.
2. **Intervenant** : choix d'une personne ou de « Premier disponible ». Cette étape est sautée si un seul intervenant réalise la prestation.
3. **Jour et horaire** : le calendrier s'ouvre sur la prochaine disponibilité ; les horaires sont groupés matin, après-midi et soir.
4. **Coordonnées**, conditions et consentement, puis validation.

Un récapitulatif affiche en direct la prestation, l'intervenant, la date, l'heure, le total, l'acompte et le solde. Chaque étape remplie se replie avec un lien « Modifier ».

## Gestion du rendez-vous par le client

Après la réservation, le client arrive sur la page de son rendez-vous. Il y retrouve le récapitulatif, l'ajout à Google Agenda et un fichier .ics pour Apple Calendrier et Outlook. Selon vos réglages, il peut aussi **déplacer** le rendez-vous sur un autre horaire libre (en gardant ou non le même intervenant) ou l'**annuler**.

Cette page est accessible par le lien présent dans chaque e-mail, y compris pour les clients sans compte. Les clients connectés retrouvent aussi leurs rendez-vous à venir et leur historique dans **Mon compte > Mes rendez-vous**.

## Agenda du back-office

**Réservations > Agenda** affiche :

- la **vue semaine**, avec un filtre par intervenant ;
- la **vue jour**, avec une colonne par intervenant.

La barre de couleur d'un rendez-vous indique la prestation, sa bordure indique le statut (en pointillés tant qu'il n'est pas confirmé). Les jours fermés sont hachurés et une ligne rouge marque l'heure actuelle.

- **Cliquer sur un horaire libre** ouvre la création d'un rendez-vous, déjà renseignée avec le jour, l'heure et l'intervenant.
- **Glisser-déposer un rendez-vous** le déplace en conservant sa durée. En vue jour, le déposer dans une autre colonne change d'intervenant. Une fenêtre de confirmation propose de prévenir le client par e-mail. Si le créneau est pris, l'agenda demande confirmation avant de forcer.
- **Cliquer sur un rendez-vous** ouvre sa fiche.

## Réservations en back-office

### Liste

**Réservations > Réservations** liste les rendez-vous avec filtres (statut, date, prestation, intervenant, client) et export CSV.

### Créer un rendez-vous pris par téléphone

Cliquez sur **Nouvelle réservation** ou sur un horaire libre de l'agenda. Choisissez la prestation, l'intervenant (ou l'attribution automatique), la date et l'heure ; l'heure de fin se calcule d'après la durée de la prestation. Si l'e-mail correspond à un client existant, la réservation lui est rattachée. Une réservation qui chevauche une autre est refusée, sauf si vous activez **Enregistrer même si l'horaire est pris**.

### Fiche d'une réservation

La fiche regroupe le rendez-vous, le client, le paiement (avec lien vers la commande), le message du client et une note interne. Les actions rapides sont **Confirmer**, **Marquer comme terminé**, **Absence**, **Annuler**, **Rétablir** et **Renvoyer l'e-mail**. Un changement de statut envoie l'e-mail correspondant au client.

### Détail de commande

Une commande d'acompte affiche un bloc « Rendez-vous associé » avec un lien vers la réservation.

## E-mails

Six modèles sont fournis en français, anglais, espagnol, allemand et italien, en HTML et en texte :

- **Confirmation** : rendez-vous confirmé, avec fichier .ics joint ;
- **Demande reçue** : réservation à confirmer ou en attente de paiement ;
- **Rappel** : envoyé X heures avant le rendez-vous ;
- **Annulation** et **Déplacement** ;
- **Notification à l'équipe** : nouvelle réservation, annulation ou déplacement par le client. Répondre à cet e-mail écrit directement au client.

Chaque e-mail client contient le lien privé de gestion du rendez-vous. Pour une langue sans modèle (polonais, néerlandais, portugais), les e-mails partent en anglais.

## Tâches automatiques

Trois tâches tournent en arrière-plan : l'envoi des rappels, la libération des créneaux dont l'acompte n'a pas été payé à temps, et le passage des rendez-vous passés en « Terminé ».

La configuration affiche une **URL cron** protégée par jeton. Appelez-la toutes les 15 minutes depuis le cron de votre serveur pour des rappels ponctuels. Sans cron, les tâches s'exécutent pendant les visites de la boutique, au plus toutes les 10 minutes. Le bouton **Lancer les tâches maintenant** les exécute immédiatement.

## Statistiques

La vue d'ensemble de la configuration affiche les rendez-vous à venir, ceux en attente de confirmation et, pour le mois en cours : le nombre de rendez-vous, le CA réservé (confirmés et terminés), la part réservée en ligne, le taux d'annulation et le taux d'absence.

## RGPD

Avec le module officiel **psgdpr**, l'export des données d'un client inclut ses réservations, et la suppression de ses données anonymise ses réservations (nom, e-mail, téléphone, message) sans fausser vos statistiques.

## Multi-boutique et langues

Prestations et intervenants ont des textes par langue et par boutique, et les réservations sont rattachées à leur boutique. L'interface du module est fournie en français, anglais, espagnol, allemand et italien.

## Désinstallation

La désinstallation supprime les tables, les réservations, la configuration, le menu, le produit d'acompte et les photos. Les commandes déjà passées ne sont pas modifiées.

## Dépannage

### Aucun horaire ne s'affiche

Vérifiez que l'intervenant a un planning pour ce jour, que la prestation lui est associée, que le jour n'est pas fermé, et contrôlez le délai minimum et la durée de la prestation par rapport aux plages horaires.

### Une prestation n'apparaît pas en ligne

Elle doit être active et associée à au moins un intervenant actif.

### Les rappels ne partent pas

Vérifiez que le rappel n'est pas réglé sur 0 et que la réservation est bien « Confirmée ». Sur une boutique peu visitée, configurez l'URL cron.

### La photo n'est pas enregistrée

Le dossier `img/dfbooking/` doit être accessible en écriture. Vérifiez aussi la taille (5 Mo max) et le format.

### L'URL de réservation renvoie une erreur 404

Activez les URL simplifiées dans **Paramètres de la boutique > Trafic et SEO**, puis videz le cache.

## FAQ

### Le client peut-il réserver sans créer de compte ?

Oui, sauf si vous activez « Compte client obligatoire ». Il gère son rendez-vous par le lien reçu par e-mail.

### Puis-je proposer « Premier disponible » ?

Oui, automatiquement dès que plusieurs intervenants réalisent la prestation. Le module attribue l'intervenant libre sur l'horaire choisi.

### Comment éviter les doubles réservations ?

La disponibilité est vérifiée à nouveau au moment de la validation, sous verrou, puis le back-office refuse les chevauchements sauf si vous forcez.

### Le module est-il compatible PrestaShop 9 ?

Oui, de PrestaShop 8.0 à 9.x, en mono et en multi-boutique.
