PHPackages                             markocupic/calendar-event-booking-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. markocupic/calendar-event-booking-bundle

ActiveContao-bundle

markocupic/calendar-event-booking-bundle
========================================

Contao Calendar Event Booking Bundle

6.0.14(1mo ago)125.0k↓50%8[10 issues](https://github.com/markocupic/calendar-event-booking-bundle/issues)1MITPHPPHP ^8.1CI failing

Since Sep 5Pushed 1mo ago5 watchersCompare

[ Source](https://github.com/markocupic/calendar-event-booking-bundle)[ Packagist](https://packagist.org/packages/markocupic/calendar-event-booking-bundle)[ RSS](/packages/markocupic-calendar-event-booking-bundle/feed)WikiDiscussions 6.x Synced 1mo ago

READMEChangelogDependencies (28)Versions (146)Used By (1)

Events buchen mit Contao
========================

[](#events-buchen-mit-contao)

> **Migration von Version 5.x nach 6.x**
>
> Bei der Migration von Version 5.x nach 6.x kam es zu zahlreichen [Änderungen](https://github.com/markocupic/calendar-event-booking-bundle/blob/6.x/UPGRADE.md). Die Event- und Kalendereinstellungen müssen nach der Migration unbedingt überprüft und angepasst werden. Vor dem Upgrade sollte ein Datenbank-Backup erstellt werden.

Events buchen
-------------

[](#events-buchen)

Mit dieser Erweiterung für Contao CMS werden Events über ein Anmeldeformular buchbar. Double-Opt-In, eine Warteliste und ein Bezahlcheckout sind möglich. Das Anmeldeformular kann im Contao Formulargenerator erstellt werden. Während des Installationsprozesses wird ein Sample Anmeldeformular generiert. Beim Absenden des Formulars werden die Werte in der Datenbank in der Tabelle tl\_calendar\_events\_member abgelegt. Die Buchungen sind im Backend einsehbar und über eine CSV-Datei exportierbar.

Bezahl-Checkout
---------------

[](#bezahl-checkout)

Der Bezahl-Checkout ist zahlungspflichtig (Bitte Autor der Extension per E-Mail kontaktieren)

Im Moment sind folgende **Zahlungsmethoden** vorhanden:

- PayPal

Benachrichtigungen
------------------

[](#benachrichtigungen)

Event-Organisator und Teilnehmer lassen sich bei jedem Prozess automatisch benachrichtigen (Notification Center).

Warteliste
----------

[](#warteliste)

Optional kann eine Warteliste aktiviert werden. Personen auf der Warteliste rücken automatisch nach, wenn Plätze durch Stornierung frei werden. Nachrücken können nur Personen,

- deren Anmeldung nicht storniert wurde.
- deren Anmeldung nicht temporär ist.
- deren Reservierungsanfrage nicht abgelaufen ist.
- Die Warteliste sollte nicht mit einem Bezahlungs-Checkout kombiniert werden.

Double-Opt-In
-------------

[](#double-opt-in)

Bei den Buchungseinstellungen kann optional eine Bestätigung der Buchungsanfrage aktiviert werden. Dabei wird mit der Benachrichtigung (Event Buchung: Benachrichtigung nach dem Absenden des Event-Buchungs-Formulars) ein Link versandt. Dazu muss das Modul "Event Buchung: Buchungsbestätigung (Double-Opt-In)" erstellt werden. Wenn der Kunde/User seine Buchungsanfrage nicht bestätigt, erlischt nach einer frei konfigurierbaren Zeit seine Anfrage und sein Platz wird für andere frei. Abschnitt "Konfiguration" beachten!

Frontend-Module
---------------

[](#frontend-module)

Frontend-ModulErklärungEvent-Booking - BuchungsformularWird benötigt, um das Event-Buchungsformular auszugeben. Das Modul ist auf den Event-Identifier in der URL angewiesen und befindet sich typischerweise auf der selben Seite wie das Event-Leser-Modul.Event-Booking - Checkout (Zusammenfassung/Zahlung)Dieses Modul sollte auf der Weiterleitungsseite eingerichtet werden, auf die Kunden nach dem Absenden des Buchungsformulars weitergeleitet werden. Es zeigt eine kurze Bestätigung und Zusammenfassung der Buchung an oder löst den Zahlungscheckout aus (kostenpflichtig).Event-Booking - Buchungsbestätigung (Double-Opt-In)Optional! Dieses Modul muss auf der Seite platziert werden, wohin User weitergeleitet werden, wenn sie den Buchungsbestätigungslink angeklickt haben, welcher mit der Benachrichtigung (Event Buchung: Benachrichtigung nach dem Absenden des Event-Buchungs-Formulars) versandt worden ist. Die Seite muss in den Kalendereinstellungen konfiguriert werden. Dieses Modul sollte nicht in Kombination mit einem Bezahlungs-Checkout verwendet werden.Event-Booking - StornierungsformularOptional! Dieses Modul muss auf der Seite platziert werden, wohin User weitergeleitet werden, wenn sie den Buchungs-Stornierungslink angeklickt haben, welcher mit der Benachrichtigung (Event Buchung: Benachrichtigung nach dem Absenden des Event-Buchungs-Formulars) versandt worden ist. Die Seite muss in den Kalendereinstellungen konfiguriert werden.Event-Booking - Teilnehmer-ListeOptional! Dieses Modul listet die vorhandenen Buchungen auf. Das Modul ist auf den Event-Identifier in der URL angewiesen und befindet sich typischerweise auf der selben Seite wie das Event-Leser-Modul.Event-Booking - Meine BuchungenZeigt alle Buchungen des aktuell eingeloggten Users an. Funktioniert nur, wenn der User zum Zeitpunkt der Event-Buchung eingeloggt war. Zu diesem Zweck sollte das Anmeldeformular nur angemeldeten FE-Usern zugänglich gemacht werden.Einrichtung (Ablauf)
--------------------

[](#einrichtung-ablauf)

[![Backend-Einstellungen](docs/images/backend_settings.png)](docs/images/backend_settings.png)

### 1. Kalender und Events anlegen.

[](#1-kalender-und-events-anlegen)

Auf Kalenderebene muss/müssen unter anderem

- die Seite mit dem Event-Buchungs-Checkout-Modul ausgewählt werden.
- die Seite mit dem Event-Buchungs-Stornierungs-Modul ausgewählt werden.
- alle Benachrichtigungen ausgewählt werden
- der Checkout-Typ gewählt werden. (PayPal ist zahlungspflichtig)

Danach sollten die Events angelegt werden und die Buchungsoptionen konfiguriert werden.

### 2. Buchungsformular erstellen und erweitern

[](#2-buchungsformular-erstellen-und-erweitern)

Beim Aufrufen der Datenbankmigration wird **automatisch** ein Beispielformular mit allen benötigten Feldern generiert.

#### Einstellungen im Formular

[](#einstellungen-im-formular)

- **Im Formular muss die Checkbox "Aktiviere Event-Buchungsformular-Funktion" aktiviert sein!**
- **Im Formular sollte keine Weiterleitungsseite eingetragen werden! Die Weiterleitungsseitte sollte stattdessen in der Kalendereinstellung ausgewählt werden (Seite mit dem Checkout-Modul).**
- **Es sollte keine Benachrichtigung ausgewählt werden. Diese wird in der Kalendereinstellung ausgewählt.**
- **Übertragungsmethode: POST**

#### Formularfelder und Datenbankfelder

[](#formularfelder-und-datenbankfelder)

- Das Formularfeld `bookingUuid` wird automatisch generiert.
- Folgende Felder werden im Beispielformular mitgeliefert und deren Inhalt beim Absenden des Formulars wird in der Datenbank (tl\_calendar\_events\_member) gespeichert: `waitingList`, `gender`, `firstname`, `lastname`, `dateOfBirth`, `street`, `postal`, `city`, `phone`, `email`, `ticketAmount`, `escorts`, `notes`
- Benutzen Sie das Feld `ticketAmount`, wenn mehrere Plätze gebucht werden können und für jedes Ticket ein Platz von der Gesamtzahl der maximal möglichen Teilnehmerzahl abgezogen werden soll.
- Benutzen Sie das Feld `escorts`, wenn es Begleitpersonen gibt. Begleitpersonen werden **nicht** zur Gesamtzahl der Teilnehmerzahl dazugezählt.
- Das Feld `waitingList` muss bei aktivierter Warteliste vorhanden sein.
- Es können zusätzliche Felder im Formulargenerator erstellt werden. Damit die Daten in der Datenbank gespeichert werden, muss die DCA im Projekt-ROOT unter `contao/dca/tl_calendar_events_member.php` erweitert werden. Danach muss via Shell der Cache neu aufgebaut `composer install` und die Datenbankmigration ausgeführt werden. `vendor/bin/contao-console contao:migrate`

```
