Booking Buddy is a crucial tool that I developed for my business to manage client booking.
Booking Buddy performs the following functions:
- Creates n number of bookings
- Transforms raw booking form data to n number of bookings in the required format.
- Create and update clients booking buddy sheets (where clients can view their bookings)
- Send triggered or automated emails to notify clients that their bookings were updated, and to notify clients about upcoming bookings,
- Update every client booking buddy with 1 click
Why did I develop this tool?
Well, it is fun!
Secondly it is free.
The available tools for booking systems, like calendly, are powerful, but the pricing models of NDIS specific systems see costs scale inline with the number clients and staff.
This didn’t fit our business model.
Some clients may not access our service for a few months, or some access a limited number of services.
This trend is with the resulting economics suggesting a mixture of systems to manage client bookings.
The mixture of systems approach in our business case would be a ticking time bomb.
Thirdly, having our own custom system built on top of App Script means we can take advantage of Google’s productivity suite, enterprise security and availability… for no added cost. The biggest productivity gain we experienced is being able to utilise Google sheets to quickly update large numbers of bookings without building additional tooling.
Drawbacks
The main drawbacks are
- Time spent in development - this is the biggest drawback
- Client booking buddy sheets usability - displaying of the data is not ideal as it requires users to zoom in and scroll across to get required info. This has led to client errors where bookings were missed or misunderstood
- Admin user and tool errors - as this tool is custom to our needs and built for a select few admin user/operators, errors can and have occurred that may not be obvious. For example, duplicate bookings are often created when the same raw booking form data is transformed. The fix for this was kind of hacky, with duplicate rows being excluded when updating clients.
What needs to change
Since the tool is crucial and in use, its current core functionality must remain intact and available. The planned Version 3 updates centre around two areas: Major refactor & new features
Major refactor
There are many areas in the code need new life. The current paradigm is very much based in functional programming. Although adequate, this approach is more brittle, has severely strained maintainability, and increases difficulty to introduce new features. So first I’ll be converting the codebase to an OOP approach.
Areas to test
- Sheet creation
- Error only with gigi: not adding email
- All bookings
- Sort by Date
- Sort by Name
- Update All Booking Buddy’s
- Clean up old bookings (not implemented)
- Search results
- Save & Retrieve bookings
- Update this clients booking sheet
- Send Update Email
- Create Bookings
- Frequencies
- Adds booking id and client id
- Raw data
- Add client uuids (not implemented)