Online booking for small businesses
- Client
- Järvenpää Digital Solutions
- Year
- 2026
My own booking product, installed on the business’s own web hosting. Customers book, move and cancel appointments themselves, with no monthly fee for the system.

Goal
In a small business such as a hair salon or a massage therapist, appointments are often booked by phone, and the phone rings exactly when your hands are full. Ready-made booking services solve this, but they usually charge a monthly fee for as long as the business runs. I wanted a booking system that is installed on the business’s own web hosting, has no monthly fee and is simple enough for the owner to run.
Solution
For customers:
- Choose a service, a free time and optionally a staff member in a few clicks
- A confirmation arrives by email right away, and a reminder before the appointment
- Move the booking to another time or cancel it without calling
- Find the booking with the booking number and phone number, even if the confirmation email is lost
For the business:
- Services, prices, durations, opening hours, breaks and holidays are edited in the browser
- Each staff member, chair or room can have its own hours and absences
- Extra time can be reserved after a service for cleaning or notes
- Bookings made over the phone go into the same calendar, so they block overlapping bookings too
- An email notification for every new, moved and cancelled booking
How double bookings are prevented
The tricky case is two customers booking the same time at the same moment. If a system first checks whether a time is free and only then saves the booking, both can see the time as free. Here the database handles bookings one at a time. The second booking waits until the first has been saved, and only then checks whether the time is still free. Two customers cannot get the same time, even if they confirm within the same second.
Why shared hosting
Most small businesses already have web hosting for email and their website. The booking system is installed on the same hosting at its own address, such as book.business.fi, and the existing site links to it. The look is matched to the business’s logo and colours. Confirmations are sent from the business’s own email address.
Privacy
Customer data is stored on the business’s own hosting, not in a third-party booking service’s database. The system collects only what a booking needs, and the privacy notice lists it. Bookings older than a year are deleted automatically.
Technical implementation
The system is built with PHP and MySQL without a framework, so it runs on ordinary shared hosting as is. The calendar logic is kept separate and covered by automated tests: opening hours, breaks, several staff in parallel, extra time and daylight saving changes in both directions. Times are stored in UTC and converted to Finnish time only for display, so a change in server settings cannot shift bookings. Forms are protected against spam, and booking lookups are rate-limited so booking numbers cannot be guessed. The interface is in Finnish.
Outcome
The business pays only for the web hosting it already uses. There is no monthly fee for the booking system and no charge per booking or per user. Customers can book when nobody answers the phone, and the owner edits services and hours in the browser.
Pricing and details are on the services page.
- PHP
- MySQL / MariaDB
- JavaScript
- Cloudflare Turnstile