Documentation – Formulaire de réservation La Frémille

Accès au formulaire

1. Structure générale


  • Front-end : reservations.html intégré au site https://lafremille.fr.
  • Back-end : Google Apps Script déployé en application websur le compte google de l'AGEC.
  • Stockage : Google Sheets avec trois onglets :
    • Réservations → journal de toutes les demandes (nom, email, ressource, horaires, montant, etc.)
    • Membres → liste des adhérents (colonne I = email)
    • Ressources → définition des espaces (nom, tarifs, capacité, ID de calendrier)
  • Agenda : un calendrier Google par ressource (ID placé en colonne G de l’onglet Ressources).

2. Workflow utilisateur


  • L’utilisateur choisit la ressource, la date et les heures puis clique « Vérifier la disponibilité ».
  • Le formulaire appelle la fonction doGet du script :
    • vérifie l’agenda lié à la ressource,
    • renvoie dispo = true/false + l’URL du calendrier (vue jour).
  • Si disponible → affichage du formulaire complet (nom, mail, adhérent ou non, paiement).
  • Validation → envoi en POST vers doPost :
    • vérifie l’adhésion (ajout de 10 € si non adhérent ou email absent de l’onglet Membres),
    • calcule le tarif selon la durée (forfaits 1h / 4h / journée + logique mixte),
    • revérifie la disponibilité,
    • ajoute une ligne dans Réservations,
    • crée l’événement dans l’agenda,
    • envoie deux mails (utilisateur + admin),
    • retourne une page de confirmation + iframe HelloAsso.

3. Points clés techniques


  • Adhésion
    • Sélection « Adhérent oui/non » dans le formulaire.
    • Si « non » ou email non présent dans Membres → +10 € (montant unique, indiqué au client).

  • Tarifs (définis dans Ressources)
    • Paliers : 1h, 4h, Journée.
    • Calcul :
      • ≤ 4h → min(N × 1h, forfait 4h)
      • 4–8h → min(4h + heures sup × 1h, forfait journée)
      • ≥ 8h → forfait journée

  • Calendrier
    • 1 ressource = 1 calendrier Google distinct.
    • L’ID est stocké en colonne G (onglet Ressources).
    • Le calendrier doit être public en lecture seule pour afficher l’URL embarquée.
    • Le lien est généré par doGet et affiché si le créneau est indisponible.

  • HelloAsso
    • Pas de pré-remplissage du montant.
    • Afficher un rappel « Reporter le montant XXXX dans le widget HelloAsso ».
    • Lien boutique : /boutiques/reservation-d-un-espace

4. Points pratiques


  • Déploiement du script
    • Publier → Déployer en tant qu’application web.
    • Exécuter en tant que « Moi (admin) » ; accès : « Tout le monde, même anonyme ».
    • Sécurité : aucun paiement ni mot de passe stocké côté script (paiement via HelloAsso).

  • Maintenance
    • Ajouter un membre → compléter l’onglet Membres (email).
    • Ajouter/modifier une ressource → onglet Ressources (nom, tarifs, capacité, ID calendrier).
    • Si le lien d’agenda n’apparaît pas : vérifier que le calendrier est bien public.

5. Améliorations possibles


  • Gérer les capacités multiples (ex. open space = 10, grand bureau = 2) au lieu de la vérif binaire « pris/pas pris ».
  • Relier HelloAsso via API pour éviter le report manuel du montant.
  • Ajouter un tableau de bord (réservations, temps, total facturé) dans Google Sheets.