Pratique
Fonction Réservations — Disponibilités, Acomptes, Google Agenda
Activez une fonctionnalité modulaire de réservation avec créneaux ouvrés, dépôt via Stripe Checkout, confirmation webhook, pièces jointes ICS et liens Google Agenda.
Réservations (Démo)
Fonction modulaire couvrant :
- Disponibilités sur heures ouvrées avec marges et anti‑chevauchement
- Réservation en attente jusqu’au paiement
- Stripe Checkout pour acompte ou prépaiement
- Confirmation via webhook
- Email avec ICS joint
- Lien “Ajouter à Google Agenda” (sans OAuth)
- i18n :
/:locale/reserve,/:locale/account/reservations
Mise en place
- Environnement & configuration côté code
NEXT_PUBLIC_FEATURE_RESERVATIONS_ENABLED=true
STRIPE_PRIVATE_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
RESEND_API_KEY=...
EMAIL_FROM="Votre App <no-reply@votre-domaine.com>"
NEXT_PUBLIC_WEB_URL="http://localhost:3000"Ajustez les horaires, la durée de rétention et le fuseau horaire dans src/config/reservations.ts.
- Base de données
pnpm drizzle-kit generate --config src/db/config.ts
pnpm drizzle-kit migrate --config src/db/config.ts- Webhook (local)
stripe listen --forward-to localhost:3000/api/pay/webhook/stripe- Lancer
pnpm devOuvrez /fr/reserve pour tester.
Personnalisation
- Fuseau horaire : modifiez
baseTimeZonedanssrc/config/reservations.ts(ex.Europe/Paris). - Acompte/prépaiement :
deposit_amount,require_depositpar service. - Marges :
buffer_before_min,buffer_after_min. - Agenda : lien Google sans OAuth ; pour une synchro fournisseur, ajoutez OAuth et l’API Calendar.