- Full Stack
- Booking Platform
- SaaS
BookaSolutions
Booking software for equipment and rentals: live availability, payments, deposits and handovers in one system.

- Client
- Booka Solutions
- Industry
- Equipment & rental hire
- Platform
- Custom web application
- Status
- Live
Overview
Project overview
Booka is a booking platform for organisations that hire out equipment, vehicles and other assets. Customers see what is available, choose their dates and pay online. Staff manage every booking, payment and handover from one dashboard.
It is the clearest example of the kind of work I now focus on: a complete product, not just a website. It covers the customer booking journey, payments, accounts, administration and automated email.
The challenge and the solution
The challenge
Organisations that lend or hire out equipment often run bookings across spreadsheets, email threads and paper forms. Things get missed, work is done twice, and assets sit unused because nobody can see what is actually available.
They needed one place to take bookings, collect payments and deposits, and track handovers, without adopting a generic tool that doesn't fit how they work.
The solution
I built Booka as a single booking flow and admin system. Each organisation gets a branded booking page where customers choose an item, check live availability, pick dates and give the details the organisation needs.
Behind it, staff get a dashboard to manage bookings, payments, handovers and follow-up, with list and calendar views, filters and CSV export. Booka is set up around each organisation's own rules, pricing and approvals.
Key features
What it does
Live availability
Customers and staff can see what is free, booked or not ready to go before anyone commits.
Payments and deposits
Payments and deposits are taken in one checkout as part of the booking.
Stripe
Flexible pricing rules
Prices can vary by item, customer type, booking length or use case. Approved groups can book for free.
Collection and returns
Simple check-out and check-in steps keep handovers clear and accountable.
Custom booking forms
Collects the information, forms or approvals an organisation needs before a booking is confirmed.
Automatic emails
Confirmations, reminders and follow-ups go out without anyone having to remember to send them.
Admin dashboard
One view of every booking with status, revenue, list and calendar views, saved filters, search and CSV export.
Secure staff sign-in
Staff sign in with Google, with separate user management for each organisation.
Google Sign-In
Multiple organisations
Each organisation (tenant) runs its own branded booking page and settings on the same platform.
System / user flow
How it works
- 1Choose itemPick the equipment or vehicle
- 2Select datesCheck live availability
- 3Booking detailsForms, approvals, customer type
- 4PaymentPayment or deposit via Stripe
- 5ConfirmationAutomatic email
- 1DashboardBookings, revenue, status
- 2Calendar & listFilter, search, save views
- 3ManageHandovers, emails, cancellations
- 4ReportExport to CSV
Technology
Built with
- React
- Vite
- Firebase
- Stripe
- Google Sign-In
- Cloudflare
I choose the platform to suit each organisation: WordPress or Shopify when the team wants to manage everything themselves, and custom applications when the workflow needs something built specifically for it.
Gallery
Screens




Results
The outcome
- A live, multi-organisation booking platform in production, including a branded deployment for 1st Cathays Al-Huda.
More work

- Website
- Booking Platform
1st Cathays Al-Huda
A community website with sections, shop, donations and volunteering, connected to a separate custom booking platform for equipment and vehicle hire.
- Booking Platform
- Healthcare
Nouvelle Esthetique
Patients choose a doctor, treatment, location and time, then pay online. Doctors approve bookings and manage their own schedules.
- EdTech
- LMS
Roots Academy
Learning management, course registration, payments, Google Workspace and a QR-code classroom questionnaire system.
Need something similar?
Tell me about your organisation and what you're trying to achieve. I'll explain how I'd approach it.

