Booking systems and calendars

Do you need a booking system that handles your real calendar and capacity, not just a contact form?

I build booking systems for service businesses: massage and wellness studios, clinics, consultants, courses and rentals. Slots, capacity, deposits, cancellations and reminders follow your actual rules.

A booking looks like a simple form until you run it for real. Then it turns out one treatment takes twenty minutes and another a full hour, that every client needs fifteen minutes of preparation afterwards, that two therapists share a single room, and that some slots may only be booked with a payment upfront. Ready-made widgets either do not know these rules or work around them, which is how you end up with overlapping entries in the calendar and a client arriving when nobody is free to serve them.

I have been building booking and registration systems for 19 years, and the value is always in the rules, not in a pretty calendar. So I start from your operating day: who serves clients, which resources they need, what may overlap and what never can. The data model and the interface come after that. The result is a system you trust enough to stop checking every single booking by hand.

01

Calendar, capacity and slot rules

The foundation is a model of resources and time. Every service has its own duration, preparation and clean-up, every staff member their schedule, holidays and exceptions, every room or piece of equipment its own occupancy. The system then offers only the slots that are genuinely free across all required resources at once. I also handle the usual traps: last-minute bookings, minimum notice, how far ahead people may book, public holidays, seasonal opening hours or slots available only to selected clients. The rules are visible in the admin, so you can change them without calling me.

  • Service duration, preparation and buffers
  • Multiple staff, rooms and equipment
  • Minimum notice, holidays and exceptions
  • Group slots with limited capacity

02

Deposits, payments and cancellation terms

No-shows are the most expensive line in a service calendar. That is why the system can request a deposit or full payment upfront through a payment gateway, either always or only for the slots where it makes sense. Cancellation terms follow your policy: free cancellation up to a deadline, after which the deposit is forfeited or moved to another slot. Each client gets their own link to manage the booking, so rescheduling happens without a phone call to you. Every change is recorded, so if a dispute comes up you know exactly what happened and when.

  • Deposit or full payment via gateway
  • Cancellation deadlines and forfeited deposits
  • Self-service rescheduling
  • Full change history on every booking

03

Reminders, confirmations and communication

Automatic communication reduces no-shows more than any rule ever will. The system sends a confirmation right after booking, a reminder the day before and, where it helps, a short message a few hours ahead. E-mails and text messages carry your wording and identity, not a generic template with someone else's logo. Confirmations include a calendar attachment, directions and any instructions you would otherwise dictate over the phone. When a booking is cancelled or moved, both the client and the staff member are notified, so the schedule never drifts from reality.

  • Confirmation, reminder and follow-up
  • E-mail and SMS under your own identity
  • Calendar attachment and pre-visit instructions
  • Both client and staff always informed

04

Proven on a registration for 360 participants

For the client alttag I built a registration system for an event with three hundred and sixty participants. Registration ran in waves, participants were split into groups automatically as capacity filled, couples stayed together, and the system moved free places between slots on its own so no capacity was wasted. The organiser had a live view of how full each wave was, plus exports for attendance lists. The same logic sits behind bookings for courses, rentals or group classes, where capacity is shared and a mistake in the rules shows up immediately.

  • Registration waves and automatic groups
  • Shared capacity and waiting lists
  • Live overview and exports for the organiser

05

Technology, price and how we work

A smaller operation is covered by WordPress with a custom plugin; a larger system with several branches, roles and payments I build in Laravel. In both cases you own the code and the data and you do not pay a foreign platform a monthly fee per staff member. My rate is EUR 40 per hour including VAT. A simpler booking system typically lands between 15 and 30 hours, a solution with payments, multiple resources and integrations between 30 and 70 hours. You get the scope and the stages in writing before work starts.

  • WordPress plugin or Laravel application
  • Rate of EUR 40 per hour including VAT
  • Roughly 15 to 70 hours depending on scope
  • You own the code and the data

?

Common questions about booking systems

How much does a custom booking system cost?

At EUR 40 per hour including VAT, a simpler system usually lands between 15 and 30 hours. With payments, multiple staff members and a link to an existing calendar, expect 30 to 70 hours. You get a precise estimate once we have gone through your rules.

Can it handle several staff members and rooms at once?

Yes. A slot is only offered when every required resource is free: the staff member, the room and the equipment. Each resource has its own schedule and exceptions, so overlaps cannot be created even by a manual entry.

Can I require a deposit upfront?

You can. The system can request a deposit or the full amount through a payment gateway, either always or only for selected services and slots. We set the cancellation terms so a no-show does not cost you a whole block in the calendar.

Will bookings sync with Google Calendar?

Yes, two-way sync with Google or Outlook calendars is a standard part of the build. Staff see bookings where they are used to looking, and private events in their calendar automatically block those slots.

Can the system be extended later?

I design for that from the start. Bookings are most often extended with loyalty discounts, packages, season passes or a link to invoicing. The solution is documented, so another developer can take the extension on as well.

Want a calendar you can finally rely on?

Tell me how bookings reach you today and which rules must hold. I will propose a model, a scope and an estimate.

Discuss bookings