Glossary
This page defines the canonical terms used throughout Agon and its documentation. When in doubt, use these exact terms — not synonyms.
Studio Manager
The owner or administrator of an Agon installation. The studio manager creates classes, manages clients and instructors, configures memberships, and has full access to all settings and reports.
Not: admin, owner, operator.
Client
A person who attends classes at the studio. Clients use the Agon mobile app to browse the schedule, book classes, and check in.
Not: member, student, user, customer.
Instructor
A staff member who teaches classes. Instructors are separate from studio managers — they can see the class schedule and roster but cannot change studio settings or access financial data.
Not: teacher, coach, trainer, staff member.
Class Template
A reusable definition of a class type — its name, default duration, default capacity, and associated instructor. Think of it as the "type" of class, not a specific occurrence.
Example: "Yoga Flow" is a class template. Every Tuesday at 9 am is a separate scheduled class based on that template.
Not: class type, class definition, activity.
Scheduled Class
A specific occurrence of a class template on a specific date and time, at a specific location, with a confirmed instructor and capacity. Clients book scheduled classes, not templates. A scheduled class is a group activity with shared capacity — see Appointment for the 1-on-1 equivalent.
Not: class session, event, slot.
Tag-Restricted Class
A class template or scheduled class set to require a specific tag — only clients currently carrying that tag can book it. Set on a class template as the default for new scheduled classes made from it, and can be changed or cleared per scheduled class independently. A studio manager can still book a client who lacks the tag from the desktop application, after confirming an override.
Not: members-only class, locked class, VIP class.
Booking
A client's confirmed reservation for a specific scheduled class. A booking deducts one credit from the client's active membership (if applicable) and grants the client access to check in.
Not: reservation, registration, sign-up.
Appointment
A client's confirmed 1-on-1 booking with a specific instructor for a specific appointment service (for example, personal training, massage, or private coaching) at a specific date and time. Unlike a scheduled class, an appointment has exactly one client and no shared capacity. Booking an appointment deducts one credit from the client's active membership, the same mechanism as booking a class — there is no separate payment path for appointments. A studio manager or instructor can mark a confirmed appointment as completed or a no-show afterwards, and the same late-cancellation-fee / no-show-fee policy as class bookings applies.
Not: session, private lesson, 1-on-1 session, reservation, class.
Appointment Service
A studio manager-defined type of appointment that clients can book (for example, "Personal Training" or "60-Minute Massage"), with a fixed duration and an optional buffer time — a gap enforced after each appointment before the next one for the same instructor can start. Deactivating a service is a soft delete: it stops appearing for new bookings, but appointment history that references it is preserved. There is no hard-delete option.
Not: service type, session type, treatment.
Instructor Availability
The recurring weekly time windows during which an instructor can be booked for appointments (for example, "Tuesdays 09:00–13:00"). Availability is weekly-recurring only — Agon does not yet support date-specific exceptions or holiday overrides. Available appointment time slots are computed from these windows, minus the instructor's existing confirmed appointments and the buffer time of the service being booked.
Not: working hours, schedule, shift.
Waitlist
If a scheduled class is full, clients can join the waitlist. When a booking is cancelled, the first client on the waitlist is automatically promoted to a confirmed booking and notified.
Check-in
Confirmation that a client physically attended a class. Check-in can be done by the client (via QR code in the mobile app), by the instructor (scanning the client's code), or manually by the studio manager.
Not: sign-in, attendance, clock-in.
Membership
A package that gives a client access to classes over a period of time. There are two types:
- Recurring membership — active for a set number of days (e.g. 30 days) and renewed automatically via Stripe.
- Credit pack — a fixed number of credits consumed one-per-booking, with no time limit.
Not: subscription, plan, package, pass.
Credit
A single unit of access to one class, included in a credit-pack membership. Each booking deducts one credit. Credits do not expire unless the membership itself has an expiry date.
Not: token, point, session credit, class pass.
Rollover Credit
An unused credit that carries over into a client's next billing period instead of being lost, when a recurring membership type has credit rollover enabled. A membership type can optionally cap how many credits can roll over per period.
Not: carryover credit, banked credit.
Intro Offer
A discounted first-purchase price and/or validity window on a membership type, shown automatically to a client the first time they buy that membership type (or any other intro-offer membership type at the same studio). Regular pricing applies to all later purchases.
Not: trial offer, welcome discount, first-time discount.
Late Cancellation Fee / No-Show Fee
A charge recorded against a client when they cancel a booking inside the cancellation window (a late cancellation, only if "cancellation deducts credit" is enabled) or are marked as a no-show at check-in. Resolved per client as: the client's membership type override, then the studio-wide default, then no fee. Recorded as a Payment row rather than an automatic card charge — the studio still has to collect it through its own process.
Not: penalty, cancellation charge (as a distinct concept from the fee itself).
Promo Code
A code a client enters at membership checkout to receive a percentage or fixed-amount discount. Configured by the studio manager with an optional usage limit, a one-per-client restriction, and a validity window.
Not: discount code, coupon.
Gift Card
A prepaid balance identified by a code (format GC-XXXXXXXX) that a client can redeem against a membership purchase, or that a studio manager issues manually for a phone/in-person sale. A client can also buy a gift card themselves as a present for someone else.
Not: voucher, credit note.
Tag
A short, colored label a studio manager attaches to a client to organize and filter the client list (e.g. "VIP", "Injury risk"). Tags can be assigned manually or automatically via an auto-tag rule. Clients see their own tags read-only in the mobile app.
Not: label (as a distinct concept), category.
Product
A retail item a studio manager maintains in the catalog for in-person sale — e.g. a protein bar or water bottle — with a name, optional SKU, price, and tracked stock quantity. Managed under Products in the desktop backoffice; manager-only, no client-facing surface.
Not: item, SKU (a SKU is a field on a product, not the product itself).
Product Sale
A record of a completed in-person sale of one or more products, logged by a studio manager after payment was already taken by cash, card, or another method outside Agon. Optionally attached to a client, or left as a walk-in sale. Recording a sale deducts the quantities sold from each product's stock.
Not: order, transaction, purchase (reserved for membership/gift-card purchases processed through Stripe).
Auto-Tag Rule
A rule that automatically assigns a tag to a client whenever a chosen trigger event happens for them (for example, a no-show or a cancelled booking). Configured by the studio manager; runs automatically with no manual action needed once created.
Waiver
A document (for example, a liability release or studio policy) that a studio manager authors and can require clients to digitally sign before booking. Editing a waiver's body creates a new version and requires every client to re-sign, even those who signed an earlier version. Signing is always client-self — there is no way for a studio manager or instructor to sign on a client's behalf.
Not: consent form (use only when referring to the separate GDPR consent log), release, agreement.
Calendar Sync Token
A long-lived secret embedded in a client's personal calendar feed URL, used because calendar apps (Google, Apple, Outlook) poll a static URL and cannot perform an app login. The token in the URL is itself the credential. A client or studio manager can regenerate it, which invalidates the old link and requires re-subscribing.
Location
A physical place where classes are held. In V1, Agon supports one location. Multi-location support is planned for V2. The location_id field is already in the database schema.
Not: branch, venue, studio (use "studio" only to refer to the whole business, not a specific room or building).
Tunnel
A secure public HTTPS URL created via Cloudflare Tunnel that allows your clients to connect the mobile app to your Agon instance from anywhere, without exposing your local network.
Not: URL, connection, link, proxy.
Studio QR Code
A QR code shown in Settings → Mobile App that encodes the Tunnel URL. Clients scan this code once when setting up the mobile app to connect to your studio.
Website Widget
An embeddable, read-only class schedule panel a studio manager pastes onto their own public website as an <iframe> (embed snippet found in Settings → Website Widget). It shows upcoming scheduled classes with instructor and spots-available, using the studio's own brand colors — never pricing, memberships, client rosters, or instructor contact info. It does not currently support booking a class from inside the widget; clients still book through the mobile app. The widget is served from the studio's own Tunnel URL, so its embed snippet must be re-copied whenever the tunnel address changes (for example, after an Agon backend restart).
Not: schedule widget, booking widget, embed, iframe.
Invitation Token
A time-limited token sent by email to a newly created client. The client follows the link to set their password and activate their account. Expires after 7 days.
Reset Token
A time-limited token sent by email when a client requests a password reset. Expires after 2 hours.
Smart List
A saved filter that identifies a subset of clients based on membership status, booking recency, join date, or membership type. Used to send targeted emails.
Block
A single element in the Visual Email Builder's canvas — text, image, button, divider, spacer, or raw HTML — that a studio manager adds, arranges, and configures to build an email template. Blocks stack top to bottom and each has its own controls (alignment, color, size, and so on) shown when the block is selected; the canvas renders the email exactly as it will send, live, with no separate preview step. A template built or edited before this feature has no blocks — opening it offers "Convert to canvas," which wraps its existing HTML as a single starting block so nothing is lost.
Not: element, component, widget, module.
Event Assignment
A configuration that maps an Agon event (e.g. "new client invited", "booking confirmed") to a specific email or SMS template. When the event occurs, the assigned template is sent automatically — provided that event is actually wired to send messages (currently only "new client invited" and "password reset" trigger a send, for both email and SMS).
Marketing Automation
A multi-step, delayed sequence of emails and/or texts that a studio manager builds once and never sends by hand again — for example, "wait 3 days after signup, send an email; wait 7 more days, and if the client still hasn't booked, send another." Built from a trigger (an event like a new signup or booking, or a recurring condition like "hasn't booked in 30 days"), an ordered list of steps (each a delay, a channel, and a template), and an optional stop condition. A client is enrolled automatically when the trigger matches and is enrolled at most once per automation, ever. Unlike an Event Assignment, which sends a single message the instant an event happens, a Marketing Automation spreads multiple messages out over time.
Not: drip campaign, workflow, sequence (on its own, without "automation").
Online Class
A scheduled class the studio manager has marked "Online (Zoom)," for which Agon automatically creates and manages a real Zoom meeting via the studio manager's own connected Zoom account. Only a single (non-recurring) class can be marked online. Clients see a client-facing join link ("Join on Zoom") on the class and their booking; the studio manager and instructor separately see a host-only start link ("start meeting"), which is never shown to clients. Available on any Zoom plan, including the free tier.
Not: virtual class, Zoom class, live-streamed class.
Migration Assistant
The built-in tool for importing your clients, memberships, and classes into Agon from a CSV, Excel, or JSON export of your current platform. Accessed from Settings → Migration and available to Managers only. Each entity is imported separately, one at a time. Agon never connects to your old platform or asks for its credentials — you export your own data and upload the file.
Pay Component
A single rule defining how a staff member earns pay — Hourly, Per-class, Commission, or Fixed Salary. A staff member can have several active pay components of different types at once (for example, an hourly rate and a commission together), but never two active components of the same type. Managed under Staff Payroll; manager-only, no client-facing surface.
Not: pay rate, salary line, compensation rule.
Payroll Run
A studio manager-generated calculation of what every staff member is owed for a chosen date range, computed from their active pay components. A run starts as a draft, which can be freely regenerated, and becomes finalized once the studio manager locks it — a finalized run's amounts never change. Marking a finalized run's line items as paid records that the studio manager paid the staff member outside Agon; no money moves inside Agon.
Not: payroll period, pay run, payslip.
Role
A named permission set assigned to exactly one staff account, determining what that account can see and do in the desktop app. Manager and Instructor are built-in roles that always exist and can't be renamed or deleted. A studio manager can also define any number of custom roles (for example, "Front Desk"), each granting View and/or Manage on some combination of five areas: Classes, Members, Bookings, Check-ins, and Memberships. Managed under Staff & Roles; manager-only, no client-facing surface.
Not: permission group, access level, user type.
Permission
A single granted capability within a Role — one area (Classes, Members, Bookings, Check-ins, or Memberships) at one level (View or Manage). A role's full set of permissions determines which left-sidebar items a staff account sees and what it can do on them. Every area of Agon outside those five (payments, reports, marketing, settings, staff/payroll, point of sale, and so on) has no permission that can grant it — those stay Manager-only regardless of a role's permissions.
Not: scope, right, access grant.
Jurisdiction
Which invoice template Agon uses for a generated invoice — eu_vat, us_sales_tax, or generic — decided by the studio's configured country in Settings at the moment the invoice is generated. An EU jurisdiction produces a VAT invoice with seller/buyer VAT numbers and a VAT breakdown; the US jurisdiction produces a sales-tax breakdown with no VAT-number fields; any other country produces a generic invoice with no tax breakdown claimed. See Invoice.
Not: region, tax zone, country (country is the studio setting that determines the jurisdiction, not the jurisdiction itself).
Invoice
A sequentially-numbered PDF document generated for a completed membership payment or a recorded product sale, worded and structured for the studio's jurisdiction. Only one invoice can exist per payment or per sale. Agon's invoicing is a document generator, not an automated tax-compliance service — tax rates are always entered by the studio manager (or, for EU studios, a configured default VAT rate), and no invoice is ever submitted to a tax authority's e-invoicing network. Managed under Invoices; manager-only, no client-facing surface.
Not: receipt, bill, statement.
Feedback
A bug report, question or feature request a staff member submits from the Feedback screen in the desktop app: pick Bug or Feature, add a title and a rich-text description, and optionally attach up to 3 files. Submitting sends it directly to Agon; the sender's own account email is attached automatically and can't be changed or removed. Opening an email client, pre-filled to support@agon-studio.dev, is available as a secondary option — and is what the form falls back to if submission fails. Available to every staff role, no client-facing surface.
Not: support ticket, bug ticket, complaint.
AI Provider Key
An API key that belongs to the studio, created with an AI provider (Google Gemini or Groq) and saved by the studio manager in Settings → AI Assistant. The AI Assistant uses it to reach that provider directly from the studio's computer. Stored encrypted in the local database, never shown again after saving, and deleted with Remove key on the same tab. Alternatively, the assistant can use a local model (Ollama). See Basic Mode.
Not: license key, Agon key, token.
Basic Mode
How the AI Assistant works when no AI Provider Key or local model is configured: a keyword search of the Agon documentation that runs entirely on the studio's computer, with no AI and no network call. It can't answer free-form questions, perform AI actions or give business advice. If a search comes up empty, it offers a multi-level topic browser (category → subcategory → page → section) to drill down into instead of a flat list of pages.
Not: offline mode, free mode, lite mode.
Error Reporting
An optional setting in Settings → Privacy, off by default, that lets Agon send technical error details (with personal data removed) to Agon's developer through Sentry (EU) to help fix bugs. The studio manager's choice also applies to the studio's mobile app and website widget.
Not: telemetry, analytics, crash logs.
Top-Spender Cohort
The group of paying clients with the highest total spend in a given period — the top 20% of paying clients by spend, or the top 5 if 20% would be fewer than that. Used on the Insights page and by the AI assistant's business-advisor questions to compare how your highest-spending clients behave against everyone else. Always reported as group-level counts and averages — Agon never identifies which specific clients are in the cohort.
Not: VIP clients, top clients, best clients (use only in plain conversation, not as the technical term for this specific group).
License
A studio's own record of its Agon Subscription status, shown in Settings → License:
whether a License Key is configured, the outcome of the last background check (active,
problem, or unchecked), and — only while blocked — when the 72-hour grace period ends. Checked
automatically roughly every 8 hours, and immediately again right after a manager saves a new key.
Not: subscription (the paid plan itself — see Subscription), license key (the pasted-in string itself — see License Key).
License Key
The opaque string a studio receives at checkout when starting or renewing its Agon Subscription, pasted into Settings → License to keep the installation unlocked. Never shown again once saved — Agon only ever displays whether one is configured, never the key itself.
Not: API key, token, AI Provider Key (a separate key, owned by the studio, used for the AI Assistant — unrelated to this one).
Subscription
The studio's own recurring paid plan with Agon itself — pay-what-you-want, minimum €1/month — kept active by its License Key. This is a different concept from a client's Membership, which is the client's own paid access to classes at the studio: Agon's subscription is never called a membership, and a client's membership is never called a subscription.
Not: membership (reserved for a client's own paid access to classes — see Membership), license (that's the studio's status record — see License).