Attendance with revenue
attendance_with_revenueMindbody'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
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Rows per section, 1-25 (default 10). | |
| mode | No | estimate (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. | |
| rows | No | Visit rows: none (default), all, or no_shows_and_late_cancels. | |
| range | No | Date range ending today (default last_30_days). Only days before today are counted. | |
| siteId | No | Site to call (SiteId header). Default -99. | |
| endDate | No | Last day, inclusive (default today). At most 92 days after startDate. | |
| include | No | classes, appointments or both (default both). | |
| maxRows | No | Visit rows, 1-100 (default 50). | |
| sections | No | Default byServiceCategory, byStaff, byPricingOption. byPaymentMethod needs priceBasis paid. | |
| staffIds | No | Only these staff members. | |
| startDate | No | First day, e.g. 2026-09-01: a plan entry, or nextStartDate to continue. | |
| unlimited | No | exclude (default): unlimited options add no revenue. include: price ÷ visits used so far. | |
| maxClasses | No | count: the most rosters this call reads, 1-300 (required). estimate: the size of the planned ranges. | |
| priceBasis | No | paid (default): the sale's price. list: today's price list. none: no revenue (the only basis of mode totals). | |
| programIds | No | Only these programs (service categories). | |
| locationIds | No | Only these locations. | |
| excludeNoShows | No | Leave no-shows out (default false). | |
| readEmptyClasses | No | count: read the classes the 48 h rule skips (default false). | |
| excludeLateCancels | No | Leave late-cancelled visits out (default false). |