Réservation d’événements

Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées.

Recherche de repreneur

Je ne suis plus suffisamment impliqué dans spip pour assurer un maintien correcte de ce plugins, Donc si quelqu’un veuille reprendre la main, c’est avec plaisir.

Installation

Le plugin s’installe comme n’importe quel plugin.

il nécessite :

Introduction

Une réservation comporte deux parties :

  • La partie principale qui contient les données générales, comme les coordonnées, la date et référence de la réservation - la réservation proprement dit.
  • à cette réservation est/sont attaché/s le/s détail/s de la réservation contenant les informations relatives à l’évènement réservé.

Une réservation peut donc contenir plusieurs détails de réservation, mais en nécessite au minimum un.

Configuration

Statut par défaut
Configurez d’abord votre plugin en commençant par le statut par défaut de chaque réservation (si rien n’est choisi, le statut par défaut sera dans liste d’attente)

Le(s) Statut(s) complet(s)
Si vous comptez utiliser la limitation de places pour les réservations, choisissez le/s statut/s qui entre/nt en compte pour déterminer si un événement est complet. Lors d’un changement de statut vers un des « statuts complets », le plugin déterminera alors si il reste des places disponibles, sinon il mettra le statut à « en liste d’attente ».

Calculer automatiquement le statut accepté de la réservation
Si activé, lors d’un changement de statut vers accepté, le plugin vérifiera si tous les détails de réservation ont le statut accepté, sinon la réservation sera mis en « accepté partiellement ».

Notifications
Vous pouvez ensuite activer l’envoi automatique des notifications de réservations aux vendeurs/administrateurs du site.

Paramètres des notifications
Déclenchement
Définissez alors quel changement de statut déclenchera une notification et les autres paramètres de notifications

Client
Vous pouvez également activer l’envoi d’un mail de notification au client.

Vous avez la possibilité de « Permettre d’envoyer les notifications à plusieurs destinataires ». Si activé, un champ supplémentaire s’ajoutera aux formulaires de réservation permettant d’ajouter des adresses emails (séparés par comma)

Activer le mode Envoi Séparé pour le statut
Par défaut, le changement de statut d’un détail de réservation ne déclenche pas d’envoi de mail. Si vous voulez pouvoir envoyer des notification séparés pour chaque détail de réservation, activez le pour le statut souhaité.

Clôturer automatiquement une réservation
Vous pouvez programmer la clôture automatique d’un évènement.

Si activé, un champ Clôture automatique s’affichera dans vos formulaire d’édition d’articles et d’évènements.
Afin qu’un évènement soit clôturé automatiquement, il faut l’activer au niveau de l’évènement.
Si activé au niveau de l’article, tout nouveau évènement de cet article aura la Clôture automatique activé par défaut.

Chaque évènement pour lequel la Clôture automatique est activé sera déclaré comme clôturé quand la date fin est atteinte et les détail de réservation concernés ayant le statut accepté seront mis en statut clôturé.
Si vous voulez envoyer une notification lors de la clôture de l’évènement, ajoutez le statut clôturé sous Paramètres des notifications/Déclenchement.

Permettre au visiteur de s’enregistrer lors d’une réservation
Si activé, le visiteur peut choisir de s’enregistrer et de créer un compte auteur spip (statut visiteur) avec login et mot passe, ce qui lui permettra d’effectuer de nouvelles réservation dans devoir renseigner à nouveau ses coordonnées.

Cette option peut être rendu obligatoire.

Un visiteur enregistré sera logué automatiquement après la réservation

Créer les évènements ouverts à l’inscription

Saisissez d’abord un évènement.
Nativement le plugin agenda prévoit une case inscription en ligne et Limiter le nombre de places qui seront utilisé par ce plugin.

Pour que l’évènement soit pris en compte par ce plugin, il faut cocher inscription en ligne.

Si vous prévoyez de limiter le nombre d’inscriptions, remplissez le champ Limiter le nombre de places. Laissez vide si vous ne voulez pas imposer de limite.
Si vous avez indiqué un nombre limite, lors de chaque réservation sera alors calculé le nombre de détails de réservation pour cet évènement ayant le statut correspondant au/x Statut(s) complet(s) définit dans la Configuration. Si ce nombre dépasse celui prévu dans Limiter le nombre de places, le détail de réservation obtiendra le statut dans liste d’attente.

Gestion des champs extras

Le plugin intègre automatiquement les champs extras auteurs et réservation ajoutés via le plugin Champs extras

Gestion de prix

  • Créez un champ extra prix pour vos articles ou vos événements. (Il est alors conseillé d’installer le plugin API Prix afin de mieux gérer les formats de prix, surtout pour un site multilingue).
  • Installez le plugin Prix Objets puis activez dans la configuration les objets articles et évènements.

Le plugin vérifie d’abord si il existe un prix fournis par Prix Objets, sinon il cherchera un champs prix (ou prix_ht si API Prix est installé).

Un prix définit au niveau de l’article s’applique à tous ses évènements qui n’ont pas de prix définit.

Vous pouvez également utiliser le plugin Déclinaisons Prix afin de déterminer plusieurs prix par événement.

Formulaire public

Squelettes

<div class="ajax">
        #FORMULAIRE_RESERVATION{#ENV{id_evenement},#ENV{id_article}, #ENV{retour}, #ENV{options}}
</div>

Les variables ne sont pas nécessaire :

  • Les deux premiers servent à limiter l’étendu du formulaire. Il peut s’agir d’un seul id ou d’un tableau de plusieurs id. Si rien n’est mis, tous les événements sont prix en compte.
  • La troisième variable permet de renseigner une url de redirection.
  • La quatrième définit un tableau d’options. Seule l’option « id_evenement_source » est disponible actuellement. Elle permet de définir comment traiter les événements répétés :
    • Par défaut (pas d’option « id_evenement_source ») les événements sont groupés. Une réservation pour l’ensemble des événements répétés est proposé.
    • Pour une réservation pour chaque événement répété il faudrait mettre
      #ARRAY{id_evenement_source,''} 

Modèle

<reservation|>

Si ce modèle est placé dans un article, le formulaire affichera uniquement les évènements futurs de cet article.

Pour afficher seulement le formulaire d’un seul évènement.

 <reservation|id_evenement=#ID_EVENEMENT>

Gestion des réservations

Rendez vous sur Activité>Réservations pour trouver une liste des réservations effectuées.

Le menu de la colonne de gauche vous permet de classer les réservations par événement ou par article.

Pour chaque événement ou article il est ainsi possible de visualiser et télécharger les différents réservation effectuées, classées par statut.

Vous retrouverez ces informations également dans la colonne gauche des pages rubriques, articles et événements dans l’espace privé

Extensions

Ce plugin peut être complémenté avec :

Discussion

87 discussions

  • Bonjour,

    existe-t-il un plugin qui permettrait de gérer les inscrits à un événement qui ne sont pas passés par le formulaire de réservation mais par panier + commande ?

    Le système evenement + panier + commande fonctionne. Cependant, les informations sur les participants, les inscrits ne sont pas gérés pour le moment. Auriez vous des pistes pour aboutir à un système cohérent ?

    Répondre à ce message

  • 2

    Bonjour,
    Hébergé par SpipFactory, j’utilise Réservation d’évènements et réservations multiples !
    Pb spipfactory est passé en php 8, ce qui semble poser un pb à ces plugins != !
    Y a t’il un paramétrage au niveau php que nous pouvons utiliser pour pallier à ce problème ou es-ce sans solution ?

    Merci,
    Cordialement,
    André

    • Bonjour,
      Je relance cette question !
      Actuellement SpipFactory maintient mes sites en php 7.4 pour que les plugins réservations d’évènements et réservations multiples fonctionnent, ce qui n’est pas très opérationnel les autres sites de la plateforme étant en 8.2 !
      Y aura t’il une évolution pour que cela fonctionne en php 8.2 ou dois-je abandonner ces plugins pour d’autres, si cela existe !

    • Bonjour,

      je ne suis plus suffisamment impliqué dans spip pour assurer un maintien correcte de mes plugins, dont celui si. Donc si quelqu’un veuille reprendre la main, c’est avec plaisir.

    Répondre à ce message

  • Bonjour et merci pour ce plugin... Y a-t-il un retour pour l’utilisation de ce plugin sous spip 4.2 ? Quelqu’un a-t-il déjà essayé en modifiant les bornes de version ?

    Répondre à ce message

  • 3

    Hello Rainer,
    je ne sais pas si tu as vu mais j’ai ouvert deux tickets sur git.spip.net :
    https://git.spip.net/spip-contrib-extensions/reservation_evenement/issues

    Le ticket #3 (« Tag 2.3.3 mais code source en 2.3.2 ») me pose souci pour proposer une PR pour corriger le plugin pour SPIP 4.1

    • Merci @Nicod, je t’ai répondu sur les tickets

    • Ok super.

      Par ailleurs, je me demandais quel était le rôle de la case à cocher « Modifier les identifiants personnels : ok » lors de l’inscription ?
      Je n’ai pas tout suivi dans le code, mais ça modifierais quoi ?

    • Pour ta question, l’intitulé n’est pas très parlant, en fait il es possible de modifier quelques données de son profil, comme le nom ou l’adresse email (ainsi que des champs extras auteur) lors de l’inscription. (ceci peut être désactivé dans la config)

    Répondre à ce message

  • Bonjour,

    Je cherche à afficher l’ensemble des évènements d’un article et les infos des participants sur une seule et même page (évitant donc d’ouvrir chaque événément pour y lire le contenu)… les deux tables sont bien liées ? puis-je le faire via une boucle récursive ?

    Répondre à ce message

  • 13

    Bonjour,
    je souhaite passer par le plugins « panier ». Et côté panier et commande, ca roule. Seulement, j’aimerais pouvoir décompter les inscrits ou re-ajouter les désinscrits au compteur des participants. Existe-t-il un tuto à ce sujet ? Une boucle ou un commencement de code ?

    Merci !!

    • A priori, en utilisant commande et panier, je ne vois plus trop quel serait le rôle de ce plugin. Vue que commande gère l’enregistrement des réserves. Sans plus d’explications, je ne saurais pas te répondre.

    • Bonjour, comment procéder pour gérer un stock ? J’aurai bien lié le plugin reservation à mon panier mais si cela est possible via le plugin commande, pourriez vous me guider ? Auriez vous un lien à me fournir. Merci 🙏

    • Bonjour Bob,

      le problème reste le mème, sans plus d’explications je ne peux pas trop aider.

      Rainer

    • Voici le binz. Je me sers des événements comme étant des produits mis en vente ou parfois non (événement gratuit), cela dans le cadre d’une association de formation pour des personnes en voie de réinsertion. J’ai donc un produit = 1 évenement spip, mais je souhaite que une même personne puisse réserver un ou plusieurs événement(s), pour lui et/ou une autre personne (tuteur par exemple). Le plugin réservation d’événement allait bien jusqu’à ce que je tombe sur des complications. Du coup je me suis détourner de ce plugin pour créer un panier. Tout cela fonctionne. Le manque, ce que je n’arrive pas à gérer ce sont le nombre de place (stock). J’aimerais pouvoir le gérer. Mais je ne sais pas comment m’y prendre !
      AUTRE POINT ; une seconde problématique est que je souhaite que dans mes notifications soit intégré un lien visio lorsque l’événement se fait à distance. et pareil, je rame :(

    • Salut Bob,

      Tu devra adapter tes squelettes

      Tu as d’un coté le nombre de commandes approuvé pour un événement et de l’autre côte le nombre de places disponibles pour cet évènement (champ places dans la table spip_evenements).

      À mon avis il suffirait alors d’adapter ton squelette où tu inclus le panier avec une boucle commandes commandes_details qui te calcule le nombre de commandes avec la Balise #TOTAL_BOUCLE par exemple, puis n’afficher le bouton panier seulement si le nombre de commandes validés est inférieur aux places disponibles de l’évènement.

      Mais cela concerne plutôt le forum dédié au plugin commandes, no ?

      J’espère que ça te fait avancer das ta quête

      Rainer

    • Bonjour,
      D’après ce que je comprends, tu n’utilises plus réservation d’évènement mais le couple produit/panier/commande.
      Il y a le plugin stock qui fonctionne dans ce cas : https://contrib.spip.net/Stocks

      Pour le lien dans la notification peut-être qu’en ajoutant un champ extra au produit / évènement tu peux inclure sa valeur dans la notification envoyée. Il faudrait trouver le fichier modèle de notification pour le modifier, selon le type de notification que tu utilises.

    • Merci à vous deux pour ces éclaircissements. J’ai bien avancé grace à vous. Je peche sur les notifications. Je fonctionne avec notifications avancées mais je n’arrive pas à ajouter mon champs extra « lien_video »... Si des exemples existent, pourriez vous m’en faire part ?
      Grand merci.

    • Bonjour, je cherche à créer une boucle qui me permettra, à partir du plugin commande de panier, à gérer les places du plugin réservation d’événement. Existe-t-il de l’aide à ce sujet ? En l’état, j’en suis à arrivé à cette boucle, qui permet de gérer un panier proprement, mais sans toucher au « stock », le nombre de places restantes pour un événement. Voici cette boucle :

      <BOUCLE_test_produit_enstock(CONDITION){si #PLACES|>{0}}><hr><BOUCLE_prix_article(PRIX_OBJETS){id_objet=#ID_EVENEMENT}{objet=evenement}>
      <a href="[(#URL_ACTION_AUTEUR{remplir_panier, prix_objets-#ID_PRIX_OBJET-1, #SELF})]"><button type="submit" class="btn">Ajouter au panier</button></a>  </BOUCLE_prix_article></B_prix_article><a href="[(#URL_ACTION_AUTEUR{remplir_panier, evenement-#ID_EVENEMENT-1, #SELF})]"><button type="submit" class="btn">Ajouter au panier</button></a><//B_prix_article>
      </BOUCLE_test_produit_enstock><button class="btn-disable"><:stocks:stock_epuise:></button><//B_test_produit_enstock>
    • Salut Bob,

      Pas testé et pas optimisé un truc du style ?

      #SET{id_prix, #ARRAY}
      <BOUCLE_prix_delarticle(PRIX_OBJETS){id_objet=#ID_EVENEMENT}{objet=evenement}>
          #SET{id_prix,#GET{id_prix}|push{#ID_OBJET}}
      </BOUCLE_prix_delarticle>
      
      #SET{reserve,0}
      
      <BOUCLE_commandes_ev(COMMANDES_DETAILS){objet = prix_objet} {id_objet IN #GET{id_prix}>
      </BOUCLE_commandes_ev>
      #SET{reserve, #GET{reserve}|plus{#TOTAL_BOUCLE}}
      </B_commandes_ev>
      <BOUCLE_commandes_ev(COMMANDES_DETAILS){objet = evenement} {id_objet = #ID_EVENEMENT}>
      </BOUCLE_commandes_ev>
         #SET{reserve, #GET{reserve}|plus{#TOTAL_BOUCLE}}
      </B_commandes>
      #SET{places_dispos, #PLACES|moins{#GET{reserve}}
      <BOUCLE_test_produit_enstock(CONDITION){si #GET{places_dipos}|>{0}}><hr>
          <BOUCLE_prix_article(PRIX_OBJETS){id_objet=#ID_EVENEMENT}{objet=evenement}>
              <a href="[(#URL_ACTION_AUTEUR{remplir_panier, prix_objets-#ID_PRIX_OBJET-1, #SELF})]">
                 <button type="submit" class="btn">Ajouter au panier</button>
              </a>  
          </BOUCLE_prix_article>
          <a href="[(#URL_ACTION_AUTEUR{remplir_panier, evenement-#ID_EVENEMENT-1, #SELF})]">
              <button type="submit" class="btn">Ajouter au panier</button>
          </a>
      <//B_prix_article>
      </BOUCLE_test_produit_enstock>
      <button class="btn-disable"><:stocks:stock_epuise:></button>
      <//B_test_produit_enstock>
    • Merci beaucoup.
      Le code suivant me permet de vérifier que le compteur fonctionne :

      <B_personnes_inscrites><BOUCLE_personnes_inscrites(COMMANDES_DETAILS){id_evenement}>
       <strong>[(#PLACES|moins{#TOTAL_BOUCLE})]</strong> place(s) restante(s).</BOUCLE_personnes_inscrites></B_personnes_inscrites>

      En revanche, la liste des inscrits dans l’espace d’administration ne fonctionne pas ;(

    • Quelle liste d’inscrits ?

    • La liste des inscrits à un événement.

      Je n’ai pas pu me servir du plugin reservation d’evenement seul car j’avais besoin qu’un internaute puisse reserver pour 1 ou plusieurs personnes, 1 ou plusieurs evenements, independamment l’un de l’autre. Mais je suis désormais confronté à deux autres problèmes :
      1/ celui de la gestion du nombre de places, gestion proposée justement par le plugin reservation d’evenement
      2/ permettre aux administrateurs de consulter la liste des inscrits à un événement.

    • Bonjour,

      j’ai testé cette boucle, j’ai le bon nombre de commande qui apparait sur ma page, mais c’est toujours le même auteur qui apparait. Je suis bloqué ;(. Pourriez vous m’orienter ?

      <BOUCLE_vevent(EVENEMENTS){age<=0}{par date_debut}{statut=publie}>
      <li><a href="#URL_EVENEMENT" target="_blank">#TITRE [(#DATE_DEBUT|jour) ][(#DATE_DEBUT|nom_mois) ][(#DATE_DEBUT|annee) ][(#DATE_DEBUT|heures):][(#DATE_DEBUT|minutes)]</a></li>
      
      <BOUCLE_commande2 (COMMANDES){statut=paye}> <BOUCLE_commande_detail2(COMMANDES_DETAILS auteurs){id_evenement}>boucle commande detail #TITRE nom: <a href="#URL_AUTEUR">#ID_AUTEUR #NOM_FAMILLE #PRENOM #EMAIL</a>  <a href="/ecrire/?exec=commande&id_commande=#ID_COMMANDE">commande: #ID_COMMANDE</a><br>
      </BOUCLE_commande_detail2></BOUCLE_commande2>
      
      </BOUCLE_vevent>

    Répondre à ce message

  • 5
    Alexandre

    Bonjour,

    Tout d’abord je tiens à vous remercier pour cet excellent plugin.
    Suite à la dernière mise à jour je rencontre un problème avec la validation des champs extra sur l’objet reservation, lors de la validation d’une reservation le message d’erreur suivant est affiché :
    Fatal error : Call to undefined function cextras_verifier_saisie() in /xxxxxxxx/plugins/auto/reservation_evenement/v2.1.4/formulaires/reservation.php on line 330

    Auriez vous un correctif ?
    Merci d’avance !

    • Alexandre

      Version de SPIP : 3.2.11
      Version de Champs Extra : 3.14.1
      Version de Réservation événement : 2.1.4
      Version de Réservation multiple : 1.5.14

    • Pour autant cela ne marchera pas, car la fonction a été supprimée de champs extra. Normalement c’est une fonction interne qui n’a pas à être utilisée en dehors. Je la retablis au cas où, mais elle ne devrait pas être appelée.

      Rainer, contacte moi pour qu’on voit comment s’en passer.

    • La version 3.14.2 de cextras devraient permettre de refaire fonctionner. Mais comme dit, il faudrait sans doute que Rainer modifie son code pour utiliser l’API de saisies.

    • Alexandre

      Très bien, je vais donc attendre la disponibilité de la version 3.14.2.
      Merci pour votre réactivité !

    • Dans la dernière version

      cextras_verifier_saisie()

      a été remplacé par

      saisies_verifier()

    Répondre à ce message

  • 2

    Bonjour,
    et grand merci
    Cela fonctionne très bien sauf pour les champs extra obligatoire
    Je suis sous spip 3.1, champ extras3.13.2, Réservation Événements 2.1.1
    J’ajoute le champ « Tél » comme obligatoire
    Il apparait bien dans le formulaire comme « obligatoire »
    Mais l’enregistrement ce réalise même s’il est vide

    Erreur de ma part ?
    Par avance merci
    Bruno

    • Bonjour Bruno,

      effectivement la validation des champs extras reservation fonctionnait pas. C’est corrigé dans la version 2.1.2

      Rainer

    • Bonjour,
      Merci, après mise à jour cela marche

      Bonne journée
      Bruno

    Répondre à ce message

  • 3

    Rebonjour,
    Il n’y a pas de vérification sur l’adresse email à la soumission du formulaire ou j’ai loupé quelque chose dans le paramétrage ?

    Merci.

    • Tu parles du formulaire de configuration ? Non il n’y en a pas. On fait confiance à ceux qui gèrent le site :)

    • Non, non. Je parle du formulaire d’inscription #FORMULAIRE_RESERVATION .

    • Il y plusieurs vérification au niveau de l’email, qui est un champ obligatoire.

      Donc on vérifie
      * s’il es bien renseigné
      * s’il conforme au norme RFC 822 on le passant par la fonction

      email_valide() 

      du plugin API de vérification
      * et finalement on vérifie s’il est pas déjà utilisé par un auteur spip.

    Répondre à ce message

  • 2

    Bonjour et merci pour ce plugin.

    J’utilise la version 2.0.0.

    J’ai voulu essayer l’option « un ou des email » de l’option « Choisir un ou plusieurs administrateurs » du bloc « Paramètres des notifications » de la page de configuration du plugin.
    Je n’ai reçu aucun courriel de cette façon.

    Par contre, avec l’option « un ou des administrateurs », ça fonctionne, y compris en sélectionnant un admin dont l’adresse électronique correspond à celle que je testais avec l’autre option.

    Oilà. C’est pas bien grâve en ce qui me concerne puisque c’était pour faire mes tests que j’avais besoin de cette première option. Mais je veux bien essayer de debogguer si d’autres personnes sont confrontées au même souci que moi.

    • Bonjour ludogre,

      Oups, apparemment cela n’avait jamais fonctionné. Merci de l’avoir signalé. C’est corrigé dans la version 2.0.1.

      Bonne journée
      Rainer

    • Impeccable. Je viens de tester et ça fonctionne bien en v2.0.1. En effet.

      Merci.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom