Skip to main content

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.


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 → Connectivity 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 client data and booking history from other fitness management platforms (CSV export, BSport, Momence). Accessed from Settings → Import Data.


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 or feature request submitted by any staff account (Manager, Instructor, or a custom role) from the Feedback screen in the desktop app, distinguished only by a type toggle. Unlike the rest of Agon's data, feedback is sent directly to the Agon team rather than staying local to the studio — it never includes client, booking, or financial data, only the title and description the staff member wrote, plus up to 3 optional photo/video attachments (20MB each) they explicitly chose to attach. Managed under Feedback; available to every staff role, no client-facing surface.

Not: support ticket, bug ticket, complaint.


License Key

A one-time code issued by the license-server after a studio manager completes checkout on the Agon website, shown once on the checkout success page. The manager activates it from Settings → Licensing, which verifies it against the license-server and, if valid, updates the studio's plan and license status immediately. Never returned by any Agon API response once stored. See also Plan and License Status.

Not: activation code, product key, serial number.


Plan

The tier of Agon a studio is licensed for — base or base_ai — read-only in the desktop app, set by which product the studio manager purchased on the Agon website and mirrored locally after a License Key is activated. Only base_ai unlocks the AI Assistant section of Settings.

Not: tier, subscription level, package (reserved for Membership).


License Status

The studio's current standing with the license-server, shown read-only in Settings → Licensingactive, past_due, canceled, invalid, or grace_expired. A studio that has never activated a License Key shows no status and keeps working normally; Agon only blocks access once status becomes canceled, invalid, or grace_expired. grace_expired is reached after a 7-day offline grace period during which Agon can't reach the license-server to re-verify.

Not: subscription status, billing status.


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).