blueways / bw-bookingmanager
A generic bookingmanager
Installs: 3 251
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 2
Language:TypeScript
Type:typo3-cms-extension
Requires
- ext-json: *
- typo3/cms-core: ^11.5
Requires (Dev)
- bk2k/bootstrap-package: ^12.0
- friendsofphp/php-cs-fixer: ^3.3
- helhum/typo3-console: ^7.0
- phpmd/phpmd: ^2.6.0
- roave/security-advisories: dev-latest
- saschaegerer/phpstan-typo3: ^1.8
- squizlabs/php_codesniffer: ^3.4
- ssch/typo3-rector: dev-main
- typo3/cms-about: ^11.4
- typo3/cms-adminpanel: ^11.4
- typo3/cms-backend: ^11.4
- typo3/cms-belog: ^11.4
- typo3/cms-beuser: ^11.4
- typo3/cms-dashboard: ^11.4
- typo3/cms-extbase: ^11.4
- typo3/cms-extensionmanager: ^11.4
- typo3/cms-filelist: ^11.4
- typo3/cms-fluid: ^11.4
- typo3/cms-fluid-styled-content: ^11.4
- typo3/cms-form: ^11.4
- typo3/cms-frontend: ^11.4
- typo3/cms-impexp: ^11.4
- typo3/cms-info: ^11.4
- typo3/cms-install: ^11.4
- typo3/cms-lowlevel: ^11.4
- typo3/cms-opendocs: ^11.4
- typo3/cms-recordlist: ^11.4
- typo3/cms-redirects: ^11.4
- typo3/cms-reports: ^11.4
- typo3/cms-rte-ckeditor: ^11.4
- typo3/cms-scheduler: ^11.4
- typo3/cms-seo: ^11.4
- typo3/cms-setup: ^11.4
- typo3/cms-tstemplate: ^11.4
- typo3/cms-viewpage: ^11.4
- typo3/testing-framework: ^6.0
- vimeo/psalm: ^4.0
- dev-master
- dev-11.x-dev
- 11.x-dev
- v11.1.0
- v11.0.4
- v11.0.3
- v11.0.2
- v11.0.1
- v11.0.0
- 9.x-dev
- v9.3.2
- v9.3.1
- v9.3.0
- v9.2.2
- v9.2.1
- v9.2.0
- v9.1.2
- v9.1.1
- v9.1.0
- v9.0.10
- v9.0.9
- v9.0.8
- v9.0.7
- v9.0.5
- v9.0.4
- v9.0.3
- v9.0.2
- v9.0.1
- v9.0.0
- v8.0.0
- v7.04
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- v6.0.2
- v6.0.1
- v6.0.0
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.10
- v5.0.9
- v5.0.8
- v5.0.7
- v5.0.6
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.0.2
- v4.0.1
- v4.0.0
- v3.0.2
- v3.0.1
- v3.0.0
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.20
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.2.2
- v1.2.1
- dev-9.x-dev
This package is auto-updated.
Last update: 2024-12-04 16:52:20 UTC
README
Install
- via composer
composer require blueways/bw-bookingmanager
- include TypoScript setup and constants
- include route enhancer in site config:
imports: - resource: 'EXT:bw_bookingmanager/Configuration/Routing/Api.yaml' - resource: 'EXT:bw_bookingmanager/Configuration/Routing/Ics.yaml'
Usage
To create a new calendar
- Create a new SysFolder and use it as container for "Booking Manager"
- Add a new Calendar to the folder
- Create timeslots for the calendar or enable direct booking in calendar settings
Notifications
To send automated emails, add a new Notification record inside a SysFolder and select the event and calendars you want to be notified about.
E-Mail Templates
The template can be selected in the Notification settings. To modify the available templates, use PageTS:
TCEFORM.tx_bwbookingmanager_domain_model_notification {
template.addItems {
welcome = Welcome Template
}
}
Emails are send through the TYPO3 Mail API. To use custom email templates, add your template directory to the TYPO3 configuration and make sure the configured template name exists:
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['templateRootPaths'][108] = 'EXT:extension/Resources/Private/Templates/Email';
Conditional notifications
To add a new condition in the backend, register a new checkbox item via TCA:
$GLOBALS['TCA']['tx_bwbookingmanager_domain_model_notification']['columns']['conditions']['items'][] = [ 'New condition name', \Vendor\Extension\NotificationCondition\TheNewCondition::class ];
The value of the item should be a class name that implements the NotificationConditionInterface
.
class TheNewCondition implements NotificationConditionInterface { public function doSend(Entry $entry): bool { // ...logic // prevent sending of email return false; } }
API
There a various ways to extend or modify the behavior of the booking manager.
Events
There are PSR-14 events dispatched which offer a way to execute custom functionality
- AfterEntryCreationEvent
Changelog
- Confirmation mails not configured via TypoScript anymore - create a separate Notification