Hackathon
Building an Online Booking and Invoicing System for Personal Training Services
Introduction
During a dynamic two-day hackathon, our team embarked on an exciting journey to develop an innovative solution that seamlessly integrates online booking and invoicing for personal training services. This project aimed to enhance the user experience for both B2B and B2C customers, personal trainers, and back-office employees. Here's a detailed look at what we built.
Day 1: Ideation and Planning
Our hackathon kicked off with a brainstorming session where we identified the key pain points in the current personal training booking and invoicing processes. We focused on creating a system that would allow customers to book services online, generate Swiss eBilling compliant QR code invoices, and streamline payment reconciliation.
Use case scenarios
- As a B2B and B2C customer, I want to book personal training services online, so that I can conveniently schedule sessions.
- As a Personal Trainer, I want to generate based on the booking a draft invoice, so that it can be process and send automatically to the customer.
- As a Back Office employee, I want to reconcile paid invoices from my bank account automatically, so that I have transparency of issued and paid services.
Key Features
Online Booking Platform
- User Journey: B2B and B2C customers can easily book personal training services online, ensuring convenience and flexibility in scheduling sessions.
- Integration: The platform integrates with Microsoft Bookings, allowing seamless service selection and booking.
Invoice Generation
- Service Delivery: Personal trainers can generate draft invoices based on bookings, which are compliant with Swiss eBilling standards.
- QR Code Invoicing: Each invoice includes a Swiss eBilling QR code, simplifying the payment process for customers.
Monthly Invoicing and Email Delivery:
- Automation: Back-office employees can process monthly invoicing and send invoices via email to customers, reducing manual effort and ensuring timely delivery.
Payment and Reconciliation:
- QR Code Payments: Customers can pay invoices using the Swiss eBilling QR code, making transactions quick and hassle-free.
- Automatic Reconciliation: Payments received in the bank account are automatically reconciled using the Swiss eBilling QR code SWICO part and marked as paid, providing transparency and accuracy in financial records.
User experiences
Online Booking and Invoicing System for Personal Training Services end to end journey.
QR Invoicing end-to-end-process
- The debtor places an order with the supplier / service provider.
- The supplier / service provider issues an invoice in the form of a QR-bill.
- The invoice recipient pays the QR-bill by either scanning the QR code, which automatically fills in the payment data, or by manually entering the payment using the textual details on the payment slip.
- The debtor's bank debits the debtor's account.
- The payer's bank sends the payment to the payee's bank via the clearing system.
- The payee's bank credits the incoming payment to the payee's account.
- The debtor's bank reports the account debit to the debtor using the desired account report.
- The creditor's bank reports the incoming payment to the creditor by means of the requested account report.
- The debtor checks whether the debit matches the QR-bill.
- The creditor checks whether the credit note matches the invoiced amount.
Day 2: Development and Implementation
With a clear plan in place, we moved on to the development phase. Utilizing tools like Power Apps, Power Automate, and Dataverse, we built a robust system that supports the entire booking and invoicing workflow.
User experiences
Technical Highlights
Dataverse Environment
- Data Model: We designed a comprehensive data model to manage accounts, contacts, invoices, and products. This ensures all necessary attributes for eBilling are captured and processed accurately.
- Connectors: Integration with Outlook, Teams, and Microsoft Bookings enhances functionality and user experience.
Power Automate Flows
- Service booking to invoice: Automate to get new service bookings and create a draft invoice.
- QR Code Generation: Automated generation of QR code invoices.
- Email Delivery: Sending invoices with QR codes to customers.
- Payment Reconciliation: Automatic reconciliation of paid invoices from the bank account extract.
Security Model
- Roles: Defined security roles for personal trainers, back-office employees, and administrators to ensure data privacy and access control.
Architecture blueprint
QR Code Generation: Automated generation of QR code invoices.
Using Power Automate to read 1) the business unit data (IBAN, UID, Name, Bill To Address), 2) the customer data (Customer No, Name, Address) and the 3) invoice data (Invoice No, Due date, Amount, Payment terms). Generate the QR Code Link
PowerFX function ...
concat(
variables('invoicePayableToIBAN'), ',S,',
variables('invoicePayableToName'), ',',
variables('invoicePayableToStreet'), ',,',
variables('invoicePayableToPostalCode'), ',',
variables('invoicePayableToCity'), ',CH,,,,,,,,',
variables('invoiceAmount'), ',CHF,S,',
variables('invoicePayableByName'), ',',
variables('invoicePayableByStreet'), ',,',
variables('invoicePayableByPostalCode'), ',',
variables('invoicePayableByCity'), ',CH,NON,,',
variables('invoiceComment'), ',EPD,%2F%2FS1%2F10%2F',
variables('invoiceNo'), '%2F11%2F',
variables('invoiceDueDate'), '%2F20%2F',
variables('invoiceCustomerReference'), '%2F30%2F',
variables('invoicePayableToUID'), '
?op=downloadpdf&filename=', variables('invoiceNo'), '.pdf'
)
generates the link ...
... and outcomes a QR-Code bill
Conclusion
Our two-day hackathon resulted in a powerful online booking and invoicing system that addresses the needs of personal trainers and their customers. By leveraging modern technologies and innovative solutions, we created a platform that simplifies booking, invoicing, and payment processes, ultimately enhancing the overall user experience.
We are excited about the potential impact of this system on the personal training industry and look forward to further developments and refinements. Stay tuned for more updates and insights from our team!
Feel free to share your thoughts or ask any questions about our hackathon project!
Special thanks goes to Andreas Bilger who invented QR-Rechnung.net as free product. Contact Email: info@qr-rechnung.net
Trademarks
- «QR Code» is a registered trademark of DENSO WAVE INCORPORATED.
- «QR-Rechnung» and «Swiss QR Code» are registered trademarks of SIX Interbank Clearing AG.
References
- Microsoft Bookings | Microsoft Learn
- Microsoft Bookings API overview - Microsoft Graph | Microsoft Learn
- QR-Rechnung Schweiz | Erstellen und Scannen | Gratis und ohne Registrierung
- QR-Rechnung und Einzahlungsschein erklärt
- Use Word templates to create standardized documents - Power Platform | Microsoft Learn
Contact us
Lorem ipsum dolor sit amet, consectetur adipiscing elit.