Skip to content
ESC

Searching...

Quick Links

Type to search • Press to navigate • Enter to select

Keep typing to search...

No results found

No documentation matches ""

Time Slot Booking.

Appointments with staff members. The customer picks a service, a staff member, a date, and a time slot. The most common booking pattern.

Apr 17, 2026

Time Slot Booking

The Time Slot pattern is for businesses where customers book appointments with specific staff members at specific times. This is the most common booking pattern.

Who uses this

  • Hair salons - Book a haircut with a specific stylist
  • Consultants - Book a 30-minute strategy call
  • Personal trainers - Book a training session
  • Therapists - Book a therapy appointment
  • Photographers - Book a portrait session

Setup

When creating a Time Slot business, the operator configures:

  1. Services - What can be booked (Haircut, Color Treatment, Consultation)

    • Name, duration, price, description
    • Which staff members can provide this service
    • Buffer time between appointments
  2. Staff members - Who provides the services

    • Name, title, photo
    • Weekly availability schedule (Mon–Sun, start/end times)
    • Break periods and days off
  3. Business hours - Default operating hours for the business

    • Used as fallback when staff doesn't have custom hours
    • Holiday and closure dates

The booking flow

The customer's journey through the booking page:

Step 1: Service selection

The customer sees all available services with name, duration, price, and description. They pick one.

Step 2: Staff selection

If multiple staff members offer the selected service, the customer picks their preferred person. Shows name, title, and photo. An "Any available" option is always present.

Step 3: Date and time

A calendar shows available dates. Dates with no availability are grayed out. After picking a date, available time slots appear. Slots are generated based on the service duration and the staff member's availability.

Step 4: Customer details

The customer enters their name, email, and phone number. Custom fields configured by the operator appear here (e.g., "Any allergies?", "How did you hear about us?").

Step 5: Confirmation

A summary shows the service, staff member, date, time, and price. The customer confirms. A confirmation email is sent immediately with a calendar link (.ics).

Admin management

Booking list

All bookings for this business in a filterable table. Filter by status (confirmed, completed, cancelled, no-show), date range, staff member, or service. Search by customer name or phone.

Calendar view

Day and week views showing bookings as blocks on a timeline. Color-coded by status. Drag to reschedule. Click to open booking details.

Booking detail

Full booking information: customer contact, service, staff, date/time, price, custom field responses, internal notes, and status history. Quick actions: confirm, cancel, reschedule, mark as no-show.

How availability works

  1. The system starts with the staff member's weekly schedule
  2. Subtracts existing confirmed bookings (including buffer time)
  3. Subtracts blocked-out periods (breaks, holidays)
  4. Generates slots matching the service duration
  5. When a customer selects a slot, MySQL row-level locking prevents double-booking

If a slot is taken between selection and confirmation, the customer sees remaining alternatives - not an error page.

Configuration

Key settings for Time Slot businesses:

  • Booking window - How far in advance customers can book (e.g., 30 days)
  • Minimum notice - How close to the appointment customers can book (e.g., 2 hours)
  • Buffer time - Minutes between appointments for cleanup/preparation
  • Auto-confirm - Whether bookings are confirmed automatically or require manual approval
  • Cancellation policy - How close to the appointment customers can cancel

One service per booking

Each booking is for a single service. If a customer wants a haircut and a color treatment, they book each service separately. This keeps the availability engine accurate - each service has its own duration, price, and eligible staff - and means rescheduling or cancelling one service doesn't affect the other.

Multi-service booking (selecting multiple services in one checkout flow) is not supported in the current version.

Ready to build?

One-time purchase. Self-hosted. Own every file forever.

Get VoxelBooking