The Bookatu blog
Practical, no-nonsense advice for service businesses. Cutting no-shows, building steady income, getting found online, and keeping more of what you earn.
Money math in integer cents, and the discount that vanished
We gave a fifty-cent discount and the ledger recorded none of it. Floating point was not even the culprit. A field guide to doing money arithmetic with integers: clamping, proration, and making a ledger of unit prices sum to the exact total.
A seeded sandbox beats a copy of production
Our whole local environment is an in-process Postgres that boots from empty, applies real migrations, and fills itself with a convincing fake salon. No production credentials on laptops, no real client data in screenshots, and a demo that never goes stale.
The dropdown that refused to be clicked
A menu rendered perfectly, sat exactly where it should, and swallowed every click. The culprit was an entrance animation that never really ended. A short tour of CSS stacking contexts, animation fill modes, and how to hunt bugs you cannot see.
Dashboard charts with zero dependencies
We built the trend lines, sparklines, and category bars on our dashboard as plain inline SVG. No chart library, a few hundred lines total, dark mode for free. Here is the case for hand-rolled charts, and for when you should absolutely not do this.
Test the pixels: screenshot QA for a small team
Our test suite was green and the dropdown was unclickable. Unit tests cannot see stacking bugs, dark-theme breakage, or mobile overflow. Here is the small screenshot rig that now looks at every surface for us, and the visual bugs it catches that tests never will.
Loyalty points that quietly bring clients back
A points program does not need punch cards or a separate app. Turn on loyalty, set what a visit and a dollar are worth, and let regulars earn their way to a credit they will come back to spend.
Before and after photos, kept where you will actually find them
Your camera roll is not a filing system. Keep before and after photos on the client's profile, private to your team by default, so last visit's work is one tap away at the next appointment.
The QR code on your counter that books clients while you work
Every 'I'll book later' is a booking you might not get. A QR code on the counter, the mirror, or the window sends people straight to your booking page while the intention is still warm.
Offer online sessions and let the video link make itself
Mark a service as an online video call and every booking for it gets its own Google Meet link in the confirmation email. Here is how a personal trainer kept the clients that distance was costing him.
Ring up counter sales in a few taps, discount included
A client at the counter wants the serum you just used and a top coat to go with it. Here is how to ring that up in a few taps, take 10 percent off on the spot, and have the sale land in your books the moment it happens.
Airy for a spa, bold for a barber: choosing a look for your booking page
Your booking page should feel like your shop, not like a template. Bookatu comes with six shop-front looks. Pick one in settings, preview it in your own brand colour, and save. Your layout and your colours stay exactly where they are.
Promo codes that fill a quiet week and tell you what worked
A code that expires tonight can fill this afternoon's chairs. Give it a channel and every booking it brings is counted, so next month you are not guessing whether the post worked. You read it in a table, in dollars.