| Delegate | Category | Organisation | Registered | Status |
|---|
| Delegate | Ticket ID | Category | Contact | County | Status | Actions |
|---|
| Time | Delegate | Ticket ID | Result |
|---|
Choose how to send emails based on your setup. PHP Backend is the recommended mode when the backend is deployed — it sends directly from the server. Mailto fallback opens your local email client and works without any backend configuration.
backend/api/send-bulk.php. Requires BACKEND_URL set and SMTP configured in config.php. Use SendGrid, Gmail, Zoho, or any SMTP provider.
Resend the ticket email to a specific delegate by their ticket ID or email address.
Send a mass WhatsApp message to all delegates in the selected group. Requires WhatsApp Business API (Twilio, Meta, etc.) – configure in config.php.
Changes apply immediately across the public site, ticket emails, account dashboard, and scanner app — all read from this shared configuration.
Upload a PNG or JPEG logo to replace the default illustrated mark across the site, tickets, and scanner app. Recommended: square image, at least 240×240px, transparent background (PNG) for best results.
No custom logo uploaded — using the default illustrated mark.
Loading device status...
When the database backend is connected, exports pull from MySQL — all registrations and scans from every device. Without a backend, exports reflect this browser's local storage only.
Note: "Reset Local Data" clears this browser's localStorage only. To truncate the shared database, connect to MySQL directly via your hosting control panel.
Current demo credentials: username admin, password kmeat2026. Before going live:
- Generate a real bcrypt hash:
php -r "echo password_hash('yourpass', PASSWORD_DEFAULT);" - Update the admin_users table in MySQL with this hash
- Set a strong random api_key in
config.php - Restrict BACKEND_URL CORS to your actual domain in
api/_bootstrap.php