Skip to content
Aldridge Dagos Get in touch

CASE 09

Scheduling & Booking Suite

This owned booking suite controls the path from open slot to verified meeting link and rejects overlapping reservations inside the database transaction.

Role
Scheduling logic, payments, and booking product
Client
Internal and client-facing deployments
Year
2026
Stack
Web app · Database · Calendar + video
Status
Live in production

01 The problem

Two businesses booked on rented tools. The tools worked, and the businesses owned nothing. The booking, the meeting link, the confirmation, the calendar invite, the record, all of it lived inside software they could not change. Every month they paid to keep using it, and every month they walked away with nothing of their own. When two people grabbed the same slot, someone had to notice, apologize, and rebook by hand. The rules belonged to the vendor, and so did the data. If a price changed or a feature vanished, they had no say. They wanted the whole flow to be theirs, from the first open slot to the meeting link to the logged record.

02 The system

A booking system they own. A visitor opens one link, picks a meeting type, and sees slots available at the time of the check. The slot locks in the database before the internal booking writes. The meeting link is created, then the confirmation, calendar invite, and team notice go out. One version runs company-wide from a shared page. The client-facing version also checks connected calendars before offering a slot. The page, database, meeting link, and booking record stay under the owner’s control.

03 How it holds up

An exclusion constraint rejects a conflicting reservation inside the database transaction, following the database-first pattern for preventing double bookings. An online booking confirms only after a joinable meeting link is verified. The client-facing build runs an automated test suite in continuous checks. Six workflows cover new bookings, cancellations, reminders, error handling, a recurring health check, and repairs for defined common faults. Requests are signed, and actions record reversible state where the workflow supports it.

04 The result

Both businesses moved the core scheduling flow into an owned system, from the open slot to the meeting link and logged record. The database rejects overlapping internal reservations, while connected-calendar checks reduce external conflicts. Reminders, confirmations, and health checks run through the defined workflows.

05 Frequently asked questions

How do you stop double bookings in a booking system?

Enforce the rule in the database, not the application. Every booking here is written through a database function with an exclusion lock, so an overlapping slot is rejected before it can be saved. No matter how the request arrives, the second booking fails, so a double-booking cannot be written.

The booking does not confirm. An online booking holds the slot, creates the video meeting, and only confirms once a real, joinable link is verified. If the link cannot be made, the system fails closed and tells the person, so a confirmation never points at a meeting that does not exist.

Why build your own booking system instead of renting one?

Ownership. On a rented tool, the rules, the data, and every step from open slot to logged record belong to the vendor, and a price or feature can change without your say. An owned system puts the page, the database, the meeting link, and the record in your hands, so any part can be changed.

How does the suite reduce clashes with an existing calendar?

The client-facing version checks connected Google or Outlook calendars before offering a slot, and the database rejects overlapping internal reservations. An external calendar can still change between the availability check and final write, so the workflow records failures and returns a clear response instead of claiming every outside race is impossible.

· How it works

  1. 01

    Pick a time

    A visitor opens one link, picks a meeting type, and sees only real open slots.

  2. 02

    The slot locks

    The booking is written inside a database lock that rejects any overlap before it can happen.

  3. 03

    The meeting is created

    A video meeting link is generated, and the booking only confirms once a real link exists.

  4. 04

    Everyone is told

    Confirmation, calendar invite, and team notice go out on their own, with no person in the loop.

  5. 05

    Conflicts stay clear

    Live checks block any slot that clashes with a connected Google or Outlook calendar.

· Results

Double-booking
Blocked at the DB
Verification
Automated suite + CI
Status
Live in production

1. Bookings are written through a database function with an exclusion lock, so two people cannot take the same slot.

2. An online booking holds the slot, creates the meeting, and only confirms once a real, joinable link is verified, or it fails closed and says so.

3. Six workflows cover new bookings, cancellations, reminders, a health check, error handling, and repairs for defined common faults. Actions use signed requests and record reversible state where the workflow supports it.