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 ""

Demo Mode.

How the interactive demo works. Allowed actions, locked settings, email behavior, daily reset, and deployment configuration.

May 5, 2026

Overview

VoxelBooking includes a demo mode for hosted previews and Envato reviewer testing. When active, visitors can create bookings, change statuses, reschedule, and test email notifications — the full workflow. System and tenant configuration is locked to prevent misconfiguration by anonymous visitors.

The database resets daily to restore the showcase dataset.

Activation

Place an empty .demo file in the application root:

touch /path/to/voxelbooking/.demo

The file must be zero bytes. VoxelBooking only checks whether the file exists. To deactivate demo mode, delete the file.

What Visitors Can Do

  • Create bookings from any public booking page (all four patterns: timeslot, resource, capacity, event)
  • Cancel and reschedule bookings
  • Approve, complete, and cancel bookings from the admin panel
  • Log in with demo credentials and test authentication flows
  • Browse all admin pages, dashboards, calendars, and customer lists

What Is Locked

  • System settings — General, Email, Cron
  • Tenant settings — Branding, Booking page configuration, Notifications
  • Tenant user management — Invite, activate/deactivate users
  • Account password changes
  • Installation wizard and updates
  • GDPR deletion queue confirmation

When a locked action is attempted, a toast notification appears: "Settings are locked in demo mode."

Email Behavior

Recipient domain Behavior
.test, example.com, .invalid, localhost Suppressed — logged but not sent
Real domains (gmail.com, outlook.com, etc.) Delivered normally when a production mail transport is configured

Demo visitor emails to fictional seeded addresses are suppressed to prevent spam. Real reviewer addresses receive emails normally when SMTP or Resend is configured.

Mail credentials are configured in .env or your server's environment variables — not in the .demo file. The .demo file is only a zero-byte sentinel that activates demo mode.

Daily Reset

The demo database resets daily via a scheduled job. This drops all tables, re-runs migrations, and re-seeds the showcase dataset. Bookings created during the day are wiped, and all sessions are cleared.

Reset Script

# Full reset (drops tables, migrates, reseeds, clears sessions)
php scripts/reset-demo.php

# Preview only (no changes)
php scripts/reset-demo.php --dry

The script refuses to run if the .demo sentinel is missing, so it can never accidentally run on a production environment.

Automating the Reset

To run the reset automatically, add a cron job on your server. The exact method depends on your hosting provider (cPanel, Plesk, SSH, etc.):

# Example crontab entry — runs daily at 3:00 AM
0 3 * * * /usr/bin/php /path/to/voxelbooking/scripts/reset-demo.php >> /path/to/voxelbooking/storage/logs/demo-reset.log 2>&1

Replace /path/to/voxelbooking with the absolute path to your VoxelBooking installation. Use which php on your server to confirm the PHP binary path.

Demo Credentials

Account Email Password
Operator [email protected] welcome3210
Demo Studio (owner) [email protected] welcome3210
Hotel Marina (owner) [email protected] welcome3210
Trattoria Roma (owner) [email protected] welcome3210
Workshop Studio (owner) [email protected] welcome3210

UI Indicators

  • Admin topbar: An indigo "Demo Mode" pill appears in the header (dismissible per session)
  • Booking pages: A persistent banner reads: "Demo mode — changes are reset daily. Use your own email to test notifications."

Ready to build?

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

Get VoxelBooking