Bubble.io Booking System Guide
Bubble.io Booking System Guide
The system manages the entire event lifecycle efficiently, starting with booking submission, where an Ambassador fills a Booking Form and the system generates an Event ID, sends notifications, and creates a Google Calendar event in gray . Following submission, contracts can be signed and updated through DocuSign integrations, and upon GM approval, invoices are generated using Stripe and calendar events are updated to yellow . Payment confirmations further update calendar events to green, signifying confirmed bookings . Pre-event reminders are sent 24 hours before, and a post-event thank you email is sent one hour after the event . This comprehensive workflow from submission to follow-up ensures all stakeholders are informed and actions are automated, facilitating smooth event management and operational efficiency.
The automation workflow employs specific triggers to initiate various actions for managing booking status changes. Upon booking submission, an email is sent to GMs/managers and a Google Calendar event is created in gray . When a contract is signed, via a DocuSign Webhook, the status updates to 'Signed' and GMs are notified . GM approval triggers Stripe invoice creation and updates the calendar event to yellow . Payment confirmation, through a Stripe Webhook, changes the status to 'Confirmed', updates the calendar event to green, and sends a confirmation email . These automated transitions ensure efficient updates across the system, enhancing accuracy and timeliness in event and booking management.
The system enhances operational efficiency and user experience through its role-based access and dynamic page functionalities. Role-based redirects after login direct users to appropriate dashboards and functionalities, ensuring streamlined access and relevance . The use of conditional logic in forms like the Booking Form caters specifically to user input scenarios, providing a tailored experience . Automated workflows and integrations like Google Calendar for scheduling, Stripe for payments, and DocuSign for contracts significantly reduce manual intervention, delivering smooth transactional processes . Scheduled communications such as reminders and thank you emails keep stakeholders informed and engaged, improving both the operational flow and user satisfaction with timely, relevant information dissemination . These design choices collectively result in a system that is intuitive, efficient, and aligned with user and operational needs.
The system features a common login page for all users with a role-based redirect mechanism after login . This ensures that users are directed to functionalities specific to their roles, maintaining secure and appropriate access. Each user role has set permissions for accessing specific pages and functions which include a Booking Form page for Ambassadors, Dashboards for GMs and Admins, and other admin-exclusive pages like Settings and Reports . This role-specific access framework contributes to the secure handling of functionalities by restricting access based on user privileges.
The system employs a series of scheduled automations for notifications and reporting. A reminder email is sent 24 hours before an event to customers and managers . A thank you email is dispatched an hour after an event from the GM . Additionally, every Friday at 10 AM, a weekly summary email containing statistics is sent to all managers and admins . On the 1st of each month, a CSV export containing key performance indicators (KPIs) is generated and sent . These scheduled operations aim to maintain a consistent flow of communication and tracking of performance metrics within the system.
The development sequence begins with creating Option Sets and Data Types in Bubble to establish the foundational database structure . It continues with building the Login page featuring role-based redirects to manage user access . Subsequent steps include the construction of the Booking Form with conditional logic, setting up backend workflows for status changes, integrating Google Calendar, Stripe, and DocuSign APIs, and building dashboards for Ambassadors, GMs, and Admin . Finally, Reports and Settings pages are created, and a full test of the booking flow is conducted before launching and training users . This order is significant as it ensures that foundational database and functional requirements are established before more complex integrations and user interface elements are developed, thereby minimizing potential issues related to dependencies and facilitating a structured rollout of system capabilities.
The database schema employs specific data types and relationships to ensure data integrity and manage users effectively. It consists of data types such as Booking and User, where each Booking contains details like Ambassador, Customer Name, Venue, Event Type, Date/Time, and status-related fields . User data types include fields like Name, Email, Role, and a list of related bookings, maintaining structured and relational data handling . Option sets for Ambassador names, Venues, Event Types, etc., ensure data consistency and mitigate redundancy . Moreover, role-based permissions enhance data security by controlling user access according to defined roles, further supporting data integrity across various system operations.
The Ambassador's Booking Form auto-fills the ambassador's name and requires entering customer information including name, email, and phone number . The form includes venue selection, an event type dropdown with conditional Philanthropy options, and event date and time pickers . Booking type selection triggers conditional fields for Prepaid Tab and Tip amounts . When philanthropic events are selected, additional philanthropy-specific fields are shown . Upon submission, the booking is created, generating an Event ID, sending a notification email, and adding an event to Google Calendar as a gray placeholder . This setup leverages conditional logic to customize the form dynamically based on user selections.
In the Bubble.io booking system, the roles are defined as Ambassador, General Manager (GM), and Admin, each with specific responsibilities and interactions. Ambassadors can create bookings for events, view their own bookings and commission earnings, but cannot approve bookings, send invoices, or mark payments . General Managers can view bookings for their assigned venue, approve bookings, send invoices via Stripe, mark bookings as paid, and manage the venue calendar . Admins have full system access, manage all bookings, users, commission rates, reports, control venue settings, and email routing . These roles enable a structured flow of operations within the system whereby each role interacts with different system functionalities according to their permissions.
The integration of external APIs serves crucial purposes within the booking system. The Google Calendar API is used to add events upon booking submission and to update event colors based on approval and payment status changes, enhancing event management visibility . Stripe's API integration facilitates the automatic creation of invoices upon GM approval and updates payment confirmation, providing seamless financial transactions . The DocuSign API is integrated to manage contract signing, where a signed contract updates the booking status and dispatches notifications to GMs . These integrations automate key processes, ensuring that the system operates efficiently and keeps stakeholders informed without manual intervention.