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/coreinstallé. NEXT_PUBLIC_URLrenseigné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-bookingAjouter la variable d'activation au .env :
#------ MODULE - BOOKING ------#
LRVO_MODULE_BOOKING=trueSans 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.
- Un intervenant.
/admin/booking/options/intervenants. Le courriel est facultatif mais c'est lui qui reçoit les avis. - 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. - Un type de rendez-vous.
/admin/booking/options/types. Durée, lieu, et au moins un intervenant autorisé. - 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=truepuis 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-doctorLe 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é.