markus-th Posted January 10 Posted January 10 (edited) Hi everyone! I am currently developing a new module for a client project and wanted to quickly reach out to see if there is broader interest in the community for a solution like this. The Use Case My client needed an appointment booking system similar to "Calendly". However, they had specific requirements: Zero external dependencies: No third-party SaaS for GDPR/DSGVO compliance and to avoid monthly fees. Full Design Control: It had to fit seamlessly into their custom design. Lightweight: No heavy bloat. The Solution: WireBooking is a native ProcessWire module that handles appointment slots and bookings using standard ProcessWire pages. Current Features: Frontend Wizard: An interactive, step-by-step booking process built with AlpineJS and Tailwind CSS. Native Storage: Bookings are saved as standard ProcessWire pages (booking-entry), allowing you to use the full power of PW selectors and hooks. Backend Management: Simple interface using the native ProcessWire Admin Theme (UIkit) to view bookings. Notifications: Sends confirmation emails to the customer and admin, including generated .ics calendar files for Outlook/Apple/Google Calendar. Availability Management: Manually block specific time slots or entire date ranges via the module settings. AJAX Driven: Dynamically loads available slots via JSON to keep the initial page load light. The "Catch" (Requirements) To keep the module lightweight and modern, it is opinionated regarding the frontend stack. It assumes you are already using (or are willing to include): Tailwind CSS (Utility classes) for the styling. Usage Example: Using it in a template is extremely simple: <?php echo $modules->get('WireBooking')->renderWizard(); ?> I need your feedback! The module is currently functional for this specific use case (Consultants/Service Providers). Before I invest time into generalizing it for a public release on the modules directory, I have two questions for you: Is this something you would use? Is there a need for a native "Calendly" alternative? Is the dependency on Tailwind a dealbreaker? Since the markup relies on Tailwind utility classes, it might be hard to style if you use Bootstrap or custom CSS. Looking forward to your thoughts and suggestions! Cheers, Markus GitHub: https://github.com/markusthomas/WireBooking Edited February 8 by markus-th Link to GitHub added 15 1
Stefanowitsch Posted January 10 Posted January 10 Hi @markus-th! That is looking really promising. I was talking about that feature with a client not so long ago. They wanted to include a booking system (for "time slots") almost exactly like that. I am really looking forward to try out your module! Let me know when it is finished. To answer your questions: Is this something you would use? Is there a need for a native "Calendly" alternative? -> Yes. Is the dependency on Tailwind a dealbreaker? Since the markup relies on Tailwind utility classes, it might be hard to style if you use Bootstrap or custom CSS. -> I am not using Tailwind at all but UIKit. Would you provide a basic stylesheet with the module or is the Tailwind integration a must-have in that case? I am not afraid to tweak the module code to alter the style classes to make it work for UIKit, though.
markus-th Posted January 10 Author Posted January 10 Hi @Stefanowitsch I can integrate as option a base CSS with semantic class names, similar to how I handled it in my WireMagnet module. This way, the styling can be done independently of Tailwind. I plan to release the module on GitHub in the next 2–3 weeks, once I've successfully completed some final tests. 6
Krlos Posted January 10 Posted January 10 This looks amazing! I`m actually helping a friend on a project for his tiny psychologist clinic. We implemented Google Calendar appointments since it’s almost no configuration and just works. But this project look really promising.
PascalKonings Posted January 30 Posted January 30 Great looking module, @markus-th I might need this type of functionality in a potential upcoming project, will be following your progress on this one :) For me, Tailwind isn't a direct dealbreaker, however I tend to use custom CSS for my projects, so any independent styling options would be very welcome!
markus-th Posted February 6 Author Posted February 6 Hi everyone, Quick update on the WireBooking module: I have finished my initial testing phase and will be releasing the Beta version on GitHub this weekend! I would really appreciate it if some of you could give it a spin and provide some feedback. Specifically, I’m looking to find out if the module is working smoothly in different environments and if you encounter any bugs during the setup or booking process. I’ll post the link to the repository here as soon as it's live. Looking forward to your thoughts! 1
markus-th Posted February 8 Author Posted February 8 Hi everyone, As promised, the Beta version of WireBooking is now available on GitHub! You can find the repository here: https://github.com/markusthomas/WireBooking I would love to get your feedback on the installation process and general usability. If you find any bugs or have suggestions for improvements, please open an issue on GitHub. Happy testing! 6 1
marie.mdna Posted 20 hours ago Posted 20 hours ago This is such an interesting module, love that it is GDPR compliant 🙂 I was wondering, did you consider group booking? Such as day long events with a maximum of participants/day/event?
markus-th Posted 19 hours ago Author Posted 19 hours ago Hi @marie.mdna Thanks for your feedback and the great suggestion! I can see the need for group bookings (like workshops or classes where multiple people join one slot). However, implementing this directly into WireBooking would be quite difficult. The module's core architecture and database structure are designed for single-appointment bookings (one slot = one person). Adding group capabilities would require a major rewrite of the booking logic and slot validation. I think this would actually make an excellent idea for a separate, dedicated module (e.g., WireGroupBooking or WireEvents), as the requirements for managing capacities, waiting lists, and group check-ins are quite different from a lightweight appointment scheduler. I will definitely keep it in mind for future ideas, but for now, WireBooking will focus on staying lightweight and tailored for 1:1 appointments. Best regards, Markus 1
Peter Knight Posted 17 hours ago Posted 17 hours ago Hi @markus-th I'm glad I saw this as I was just recently looking for something similar. Thanks for making it. WIll check it out soon.Will 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now