Skip to content

What's inside

One system,
every booking type.

Four booking patterns, unlimited businesses, branded pages, a full admin panel, and a customer CRM. Everything below runs on your server.

Admin calendar week view with color-coded appointment blocks per staff member, time grid, and daily booking density at a glance.
Mobile booking - Hotel date selector with check-in and check-out calendar, room availability, and nightly rate display.
Mobile booking - Restaurant table reservation with party size selection on smartphone.
Mobile booking - Workshop event registration with event listing and spots remaining on smartphone.
Flagship

Booking pages that look custom-built.

Every business gets a public booking page with their own brand colors, logo, and cover image. The page adapts to the booking pattern - time slot pickers for salons, date-range calendars for B&Bs, capacity selectors for restaurants. Fully responsive. Under 200KB.

  • Business brand colors, logo, and cover image
  • Mobile-first design, optimized for 375px
  • Embed widget for external websites
Booking page branding docs
Core architecture

One installation, multiple businesses.

Create a tenant setup for each branch or partner. Each setup is fully isolated with its own bookings, customers, staff, and settings. Manage all of them from one central dashboard — same codebase, one installation.

  • Database-level tenant isolation
  • Central dashboard for cross-tenant management
  • Isolated tenant user accounts for owners and managers
Business management docs
Operator dashboard showing all businesses with booking counts, status badges, and quick actions. Manage salons, hotels, restaurants, and workshops from one admin panel.
Admin calendar month view with color-coded booking blocks for confirmed, pending, and cancelled appointments. Staff columns, time grid, and click-to-open booking details.
Manage bookings

See the whole day at a glance.

Day and week calendar views with draggable bookings. Color-coded by status: confirmed, pending, cancelled, no-show. Filter by staff member or service. Click any booking for full details, reschedule, or cancel.

  • Day and week views with drag-to-reschedule
  • Status-aware color coding
  • Staff and service filtering
Calendar docs
Know your customers

Every customer, every booking.

See every customer's booking history, contact information, and internal notes. Phone-based deduplication prevents duplicate records. Quick actions for rebooking, calling, or emailing. Export to CSV for external CRM sync.

  • Full booking history per customer
  • Phone-based deduplication
  • Internal notes and quick actions
Customer CRM docs
Customer detail page showing contact information, total bookings count, booking history timeline, internal notes, and quick actions for rebooking and exporting data.
Bookings list showing confirmation status, customer information, service details, and status filters for all booking types.
Communications

Branded emails, automatic reminders.

Confirmation emails go out the second a booking is confirmed. Reminder emails before the appointment. Cancellation notices when plans change. Every email carries the business's brand - colors, logo, business name. Customers see "From: Salon Bella" - not "From: VoxelBooking."

  • Confirmation, reminder, and cancellation emails
  • Calendar .ics attachments
  • SMTP configuration per installation
Email system docs
Daily operations

The dashboard your tenants log into.

Today's bookings, upcoming schedule, recent customers, and quick actions - all in one view. Tenant managers see exactly what they need. Time slot businesses get a "Who's working today" panel showing staff availability at a glance.

  • Today's bookings count with status breakdown
  • Staff availability panel for time slot businesses
  • Quick manual booking creation
Admin panel docs
Business dashboard showing today's bookings count, upcoming appointments list, staff working today panel, and quick actions for manual booking creation.
Bookings list with status filters, date range picker, customer search, and color-coded status badges showing confirmed, pending, cancelled, and no-show bookings.
Full control

Every booking, every status.

Filter by status, date range, or customer. Click any booking for full details, reschedule, cancel, or mark as no-show. Manual bookings follow the same availability rules as public ones. Accidentally cancelled? Recover it back to confirmed.

  • Reschedule with full availability checking
  • Status recovery for accidental cancellations
  • CSV export for reporting and accounting
Booking management docs

Everything included.

Every feature below. No add-ons. No tiers.

Time Slot Booking

Appointments with staff members. Pick a service, pick a stylist, pick a time. Perfect for salons, consultants, personal trainers, and therapists.

Resource Booking

Date-range bookings for rooms, spaces, and equipment. Check-in and check-out dates, seasonal pricing, blackout periods. For B&Bs, hotels, meeting rooms.

Capacity Booking

Reservations with party sizes. Track remaining seats across time slots. For restaurants, escape rooms, tours, and tasting experiences.

Event Booking

Classes, workshops, and activities with participant limits, waitlists, and recurring schedules. For yoga studios, workshops, wine tastings.

Branded booking pages

Every tenant gets a public booking page with their own brand colors, logo, and cover image. Looks custom-built. Mobile-first. Under 200KB.

Multi-tenant architecture

One installation, unlimited tenants. Each tenant is fully isolated with their own bookings, customers, staff, and settings. Database-level tenant_id scoping.

Admin calendar

Day and week views with drag-to-reschedule. Filter by status, staff member, or service. Color-coded booking states.

No double bookings

MySQL row-level locking prevents concurrent bookings on the same slot. If the slot is taken, the customer sees alternatives - not an error page.

Branded emails

Confirmation, reminder, and cancellation emails with the tenant's brand color and logo. Customers see "From: Salon Bella" - not "From: VoxelBooking."

Customer CRM

See every customer's booking history, contact info, and notes. Phone-based deduplication across tenants. Quick actions for rebooking and communication.

Staff management

Add staff members with individual availability schedules. Assign services to specific staff. Customers choose their preferred person when booking.

GDPR compliant

Consent collection on the booking page, privacy policy linking, data access requests, right to deletion, and automatic anonymization after retention period.

Embed widget

Add a floating "Book Now" button to any website with one line of JavaScript. The booking flow opens in a branded modal. Works on WordPress, Wix, Squarespace.

Mobile-first design

70% of bookings happen on phones. Every interface is designed for 375px first. The booking page loads in under 1.5s on 4G.

Multi-language & RTL

Built-in internationalization with right-to-left support. The booking page respects the tenant's configured locale for date formatting and text direction.

Self-hosted

PHP 8.3+, MySQL 8.0+. No Redis, no Node.js, no external APIs. Deploy on any VPS or shared hosting. Your data never leaves your server.

Full source code

One installation.
Zero SaaS dependency.

Open source booking software with full source code.
Your server. Your data.

Every feature above. Every booking pattern. Multiple tenant support.

PHP 8.3+ · MySQL 8.0+ · Self-hosted · Multi-tenant
Server requirements