🌐 Live public demo

Demo mode turns a spare, throwaway WordPress site into a safe, self-resetting public demo of Pavilion — ideal for a marketing website where prospective clubs can try the software before they buy. It is exactly how the official Pavilion demo runs.

Turning it on

Demo mode is off by default and can only be switched on from the server. On the demo site — never a real club site — add this one line to wp-config.php:

define( 'PVL_DEMO_MODE', true );

As soon as it is active, Pavilion does the following automatically:

  • Seeds a full sample club — members, rinks, bookings, a rota, matches, leagues, guests, notices and accounts.
  • Creates a Live Demo page (at /demo/) with the shared login shown on screen and a one-click “Enter the demo” button. The login also carries an optional opt-in checkbox — visitors who tick it agree to their name and email being used to show their activity to the Pavilion team for future improvements; those who don’t can still explore, anonymously.
  • Blocks every outgoing email so nothing ever leaves the sandbox.
  • Makes all club settings read-only for the demo visitor (data can be edited, settings can’t), so the demo stays tidy for the next person.
  • Strips dangerous WordPress powers (installing plugins/themes, editing users, exports/imports) from the demo login.
  • Wipes and re-seeds the data on a schedule — every 2 hours by default — and also whenever a visitor lands on a stale demo.

Changing the reset frequency

Go to Settings → System → Demo Data, in the Live public demo panel, and set how many hours between resets (1–72). To lock it from the server instead, add define( 'PVL_DEMO_RESET_HOURS', 2 ); to wp-config.php — the on-screen control then shows as locked.

The members’ app in the demo

The dashboard QR code signs a phone straight into the members’ app, so visitors can add it to their home screen and try it like a native app — still inside the sandbox, still resetting.

Only ever enable demo mode on a dedicated demo site. It shares one login between all visitors and resets the data regularly, so it must never point at a real club’s database.