Platform Dashboard
Ruiha Labs Limited β Kete Koha overview
| Org | Slug | Plan | Status | Contact | Actions |
|---|
Tenant Management
Create and manage customer accounts
| Organisation | Slug | Plan | Status | Renewal | Contact | Actions |
|---|
Sign-up Leads
Potential customers from the marketing site
| Organisation | Contact | Phone | Plan Interest | Status | Date | Actions |
|---|
Discount Coupons
Manage promotional discount codes
Customer Onboarding
Step-by-step guide for bringing on new customers
Copy and customise this template after creating a tenant. Replace [PLACEHOLDERS] with real values.
Lead Submits Sign-up Form
Customer fills out the form on /rewa-raffles.html or /rewa-events.html. Account is created automatically and appears in the Accounts tab.
Review the Lead
Check the lead details in the Leads tab. Contact the customer if needed. Mark as "contacted".
Create Tenant Account
Go to Tenants tab β Create Tenant. Fill in org details. The slug auto-generates from the org name. Set a unique admin password.
Configure Raffle Settings
Use "Login As" to enter the customer's admin panel. Set up raffle title, draw date, ticket pricing, and prize baskets. Or do this together with the customer.
Send Welcome Email
Use the template above. Include their slug, admin URL, public raffle URL, and admin password. Mark the lead as "converted".
Customer Goes Live
Customer accesses /r/[slug] for the public page and /a/[slug] for their admin panel. Share the embed code if they want it on their own website.
Download All Data
Export all platform data as CSV files β one per table
Each table downloads as a separate CSV. Your browser may ask to allow multiple downloads β click Allow.
Deploy Guide
Technical setup and deployment instructions for Kete Koha
| URL | Purpose | Auth |
|---|---|---|
/ (index.html) | Kete Koha homepage β both products | Public |
/rewa-raffles.html | Raffles product page + signup | Public |
/rewa-events.html | Events product page + signup | Public |
/demo.html | Interactive mock draw demo | Public |
/r/[slug] (β /r/index.html?slug=[slug]) | Customer public raffle page | Public, iframe-embeddable |
/a/[slug] (β /a/index.html?slug=[slug]) | Customer admin panel | Password per tenant |
/setup.html | Master admin dashboard (Louise) | Master password |
/terms.html | Terms & Conditions | Public |
/guide.html | Public guide/help page | Public |
Slug-based Routing
Since this is a static site on Genspark, slug-based routing uses one of two methods: (1) Path detection via JS: /r/index.html reads the slug from pathname or ?slug= query. (2) If the platform supports sub-path index files, /r/[slug] maps to /r/index.html and JS parses the path segment.
Multi-tenant Data Isolation
All tables include tenant_slug field. Every query filters by slug. No tenant can see another's data (enforced by query filtering).
Database Tables
Tables: rl_tenants, raffle_settings, raffle_baskets, raffle_orders, raffle_leads, rl_coupons. All accessed via RESTful Table API at /tables/[name].
Draw Integrity
Every draw uses crypto.getRandomValues(). Two witnesses required. Draw certificate generated with cryptographic seed. Terms page explains the draw process. Customers are responsible for their own compliance obligations.
Password:
RuihaLabs2026! β Change this regularly and never share.