Skip to content
Web apps

Booking system development: appointments, capacity and payments

A custom booking system costs €5,990–15,000 with me and is usually live in 6 to 10 weeks – considerably more than an off-the-shelf appointment booking tool on a subscription. It pays off when your booking logic is out of the ordinary: capacity that depends on several factors, resources such as rooms or vehicles, seasonal pricing, or bookings that your team has to approve. This guide shows when a standard tool is enough, what a system of your own has to do technically and where the typical pitfalls lie.

Published
Last updated:
Reading time
7 min read
Author
By Maurice de Felice, web developer in Augsburg, Germany

When is an off-the-shelf booking tool enough?

If customers book an appointment with one person or in one room, duration and price are fixed and you have no special rules, an off-the-shelf appointment booking tool is almost always the more economical solution. It can be embedded in your website, sends reminders and is set up within a few days.

Keep an eye on data protection, though: many tools store customer data on servers outside the EU or use tracking. Ask for a data processing agreement and embed the tool so that it only loads after a click.

When is a booking system of your own worth it?

  • Capacity depends on several factors – staff, rooms, equipment and vehicles all at once.
  • Prices change by season, duration, group size or customer group.
  • Bookings are not confirmed immediately but checked and approved by your team.
  • Customers have an account with a history, credit or subscriptions.
  • Booking data should flow straight into your inventory management, your accounting or a customer portal.
  • Booking itself is your product – for example on a marketplace or a rental platform.

What does a booking system have to do technically?

Building blocks of a custom booking system. Prices: €5,990–15,000 as a starting point. All prices are final prices; as a small business under § 19 of the German VAT Act, I do not charge VAT.
Building blockWhy it matters
Availability and capacityShows only what is genuinely free – across all resources
Protection against double bookingsTwo customers must never get the same slot at the same time
Reservation with a time limitA slot is held briefly until payment is complete
Payments, cancellations, refundsMoney and booking status must always match
NotificationsConfirmation, reminder, change – by email, and by text message if required
Admin areaYour team sees, changes and approves bookings
Calendar exportBookings appear in Outlook, Google Calendar or Apple Calendar

Building blocks of a custom booking system. Prices: €5,990–15,000 as a starting point. All prices are final prices; as a small business under § 19 of the German VAT Act, I do not charge VAT.

How do you prevent double bookings?

It sounds trivial, but it is the most common flaw in home-grown systems: two customers see the same free slot, click “Book” almost simultaneously – and both receive a confirmation. A check in the interface asking “Is the slot still free?” is not enough to prevent that.

The reliable solution lives in the database: the booking runs inside a transaction that locks the affected record until it is complete. I used exactly this principle for the credit system of the auction platform YachtBrokerBid: every booking runs in a database transaction with a row lock, which rules out double charges and negative balances even with parallel requests. The platform also has deadlines and a limited number of bid slots per auction – the same kind of logic that governs capacity in a booking system.

How are payments integrated securely?

I integrate payments via Stripe. On YachtBrokerBid, payment runs through Stripe Hosted Checkout: after payment, the server verifies the session directly with Stripe before anything is credited, and a regular reconciliation catches payments where someone closed the browser before being redirected back.

For a booking system, that means a booking only counts as confirmed once the payment has been confirmed on the server. Until then the slot is reserved but not allocated. Cancellations and partial refunds need clear rules that are settled in advance – otherwise they turn up later as special cases in the code.

How does the development of a booking system work?

  • Initial call: what is being booked, by whom and under which rules? That includes opening hours, buffer times, minimum and maximum durations and cancellation terms.
  • Writing down the rules: every special case goes on a list before any programming starts – they determine the fixed price more than the interface does.
  • Data model and availability logic first, including protection against double bookings and automated tests for exactly that case.
  • Booking flow, payments and notifications, tested at a separate address.
  • A trial run with a few real bookings, then launch for all customers.

What does a custom booking system cost?

As a web app, a booking system starts at €5,990 with me. A system with one resource and fixed times sits at the lower end; one with payments, several resources, approvals and a connection to your software costs correspondingly more. The typical range for web apps is €5,990–15,000; the cost calculator shows the range that results from payments, roles and integrations.

How to keep the first version lean is explained in the guide MVP development; for customer accounts with a history, it is worth reading Customer portal development.

What do clients often ask?

Yes. Bookings can be exported as a calendar file or shown in Outlook, Google Calendar or Apple Calendar via a subscription link. Two-way synchronisation takes more work and is listed separately in the fixed price.

With me from €5,990, typically €5,990–15,000 – depending on resources, payments, approvals and integrations. All prices are final prices; as a small business under § 19 of the German VAT Act, I do not charge VAT.

Yes, for simple appointment booking that is usually the best solution. Pay attention to data protection, a data processing agreement and an embed that only loads after a click.

A clearly scoped system is usually live in 6 to 10 weeks. Payments, several resources and integrations extend the timeline.

Planning a project?

In a free initial call you get an honest assessment of scope, timeline and a fixed price – by video, or in person in Augsburg and Munich. I usually reply within 24 hours.

Maurice de Felice, web developer in Augsburg, Germany

About the author

Maurice de Felice

Freelance web developer in Augsburg, Germany. By day a backend developer at one of Germany’s largest comparison portals; as a freelancer I build websites, web apps and SaaS platforms with Laravel and React – for example the SaaS platform YachtBrokerBid. More about me

More guides: How much does a website cost in 2026? Prices, examples and cost drivers · Getting a website built: freelancer, agency or website builder? · How long does it take to have a website built?

Contact

Tell me what you need

Tell me what you are planning – a new website, a web app or changes to an existing one. I usually reply within 24 hours with a first assessment and a suggested time for a free initial call; after that you receive a fixed-price offer. I am based in Germany and work in English or German.

Send a message

What should be built, by when, and is there an existing website? Plus a quick note on how you found me.

I only use your details to answer your enquiry – you can request information or deletion at any time. Details in the privacy policy (German).