Superadmin
Role elevation and high-impact settings. Visible only to superadmins.
Administrators
People with admin-level access to the system. Promote someone by entering their email — they must already be in the People sheet.
Test purchase
Simulates a pass purchase by running the same downstream flow a real WA payment triggers (member row, Passes row, IOU resolution, confirmation email). Bypasses the WA webhook + invoice fetch. The contact must already exist in Wild Apricot.
Email templates
Edit the subject and body of every automated email, and toggle each one on or off independently. Defaults are the original copy from the code; saving overrides them via Script Properties (no redeploy needed). Reset to default any time. Send a test to your own inbox before saving for real.
The toggle on each row is the on/off switch — flipping it takes effect immediately. Disabling silences that email everywhere it would otherwise fire (e.g. turning off "Signup confirmation" stops booking-confirmation emails system-wide). Your edits to subject/body are preserved while disabled.
Liability waiver
Edits the waiver text shown in the first-booking modal (combined with emergency-contact capture). Members re-acknowledge automatically when you bump the version — use that for substantive changes. Save without bumping for typo fixes that shouldn't strand existing acknowledgments.
Save typo fix — for non-substantive edits (spelling, grammar, formatting tweaks). The waiver version stays put, every member who's already acknowledged stays current, and nobody sees the first-booking modal again on their next class.
Save & require re-acknowledgment — for any change that materially affects what members are agreeing to. Bumps the version number; every member who's previously acknowledged will be prompted to read and re-acknowledge the updated waiver on their next booking attempt. Treat this as a one-way decision; don't bump on a whim.
Force one user to re-acknowledge
Clears a single user's waiver acknowledgment at the current version. They'll be prompted on their next booking attempt — same modal a brand-new member sees. Older-version acks for the same user are left intact (those are the historical record). Use this when one person needs to re-confirm without bumping the version community-wide.
Email sender identity
Controls the From-name, From-address, and Reply-to headers on every automated email the app sends. Lives at superadmin level because changing the From-address can break sending if the address isn't a verified Send-as alias on the GAS executor's Gmail account.
Products
The catalog that drives the fitness app's buy page. Aya can edit display names, paste new Stripe Price IDs after creating them in the Stripe dashboard, change eligibility rules, and toggle products on/off — all without code changes. After updating a price in Stripe, paste the new Price ID here and save; new purchases use the new price automatically.
Danger zone
High-impact settings. Get these wrong and important notifications go to the wrong place.