One of my main goals with the v4 release of PBBooking was to make all non-core functionality modular. Rather than being tightly coupled to the core code I wanted to take advantage of Joomla modules and plugins for additional booking functionality. This would allow users to:
- turn on / off additional functionality through the plugin manager
- allow other developers (and myself) to quickly and easily build in additional components.
Over the last couple of weeks I have been mapping out how this could be accomplished and have started implementing this for recurring appointments.
For example in v4 the recurring event fields will be provided via a plugin and each view will control how they are rendered and displayed.
Each plugin will be able to inject logic into the booking process either modifying the booking data before it is saved, after it is saved or injecting additional fields and choices.
My aim is to use this to create additional plugins that offer enhanced functionality such as:
- Recurring appointments booked by front end users (if allowed)
- Add additional options to service booking that can increase the duration, and price, of the service. For example a massage therapist may choose to add an option to book dry needling, chinese cupping to a standard treatment
- When using group resources book multiple people into one booking slot at the same time.
These have all been common feature requests that are at present not possible in the v3 products but will become possible with the new changes.
All additional plugins will be available to subscribers or available as stand alone purchase for users on the free version.