✦ MULTI-STALL MANAGEMENT
Your pop-up operations,
under control.
Manage locations, build your menu and control which items each stall serves — from one clean workspace.
Checking the database and admin setup…
Create the first admin
This setup works only while no staff accounts exist. Your bootstrap token must be configured as an encrypted Cloudflare secret first.
Welcome back
Sign in to manage stalls, menu availability and your team.
Setup needs attention
YOUR WORKSPACE
Operations dashboard
Manage locations
Each stall gets a unique code for its QR menu. Keep the code stable after printing QR cards.
Your stalls
Edit or pause an existing locationLoading stalls…
Manage staff accounts
Give each team member a separate sign-in and assign access only to the stall(s) they work at.
Your team
Update phone or enable/disable accessLoading staff…
Payment configuration
Manage provider credentials and test-mode settings. Only a gateway with a completed server-side adapter can be activated.
Add PAYMENT_CONFIG_ENCRYPTION_KEY as an encrypted Cloudflare Pages Production secret before saving gateway credentials. Use a random 32-byte (64-character hex) key and keep a secure backup.
Apply migrations/0004_payment_gateway_settings.sql once, after previous migrations have succeeded.
Saved credentials are never returned to this page. Test checkout will activate only after validation.
Gateway support
Activation depends on verified integration supportLoading provider information…
Never paste gateway secrets into chat or GitHub. The interface intentionally never displays saved secret values. Keep a secure backup of the encryption key: losing it means stored credentials cannot be decrypted.