Installation

Installer @lrvo/module-booking, créer les tables, poser l'horaire d'ouverture et prendre un premier rendez-vous.

Cette page couvre l'installation de @lrvo/module-booking dans un projet déjà structuré par @lrvo/start. Le module n'est jamais déclaré à la main : il est découvert au boot par scan des dépendances, comme décrit dans Cycle de vie d'un module.

Prérequis

  • Un projet généré par npx @lrvo/start, avec @lrvo/core installé.
  • NEXT_PUBLIC_URL renseignée, sinon toute réservation en ligne est rejetée par la vérification d'origine du core.
  • La configuration courriel du core, Resend ou SMTP, pour les confirmations et les rappels.

Installer

npm i @lrvo/module-booking

Ajouter la variable d'activation au .env :

#------ MODULE - BOOKING ------#
LRVO_MODULE_BOOKING=true

Sans ce drapeau, le module est ignoré : aucune table, aucune route, aucune entrée d'admin.

Régénérer les manifestes puis créer les tables :

npx lrvo-modules sync    # déclenché automatiquement au postinstall
npx lrvo-db init         # crée les onze tables lrvo_booking_*

Sur une base existante, npx lrvo-db migrate suffit.

Version de core exigée

Le module réclame un core qui publie trois briques, et le boot refuse une combinaison plus ancienne en nommant le module :

  • le composant Calendar, sans lequel la vue calendrier ne se rend pas ;
  • les icônes de la catégorie Date + Heure, sans lesquelles la section et ses items n'ont pas d'icône ;
  • les fonctions de fuseau horaire de shared/dates, sans lesquelles les créneaux glissent d'une heure deux fois par an.

Aucune de ces absences ne lève d'erreur claire à l'usage, d'où le plancher explicite.

Premier réglage, dans l'ordre

Les trois premières étapes se font dans la page Options, un onglet chacune. L'ordre compte : un type de rendez-vous sans intervenant n'est pas réservable, et un intervenant sans horaire n'offre aucun créneau.

  1. Un intervenant. /admin/booking/options/intervenants. Le courriel est facultatif mais c'est lui qui reçoit les avis.
  2. L'horaire d'ouverture. /admin/booking/options/horaires. Sept jours, autant de plages que nécessaire par jour. Une pause du midi est le trou entre deux plages, pas un réglage.
  3. Un type de rendez-vous. /admin/booking/options/types. Durée, lieu, et au moins un intervenant autorisé.
  4. Un rendez-vous. /admin/booking/agenda, bouton « Nouveau rendez-vous ». Les créneaux proposés sont exactement ceux qu'un visiteur verrait.

Ouvrir la prise de rendez-vous en ligne

Elle est fermée par défaut. Deux gestes :

LRVO_MODULE_BOOKING_ONLINE=true

puis un lien de réservation dans /admin/booking/options/liens. La page de ce lien affiche son adresse publique et le code d'intégration en iframe.

Tant que la variable est à false, un lien parfaitement configuré répond 404, et rien sur le lien lui-même ne le dirait : l'admin affiche un bandeau d'avertissement sur la liste des liens pour cette raison.

Vérifier

npx lrvo-doctor

Le doctor connaît toutes les variables du module par son manifeste : une variable LRVO_MODULE_BOOKING_* inconnue du .env est dénoncée, et le plancher de version est vérifié.

Sur cette page