Case study

TidyBookings

Bookings and daily schedules for small service businesses.

Public beta Laravel Livewire Filament Laravel Zap MySQL Queues
TidyBookings case study architectural model

TidyBookings gives small service businesses one place for appointments, staff, services, clients, and availability. Customers can book online and manage changes through secure links.

I

Overview

TidyBookings is a scheduling system for businesses that sell time-based services. Staff manage the working day from a business dashboard, while customers use a guided public booking flow. The same scheduling rules support both sides, which reduces differences between displayed availability and accepted bookings.

II

What It Does

A business can configure services, staff, recurring availability, blocked periods, clients, bookings, waitlists, and marketing campaigns. The public flow guides a customer through service, staff, date, time, contact details, and confirmation. Secure management links let customers reschedule or cancel within business policy. Invitations and roles support teams and multiple businesses.

III

Technology

Laravel provides the multi-business domain model, authorization, validation, and booking services. Livewire powers the booking flow and daily administration screens. Laravel Zap represents recurring availability, duration, buffers, and schedule exclusions. MySQL stores business and booking data. Queued jobs send lifecycle emails, reminders, waitlist notices, and campaigns after database changes are complete. Filament supports administration and permission management.

IV

How It Was Built

A dedicated availability service turns recurring schedules into bookable time slots. It applies service duration, staff choice, capacity, buffers, existing bookings, and blocked periods. The booking flow checks a slot again before it creates the appointment. Lifecycle email jobs run after the database transaction commits, and reminder jobs verify the expected start time before sending.

V

Main Challenge

Availability changes whenever a booking, staff schedule, or service rule changes. The application must prevent overlapping appointments while two customers can view the same slot. Time zones, cancellation windows, capacity, and buffers add more edge cases. Customer management tokens rotate after rescheduling and become invalid after cancellation. Business authorization also keeps each team inside its own records.

VI

Connection to Imperiorum

TidyBookings provides private aggregate booking and activity totals to Imperiorum. It does not send client names, contact details, or appointment notes. The connection gives the portfolio a product-level view while preserving customer privacy.

VII

Result

The result is a practical booking workflow built around one consistent availability model. Customers receive clear self-service options, and staff retain control over schedules and policies. Background jobs handle communication without delaying the booking response, while retry checks reduce stale or repeated messages.