OptimoCMS Docs
Retour à l'aperçu

Système de réservation de rendez-vous

Rendez-vous et réservations en ligne : services, disponibilité, personnel, établissements, liste d'attente, CRM, tableau de bord, rappels, iCal, magic links et analytique.

Qu'est-ce que le système de réservation ?

Le système de réservation est un widget que vous activez par site web. Les visiteurs peuvent réserver des rendez-vous en ligne : ils choisissent un service, une date, un créneau disponible et remplissent leurs coordonnées. Le système empêche automatiquement les doubles réservations et calcule les créneaux disponibles en fonction de vos heures d'ouverture. Toute la logique de réservation s'exécute côté serveur (Cloud Functions). Le client ne peut jamais créer directement des réservations dans la base de données — cela prévient la fraude et les conditions de concurrence.

Activer le système de réservation

Comment activer le système de réservation : 1. Allez dans Paramètres → Widgets 2. Activez "Booking" 3. Après activation, les pages d'administration de réservation apparaissent dans le menu latéral 4. Le bloc BookingWidget devient disponible dans le Page Builder
Conseils
  • Après activation, vous pouvez immédiatement créer des services et configurer la disponibilité.

Modèle de données (technique)

Le système de réservation stocke quatre types de données par site : • Services (nom, durée, prix, actif) • Personnel (nom, services liés, actif) • Planning hebdomadaire (jour, début, fin, membre optionnel) • Réservations (service, date, créneau, coordonnées client, statut) Les services et la disponibilité sont visibles publiquement sur votre site. Les réservations sont créées uniquement côté serveur.
Conseils
  • Les réservations sont automatiquement optimisées pour des consultations rapides par jour.

Gérer les services

Un service est ce que vous proposez (ex. "Coupe de cheveux", "Consultation 30 min", "Massage 60 min"). Gérer via Réservation → Services : • Nom — Le nom que voient les visiteurs • Durée — En minutes (détermine la taille des créneaux) • Prix — Optionnel, affiché aux visiteurs • Acompte — Montant optionnel via Stripe • Actif — Interrupteur on/off Seuls les services actifs sont visibles dans le BookingWidget.
Conseils
  • La durée détermine la taille des créneaux. Un service de 30 minutes crée des créneaux de 30 minutes.

Configurer la disponibilité

Via Réservation → Disponibilité, vous configurez un planning hebdomadaire : • Par jour de la semaine : heure de début et heure de fin • Optionnellement par membre du personnel (si configuré) • Jours sans horaires = fermé Le système calcule automatiquement les créneaux disponibles en fonction de ce planning moins les réservations existantes.
Remarque
  • Les modifications de disponibilité prennent effet immédiatement. Les réservations existantes ne sont pas automatiquement ajustées.

Comment les créneaux sont calculés

L'Availability Engine calcule les créneaux disponibles côté serveur : 1. Lire la disponibilité pour le jour choisi + membre du personnel optionnel 2. Générer des créneaux basés sur la durée du service (ex. toutes les 30 min) 3. Récupérer les réservations existantes pour ce jour (statut ≠ annulé) 4. Filtrer les créneaux occupés 5. Retourner les créneaux disponibles Les réservations annulées ne bloquent pas de créneaux — ces horaires redeviennent disponibles.
Conseils
  • Les créneaux sont calculés en temps réel. Si quelqu'un vient de réserver, le visiteur suivant ne verra plus ce créneau.

Prévention des doubles réservations

Le système empêche automatiquement les doubles réservations : 1. Lors de la création, la disponibilité est vérifiée à nouveau 2. Si le créneau est déjà pris → erreur "Créneau plus disponible" 3. Seulement si le créneau est libre, la réservation est confirmée Cela garantit que même avec des requêtes simultanées, deux réservations ne se retrouvent jamais sur le même créneau.
Conseils
  • Le rate limiting protège aussi contre le spam : max 30 requêtes de créneaux/min et 5 réservations/min par IP.

Personnel (optionnel)

Vous pouvez ajouter des membres du personnel via Réservation → Personnel : • Nom — Affiché si vous activez "Afficher le personnel" dans le widget • Services liés — Quels services ce membre effectue • Actif — Interrupteur on/off Les visiteurs peuvent alors choisir chez quel membre du personnel réserver. La disponibilité est calculée par membre.
Conseils
  • Le personnel est optionnel. Sans personnel, les visiteurs réservent simplement sur la disponibilité générale.

BookingWidget sur votre site

Le BookingWidget est un bloc que vous placez sur une page via le Page Builder : 1. Ouvrez une page dans le Page Builder 2. Cherchez "BookingWidget" dans la liste des blocs (catégorie : Widgets) 3. Glissez-le sur votre page 4. Configurez : titre, couleur d'accent, mise en page (compacte/complète), afficher le personnel Sur le site en direct, les visiteurs suivent les étapes : choisir un service → choisir une date (14 jours à l'avance) → choisir un créneau → remplir les coordonnées → confirmation. Dans l'éditeur, vous voyez un aperçu fictif sans appels API réels. Sur le site publié, le widget fonctionne avec des données réelles.
Conseils
  • Le widget est responsive et fonctionne sur mobile (375px).
  • Quand aucun créneau n'est disponible, le visiteur voit un message clair.

Gérer les réservations

Via Réservation → Réservations, vous voyez toutes les réservations : • Filtrer par date ou statut • Statuts : confirmé, en attente, paiement en attente, annulé, terminé • Actions : confirmer ou annuler par réservation En cas d'annulation, le créneau est libéré pour d'autres visiteurs.

Acompte Stripe (optionnel)

Vous pouvez exiger un acompte par service via Stripe : 1. Allez dans Réservation → Services 2. Modifiez un service 3. Activez "Acompte requis (optionnel)" 4. Définissez le montant de l'acompte Lors de la réservation, le visiteur est redirigé vers Stripe Checkout. La réservation obtient le statut "paiement en attente". Après paiement : confirmé automatiquement. Pas de paiement dans les 30 minutes : annulé automatiquement (via une fonction programmée qui s'exécute toutes les 10 minutes). Où va l'argent ? • Un compte Stripe peut être lié par site via Paramètres → Paiements → Connecter Stripe • Avec Stripe Connect : l'argent va directement au compte du client, moins les frais de service • Sans Stripe Connect : l'argent va sur le compte de la plateforme
Remarque
  • Stripe doit être configuré sur le site (Paramètres → Paiements) avant que les acomptes fonctionnent.
  • L'agence lie le compte Stripe du client final par site via Paramètres → Paiements.

Paramètres de réservation

Via Rendez-vous → Paramètres, configurez les options avancées : • Horizon de réservation — Jusqu'à combien de jours à l'avance les clients peuvent réserver (7, 14, 30, 60 ou 90 jours). Par défaut : 14 jours. • Tampon entre rendez-vous — Temps supplémentaire entre les réservations consécutives (0, 5, 10, 15 ou 30 minutes) • Intervalle de créneaux — Intervalle entre les heures de début disponibles (15, 30 ou 60 minutes) Avec plus de 14 jours, le BookingWidget affiche automatiquement un calendrier mensuel au lieu de boutons de date.
Conseils
  • Le tampon est utile quand vous avez besoin de temps de nettoyage entre les rendez-vous.
  • Les jours fermés et complets sont grisés dans le calendrier.

Établissements (Succursales)

Avec les établissements, vous gérez plusieurs emplacements au sein d'un même site : • Nom, adresse, ville, téléphone par établissement • Chaque établissement a son propre personnel, disponibilité et réservations • Le BookingWidget affiche une étape de sélection d'établissement avec 2+ établissements actifs • Avec 1 établissement, il est automatiquement sélectionné Via Rendez-vous → Établissements, vous gérez vos emplacements.
Conseils
  • Avec 0 établissements, le système fonctionne comme avant — pas d'étape établissement dans le widget.
  • Le personnel et la disponibilité sont configurés par établissement.

Gestion des no-shows (Rendez-vous)

Le système détecte automatiquement les no-shows pour les rendez-vous : • No-show automatique — Si un client ne se présente pas dans le temps imparti après l'heure du rendez-vous • Annulation par le personnel — Le personnel peut remettre un no-show à 'confirmé' • Réouverture — Un rendez-vous annulé peut être rouvert Configurable par établissement : no-show automatique on/off et minuterie.
Conseils
  • Lors d'un no-show, le créneau libéré est proposé à la liste d'attente (si active).

Gestion des walk-ins (Rendez-vous)

Via le tableau de bord du personnel, le personnel peut enregistrer des walk-ins : • Choisir un service et un horaire • Le walk-in est créé immédiatement sans validation en ligne • Les walk-ins sont visibles dans l'aperçu avec source 'walk-in' Les walk-ins ignorent l'horizon de réservation — ils peuvent toujours être créés pour aujourd'hui.
Conseils
  • Les walk-ins apparaissent immédiatement dans l'aperçu admin et le calendrier du personnel.

Liste d'attente (Rendez-vous)

Quand tous les créneaux sont pris, le client peut s'inscrire sur la liste d'attente : 1. Client veut réserver → tout complet → "S'inscrire sur la liste d'attente ?" 2. Client remplit ses coordonnées, choisit une préférence horaire 3. Quand un créneau se libère → e-mail avec lien accepter/refuser 4. Client accepte → rendez-vous créé 5. Pas de réponse → offre expire, suivant dans la file Paramètres par établissement : • Liste d'attente on/off • Mode : automatique ou manuel • Durée de validité de l'offre (par défaut : 2 heures)
Conseils
  • En mode automatique, les places sont offertes immédiatement lors d'une annulation ou no-show.
  • Les clients en liste d'attente reçoivent 3 e-mails : confirmation, place proposée, et éventuellement expirée.

Confirmation par e-mail du client (Double Opt-in)

Vous pouvez optionnellement demander aux clients de confirmer leur rendez-vous par e-mail : 1. Activez 'Confirmation client requise' dans les paramètres de l'établissement 2. Définissez le délai d'expiration (1, 2, 4, 12 ou 24 heures) Après la réservation, le client reçoit un e-mail avec un bouton de confirmation. Sans confirmation dans le délai imparti, le rendez-vous est automatiquement annulé.
Remarque
  • Les rendez-vous non confirmés sont automatiquement annulés. Informez vos clients à ce sujet.

Tableau de bord du personnel sécurisé par PIN (Rendez-vous)

Le tableau de bord du personnel est une page sécurisée sur votre site en production où le personnel peut gérer les rendez-vous sans se connecter au CMS. Fonctionnalités : • Agenda du jour avec tous les rendez-vous et statuts • Créer un walk-in en 1 clic • Changer le statut (confirmer, terminer, no-show, annuler) • Consulter la liste d'attente • Accueil personnalisé : le nom du membre du personnel s'affiche après connexion Accès via un code PIN de 4 à 6 chiffres par membre du personnel. La durée de session est configurable. Via Rendez-vous → Accès personnel, configurez : • Tableau de bord on/off et durée de session • Ajouter des membres du personnel avec nom et PIN personnel • Activer/désactiver ou supprimer par membre • Partager le QR code et le lien pour installer l'App Staff
Conseils
  • Après 5 tentatives de PIN erronées par minute, l'IP est temporairement bloquée.
  • Chaque membre du personnel a son propre PIN — vous savez ainsi qui est connecté.
  • La page staff peut être installée comme application PWA autonome sur une tablette. Scannez le QR code sur la page Accès personnel.

Formulaire : Remarques, Intake & Marketing Opt-in

Le formulaire de réservation prend en charge des champs supplémentaires : • Remarques — Champ texte libre pour les demandes spéciales • Questions d'intake — Questions supplémentaires optionnelles configurables par service • Opt-in marketing — Case à cocher pour le consentement newsletter/marketing Tous les champs supplémentaires sont enregistrés avec le rendez-vous et visibles dans l'aperçu admin.
Conseils
  • Les questions d'intake sont utiles pour la préparation des rendez-vous (ex. 'Quels sont vos symptômes ?').

CRM — Gestion des clients (Rendez-vous)

Le système de rendez-vous maintient automatiquement les profils clients : • Créé automatiquement lors du premier rendez-vous (basé sur l'adresse e-mail) • Historique des visites — Tous les rendez-vous avec statut et date • Niveaux de fidélité — Calculés automatiquement selon le nombre de visites • Tags et notes — Ajoutés manuellement pour contexte supplémentaire • Consentement marketing — Autorisation pour le marketing • Compteur de no-shows Via Rendez-vous → Clients, consultez et gérez la liste des clients.
Conseils
  • Les profils clients sont mis à jour automatiquement après chaque rendez-vous.
  • Niveaux de fidélité : 1 visite = nouveau, 2-4 = récurrent, 5-9 = habitué, 10+ = VIP.

iCal & Ajouter au calendrier (Rendez-vous)

Après un rendez-vous, le client reçoit des options de calendrier : • Pièce jointe .ics dans l'e-mail de confirmation • Bouton Google Calendar • La pièce jointe .ics s'ouvre dans l'application de calendrier par défaut (Apple Calendar, Outlook, etc.) Le rendez-vous contient : nom du service, date, heure, lieu et éventuellement membre du personnel.
Conseils
  • La pièce jointe .ics est générée automatiquement — aucune configuration nécessaire.

Rappels automatiques & E-mails de statut (Rendez-vous)

Le système envoie automatiquement des e-mails : Rappels : • 24 heures avant (configurable par établissement) • Optionnellement 1 heure avant E-mails de statut : • Annulation par admin/personnel → le client est informé • Confirmation par admin → e-mail de confirmation • Marquage no-show → e-mail optionnel au client Tous les e-mails utilisent la mise en page de marque et incluent un magic link pour le self-service.
Conseils
  • Les rappels peuvent être activés/désactivés par établissement.
  • Le rappel 1 heure est désactivé par défaut.

Calendrier du personnel (Agenda admin)

Le calendrier du personnel offre un aperçu visuel de tous les rendez-vous : • Vue jour — Ligne du temps avec tous les rendez-vous par membre du personnel • Vue semaine — Aperçu de la semaine entière • Pauses — Les temps bloqués sont affichés comme blocs gris • Disponibilité — Visible quels créneaux sont encore libres Cliquez sur un rendez-vous pour les détails ou changements de statut. Filtrez par établissement et membre du personnel.
Conseils
  • Le calendrier est également accessible via le tableau de bord du personnel sur le site en production.

Analytique CRM + Export (Rendez-vous)

Le tableau de bord CRM combine métriques CRM et analytique spécifique aux rendez-vous : Cartes CRM (8) : • Total clients, nouveaux clients, taux de rétention, clients VIP • No-shows répétés, opt-ins marketing, visites moyennes, clients inactifs Cartes rendez-vous (6) : • Chiffre d'affaires du mois — Somme des acomptes/paiements • Service le plus populaire — Service le plus réservé • Jour le plus chargé — Jour de la semaine avec le plus de rendez-vous • Créneau le plus chargé — Heure avec le plus de rendez-vous • Moy. rendez-vous/jour — Moyenne sur 30 jours • Taux d'occupation — Créneaux réservés / créneaux disponibles × 100% Export CSV avec modèles de segments : VIP, reconquête, habitués, filtres personnalisés.
Conseils
  • L'analytique est mise en cache pendant 1 heure pour des chargements rapides.
  • Utilisez l'export pour des campagnes marketing ciblées par segment de clientèle.

Conditions générales

Demandez aux clients d'accepter vos conditions lors de la réservation : 1. Allez dans Réservation → Paramètres → Conditions générales 2. Activez 'Conditions requises' 3. Saisissez votre texte de conditions (ou collez une URL) 4. Enregistrez Une case à cocher obligatoire apparaît lors de la réservation.
Conseils
  • Vous pouvez renvoyer vers une page de conditions séparée.
  • L'acceptation est enregistrée avec horodatage (conforme RGPD).

Frais de non-présentation (Réservation)

Facturez des frais en cas de non-présentation : 1. Allez dans Réservation → Paramètres 2. Activez 'Frais de non-présentation' 3. Définissez le montant (fixe ou pourcentage du prix du service) En cas de non-présentation, un débit Stripe est automatiquement créé si le client a fourni un moyen de paiement.
Remarque
  • Les frais de non-présentation nécessitent une connexion Stripe active.

Synchronisation d'agenda (Google/Outlook/Apple)

Synchronisez les réservations avec des agendas externes : 1. Allez dans Réservation → Synchro Agenda 2. Choisissez un fournisseur : Google Calendar, Microsoft Outlook ou Apple Calendar 3. Complétez l'autorisation OAuth 4. Sélectionnez l'agenda à utiliser Après connexion : • Les nouvelles réservations apparaissent automatiquement dans l'agenda externe • Les créneaux occupés dans l'agenda externe bloquent automatiquement les créneaux de réservation • Les annulations sont synchronisées dans les deux sens
Conseils
  • Vous pouvez connecter un agenda séparé par membre du personnel.
  • La synchronisation s'effectue toutes les 5 minutes.

Abonnements (Réservation)

Proposez des rendez-vous récurrents via des abonnements : 1. Allez dans Réservation → Abonnements 2. Créez un abonnement : nom, fréquence (hebdomadaire/mensuel), prix, service lié 3. Les clients choisissent un abonnement lors de la réservation Stripe gère la facturation périodique automatique.
Conseils
  • Idéal pour les coiffeurs, coachs et thérapeutes avec des clients réguliers.
  • En cas de résiliation, les rendez-vous existants restent valides jusqu'à la fin de la période.

Caisse POS (Réservation)

Utilisez la caisse intégrée pour les paiements sur place : 1. Allez dans Réservation → Paramètres POS 2. Activez le POS et connectez un terminal Stripe 3. Sur une réservation : cliquez 'Encaisser' Le POS prend en charge : • Paiements par carte via Stripe Terminal • Enregistrement manuel des paiements en espèces • Impression de reçus via Web Serial API
Conseils
  • Le POS fonctionne aussi via le tableau de bord du personnel sur tablette.
  • Les reçus sont automatiquement formatés avec votre branding.

Appelez-nous