Skip to main content
Glama

StudioVector: Chat with your Mindbody

Late cancels and no-shows

late_cancel_count
Read-onlyIdempotent

Counts late cancels in one site's past classes, by class type and by client, and no-shows where the studio records them. Mindbody keeps late cancels only on class rosters (get_class_visits), and its class totals leave late-cancelled bookings out, so every class that ran is read, empty-looking ones included; canceled classes are skipped. The default mode "estimate" reads no roster: only the class list, returning the classes to read, the credits a count would cost and a plan of date ranges. mode "count" with maxClasses (at most 300 per call) reads the rosters, in whole days, and says what was counted and where to continue (nextStartDate). skipEmptyClasses skips classes with no bookings and no sign-ins to save credits; the counts are then a lower bound and say so. To compare with an earlier period, estimate and count that period separately. For attendance and fill rates use class_attendance_summary. For revenue per visit use attendance_with_revenue; for sales use sales_summary. A roster read in the last 47 hours is reused while the class totals are unchanged. Each roster read, class-list page and name lookup costs 1 credit. Mindbody calls: 1 per 200 classes (up to 25), 1 per class roster read (up to maxClasses) and up to 2 for client names (at most 327).

Input Schema

NameRequiredDescriptionDefault
topNoRows in byClass and topClients, 1-25 (default 10).
modeNoestimate (default): the class list only, with the plan and its credits. count: read the rosters (needs maxClasses).
rangeNoDate range ending today (default last_30_days). Only classes on days before today are counted.
siteIdNoSite to call (SiteId header). Default -99.
endDateNoLast day, inclusive (default today). At most 92 days after startDate.
startDateNoFirst day, e.g. 2026-09-01 (business-local): a plan entry, or nextStartDate to continue. Default: 30 days ending endDate.
maxClassesNocount: the most rosters this call reads, 1-300 (required). Each roster read costs 1 credit. estimate: the size of the planned date ranges (default 300).
skipEmptyClassesNoSkip classes with no bookings and no sign-ins (default false). A class whose every booking was late-cancelled looks empty, so the counts are then a lower bound.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description goes further with data provenance (late cancels live only on rosters, class totals omit them), the 47-hour roster cache, per-read credit costs, and Mindbody call volume. The one real gap is that these details are scattered across a dense paragraph rather than surfaced as discrete behaviors, making the credit/caching rules easy to miss on a fast read.

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 scoping and alternative-routing sentences are correctly front-loaded, but the block is a wall of text with no visual separation and repeated content: credit cost is stated three times (planned credits, 1 per roster read, 1 per class-list page) and skipEmptyClasses is explained twice. Condensing the cost model into one sentence would remove real redundancy without losing information.

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

Completeness5/5

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

For an 8-parameter tool with no output schema, the description still tells the agent what comes back in each mode (classes to read plus credits and plan; nextStartDate plus what was counted) and warns about lower-bound results. Nothing needed to choose a mode, bound credit spend, or interpret results is missing.

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?

With 100% schema coverage the baseline is 3, and the description does add cross-parameter context the schema states only locally: maxClasses at most 300 per call, whole-day granularity for count, and nextStartDate as the continuation token. However, several statements (skipEmptyClasses lower-bound caveat, mode requirements) duplicate the schema text almost verbatim, so the marginal value is moderate rather than decisive.

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

Purpose5/5

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

Opens with a specific verb and resource: "Counts late cancels in one site's past classes, by class type and by client, and no-shows where the studio records them." The breakdown dimensions (byClass / topClients) and the scope (one site, past classes) let an agent distinguish it immediately from class_attendance_summary or attendance_with_revenue.

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

Usage Guidelines5/5

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

Names explicit alternatives with the condition that selects them: class_attendance_summary for attendance/fill rates, attendance_with_revenue for revenue per visit, sales_summary for sales. It also explains the estimate-vs-count decision and tells the agent to run estimate and count separately for a comparison period.

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