Skip to main content
Glama

StudioVector: Chat with your Mindbody

Attendance with revenue

attendance_with_revenue
Read-onlyIdempotent

Mindbody's Attendance with Revenue report for one site's past classes and appointments: what each visit was worth, totaled by service category, staff, pricing option and other views, with late cancels, no-shows and online bookings. Revenue per visit is the price paid for the pricing option without tax ÷ its visits (a $45 5-pack is $9). priceBasis paid (default) matches each visit to its sale; a visit with no matching sale has unknown revenue and is counted, never guessed. list uses today's price list, not the price paid; none is Attendance without Revenue. Unlimited options are left out of revenue unless unlimited is include (price ÷ visits used so far). Comp (staff not paid) is not available. Every class roster is a separate read, so the default mode estimate reads only the class list and returns a plan and its credits; mode count with maxClasses (1-300) reads whole days and says where to continue (nextStartDate). Empty classes unchanged since 48 h before start are skipped. For counts only, mode totals reads only the class list and appointments, no roster: visits, sign-ins and no-shows by service category, staff, location, visit type and day, without revenue, pricing options, clients or class late cancels: 1 credit per 200 classes, up to 10 for appointments (at most 35). Results for different days add up. Ask for every section you need in one call. Pages read in the last 47 hours are reused at no cost. Mindbody calls: 1 per 200 classes (up to 25), 1 per class roster read (up to maxClasses), up to 5 for the price list, up to 150 for sales, up to 30 for appointments and their pricing options, up to 7 for client names, up to 4 for empty classes (at most 521).

Input Schema

NameRequiredDescriptionDefault
topNoRows per section, 1-25 (default 10).
modeNoestimate (default): the class list only, with the plan and its credits. count: read rosters and price visits (needs maxClasses). totals: visit and sign-in counts from the class list and appointments, no rosters.
rowsNoVisit rows: none (default), all, or no_shows_and_late_cancels.
rangeNoDate range ending today (default last_30_days). Only days before today are counted.
siteIdNoSite to call (SiteId header). Default -99.
endDateNoLast day, inclusive (default today). At most 92 days after startDate.
includeNoclasses, appointments or both (default both).
maxRowsNoVisit rows, 1-100 (default 50).
sectionsNoDefault byServiceCategory, byStaff, byPricingOption. byPaymentMethod needs priceBasis paid.
staffIdsNoOnly these staff members.
startDateNoFirst day, e.g. 2026-09-01: a plan entry, or nextStartDate to continue.
unlimitedNoexclude (default): unlimited options add no revenue. include: price ÷ visits used so far.
maxClassesNocount: the most rosters this call reads, 1-300 (required). estimate: the size of the planned ranges.
priceBasisNopaid (default): the sale's price. list: today's price list. none: no revenue (the only basis of mode totals).
programIdsNoOnly these programs (service categories).
locationIdsNoOnly these locations.
excludeNoShowsNoLeave no-shows out (default false).
readEmptyClassesNocount: read the classes the 48 h rule skips (default false).
excludeLateCancelsNoLeave late-cancelled visits out (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses substantial behavior: unknown revenue is counted but never guessed, comp is unavailable, empty classes unchanged since 48 hours before start are skipped, pages read in the last 47 hours are reused at no cost, and exact credit and Mindbody call limits are given. This is unusually transparent for a read-only reporting tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the description is a dense single block that packs modes, formulas, caching rules, exceptions, and call limits together. Most content is useful for a complex 19-parameter report, yet the lack of paragraph or bullet structure makes it harder to scan than it should be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 19-parameter reporting tool with no output schema, the description covers the important behavior: mode selection, revenue calculation, pricing basis, unlimited options, skipped empty classes, continuation via nextStartDate, caching, and credit limits. It stops short of fully describing the returned section and row shapes, but it is otherwise close to complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already defines the parameters. The description still adds meaningful semantics beyond the schema, especially for priceBasis paid/list/none, unlimited include/exclude treatment, mode behavior, and how maxClasses affects estimate versus count. It does not explain every one of the 19 parameters in prose, but it adds enough pricing and mode context to exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: Mindbody's Attendance with Revenue report for one site's past classes and appointments, with revenue by service category, staff, pricing option, and other views. It clearly distinguishes the revenue report from a plain attendance variant, but it does not explicitly position itself against sibling tools such as class_attendance_summary or get_class_visits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear internal mode guidance: estimate reads only the class list and returns a plan and credits, count requires maxClasses and reads rosters, and totals is for counts only without revenue or rosters. It also advises asking for every needed section in one call. The main gap is that it does not say when to choose this tool over sibling attendance tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources