Capitan Release Notes - August 3, 2026

What's in this release

Two new ways to work with your reporting arrived in this release: dashboards, where you arrange several charts on one screen, and the Chart Assistant, which builds a chart from a description you type. Alongside them are charts in your emailed reports and a set of new ways to slice the data behind them.

Dashboards

Chart Assistant

Reports

Chart Builder

Memberships

Plus a number of fixes - see the end of this article.


Dashboards

New: build a dashboard from your charts

A dashboard is a set of charts arranged on one screen, so you can see everything you check regularly without opening each chart in turn. Dashboards are built from the same charts as the Chart Builder, and each dashboard holds up to 12 of them.

To make one, go to Reporting and use the Dashboards dropdown at the top right, next to Custom Charts, then choose Create a New Dashboard. Open a Dashboard lists the dashboards you can see and lets you search them by name.

A new dashboard opens in edit mode. Add Chart offers the same three ways to pick a chart that emailed reports do: choose one of your saved charts, paste a Chart Builder link, or paste a chart's source. Whichever you use, you get a preview before the chart goes on the board. Once a chart is on the board, drag its top-left grip to move it and its bottom-right corner to resize it. Each tile has an editable title, an Edit Chart action, and Remove from Dashboard. Nothing is stored until you press Save.

A dashboard holds its own copy of each chart. Editing or deleting the saved chart a tile came from does not change the dashboard. If you do want a tile to pick up changes you made to the original, open Edit Chart on that tile and use Refresh from saved chart.

Saving asks for a name and who can see it, with the same three choices as saved charts: Only me, All staff at my organization can view this dashboard, or All staff at my organization can edit this dashboard. You can change that later from the More menu with Change Access, which also holds Remove Dashboard. A dashboard someone shared with you for viewing can be saved as your own copy with Save a Copy.

The address bar carries the dashboard you have open, so you can copy it out of your browser and send it to a colleague. Capitan also reopens whichever dashboard you looked at last when you come back to the page.

Each tile's menu has Open in Chart Builder, which opens that tile's chart in the Chart Builder in a new tab so you can dig into it without disturbing the dashboard.

An example of what to put on one: a membership manager's morning board might hold memberships sold this month, membership referral counts, and member churn, so the numbers they act on every day are one page rather than three.

Fullscreen mode and automatic refresh

Dashboards are meant to be left up on a screen, so there is a Fullscreen button in the dashboard's toolbar. It hides the Capitan navigation and your browser's own toolbars, leaving a slim bar with the dashboard's name and everything below it given over to charts. The exit button fades out after a few seconds of no mouse movement and comes back when you move the mouse. Press Esc, or click that button, to leave.

Charts refresh themselves about every ten minutes while you are viewing a dashboard, in fullscreen or not, so a screen at the front desk stays current on its own. Refreshing happens in place, without blanking the charts, and a chart that fails to refresh keeps showing its last figures and tries again on the next round. There is also a Refresh Charts button, in the toolbar and again in the fullscreen bar, if you want the latest numbers immediately. Nothing refreshes while you are editing.

View a whole dashboard over one time range or one location

Each chart on a dashboard carries its own date range and its own filters, which is what you want most of the time. Sometimes it isn't: you want to ask what this whole board looks like for last week, or for one location. Two controls above the board do that without changing the dashboard itself.

Time Range replaces every chart's own date range and interval with the one you pick. Locations filters every chart to the locations you choose. Both start off set to Use chart settings, meaning each chart uses its own configuration, and Reset puts them back. Your choices are never saved into the dashboard and no one else sees them.

Two things to be aware of. Membership Count and Product → Membership Conversion have no location breakdown, so the Locations filter leaves them alone; a tile holding one of those shows a small warning icon naming which of its metrics are unaffected. And the Locations control is hidden entirely if your organization has a single location.

Both controls are reflected in the address bar, so a link you send to a colleague opens the dashboard with the same view applied. Open in Chart Builder on a tile also carries them across, so what opens in the builder matches what you were looking at.


Chart Assistant

New: describe the chart you want and Capitan builds it

Building a chart by hand means knowing which metric type answers your question and which filters narrow it correctly, and the question a manager actually has ("how did membership revenue break down by location last year") may not map to those fields in an obvious way. Getting it wrong is quiet: a chart that draws cleanly can still be counting the wrong thing.

The Chart Assistant lets you type the question instead. Open a chart in the Chart Builder and click Chart Assistant, among the buttons above the chart, and a panel opens beside it. Describe what you want to see, and the assistant replies with a Proposed chart card listing the metrics, date range, interval, and filters it suggests, plus what would change about the chart you already have open. Nothing happens to your chart until you click Apply, and Revert puts back what was there before.

Your current chart goes along with every message, so you can keep going rather than starting over: "make that monthly", "split it by location", and "hide everything except the average" all act on what is already on screen. New chat in the panel header starts fresh, and the assistant carries nothing over from a conversation you have closed.

It builds Capitan charts and nothing else. Every chart it proposes is one you could have built by hand in the Chart Builder, from the same metric types and filters described in Chart Builder: Metric Types Explained. It cannot act elsewhere on the Staff Site or answer questions that are not about your reports, and when you ask for something Capitan does not measure it says so rather than approximating.

Messages count against a monthly allowance shared by your whole team, 500 by default, and the panel says so as you approach it. A single conversation is capped at 30 replies; New chat continues past that.

For full detail, including the reporting traps it is built to avoid, see the Chart Assistant article.

What the Chart Assistant sends to the AI provider

Because this feature involves a third-party AI provider, it is worth being precise about what leaves Capitan. Every message travels through Capitan's own servers on its way out; your browser never talks to the provider directly.

What goes with a conversation is your organization's configuration and nothing more: the names of your locations, membership types and their pricing, entry passes, event types and categories, voucher packs, and add-on names, together with your organization's name, currency, and time zone, the name and role of whoever is using the assistant, and the structure of the chart on screen.

No customer records are ever sent, and neither are the numbers on your charts. Names, emails, payment details, documents, and check-in history stay in Capitan. The values plotted on a chart are fetched by your browser from Capitan's own reporting systems after a proposal has been checked, so the provider proposes the shape of a chart and never sees the figures that fill it. Every proposal is validated against Capitan's own rules before you see it and again if you apply it, so an unrecognized filter is rejected rather than passed through.


Reports

Emailed reports: include a chart

Previously, emailed reports could only carry table reports. They can now carry charts as well, so the numbers you would otherwise log in to look at can arrive on a schedule instead.

On an emailed report's setup page, the Included Reports section now has an Add Chart button beside Add Table. Adding a chart works the same three ways as adding one to a dashboard: pick one of your saved charts, paste a Chart Builder link, or paste a chart's source. Charts and tables share the limit of five reports per email.

Under Include in the email, choose Chart image, Data table, or both. The chart's data is always attached as a CSV file whichever you pick, and that file matches the Chart Builder's own CSV export exactly. Each chart in the email carries a View this chart in Capitan link that opens the Chart Builder with that chart loaded, which works even if the chart it was copied from has since been changed or deleted.

A chart set to a relative date range, such as Last 31 Days, resolves to the latest window on every send. A chart set to fixed dates sends the same figures every time, and Capitan warns you about that when you add it. If you later change the saved chart the item was copied from, use Refresh from saved chart when editing the item to pull the changes in.

An example: a weekly Monday email with a revenue chart for the last 31 days and a membership sales table, so the week opens with the picture already in the inbox.

New revenue filter: Revenue Calculation

Capitan's revenue figures have always subtracted refunds and never accounted for payment processor fees. That is the right definition when you are checking your books against your bank, but it is the wrong one for other questions. If you want to know the average price a product actually sold for, refunds getting mixed in distorts the answer. If you want to know what you took home, processor fees need to come out.

Revenue Calculation is a new filter with three options:

  • Net of Refunds subtracts refunds from sales. This is what Capitan has always done, and it stays the default, so nothing you already have set up changes.
  • Gross Sales ignores refunds. Use this when you are looking at what products sold for, such as measuring discount use.
  • Net of Refunds & Processor Fees also subtracts what your payment processor charged.

You'll find it as a sidebar filter on the five revenue reports: Total, Memberships, Entry Passes, Events, and Voucher Packs. It sits alongside the existing Revenue Source filter and remembers your last choice. It is also available on revenue metrics in the Chart Builder, and travels with a chart into dashboards, shared links, and emailed reports.

One restriction: processor fees are only recorded for payments Capitan collects, so Net of Refunds & Processor Fees is only offered when Revenue Source is All or Capitan. Choose Point of Sale (POS) or Offline and the option disappears, with a note explaining why.

Worth remembering when reading these figures: a refund counts on the day it was issued, not the day of the original sale. A period with large refunds of earlier sales can therefore dip, or go negative, on a net figure while the gross figure stays clean.

Membership reports: filter by scheduled cancellations and future starts

Until now, the Memberships, Members, and Roster Members reports showed which memberships were set to end and which had not started yet, but there was no way to narrow the report down to just those rows. Two new filters in each report's filters panel do that.

Membership Set to End finds memberships with a cancellation already scheduled, which is the list you want when you're following up with members before they leave, or working out why they left. This means a cancellation someone actually set, not any membership that has an end date. Prepaid memberships all have an end date by design and are not included unless someone has scheduled them to stop.

Membership Set to Start in the Future finds memberships sold but not yet begun, for tracking who is joining. This matches the filter of the same name already on the Customers report.

Each offers All, the filter, or its opposite, and both combine with the report's existing filters and are kept in your saved views.


Chart Builder

New metric option: build one metric from others

Prior to this release, every metric on a chart stood on its own, so anything derived from two metrics meant exporting the chart and doing the arithmetic in a spreadsheet. Composite metrics do that arithmetic on the chart instead.

Use Add Composite Metric on the Chart Builder, give it a name, choose an operation, and pick what it works on:

  • Sum (+) and Multiply (×) take two or more operands.
  • Subtract (−) and Divide (÷) take exactly two, in order.

An operand is another metric on the chart, including another composite metric, so something like (A + B) ÷ C is possible. It can also be a plain number, using Add Constant, for cases like multiplying by 0.9 for a margin. At least one operand has to be a metric.

Two examples of what this is for. To chart the average amount paid for a 10-entry pass, put 10-entry pass revenue and 10-entry passes sold on the chart, divide the first by the second, and untick the visibility checkbox on the two source metrics so only the average plots. To compare entry pass and membership revenue against event revenue as a group, sum the first two and put event revenue alongside.

A composite behaves like any other metric from there: it has a color, an axis, a visibility checkbox, tooltips, and it appears in your CSV and Excel exports. Capitan works out whether it is currency, a count, or a percentage from what it is built on, and the Unit setting lets you override that. Intervals where the answer is undefined, such as dividing by zero, are drawn as gaps rather than zeroes, so an empty period doesn't read as a real result of nothing.

Composite metrics save with the chart, so they follow it into shared links, dashboards, and emailed reports with nothing extra to set up.

Choose products by their attributes instead of one by one

Previously, picking products for a chart metric meant either every product of a type or ticking a specific list. Neither works well for a question like "all single-entry passes" at a location with a large catalog: ticking them all is tedious, and the chart then quietly goes out of date as you add products and retire others.

Metrics now take filters based on what a product is, and Capitan works out which products match each time the chart runs. A product you add next month that meets the criteria appears in the chart on its own, and a product you retire keeps its history but stops adding to it.

The new filters are:

  • Membership Purchase Type: Recurring, Prepaid, Benefit
  • Membership Billing Interval: Weekly, Biweekly, Four Weeks, Monthly, Quarterly, Half-Yearly, Yearly
  • Entry Pass Type: Single-Entry, Multi-Entry
  • Event Schedule Type: Repeating, Multi-part/One-off, Rolling
  • Event Category: your event type categories
  • Product Status: Active, Retired, Draft

Each is offered only where it makes sense, so membership attributes appear when the metric is looking at memberships, entry pass attributes when it is looking at entry passes, and so on. They combine with each other and with a specific product list, narrowing the selection each time.

An example: a revenue metric filtered to Membership Purchase Type: Recurring charts every recurring membership you sell, including the one you add in October, without anyone remembering to update the chart.

Hide axis labels and the legend

Charts now show up in more places than the builder page: dashboard tiles, shared links, and emailed reports. Sometimes the labels get in the way, particularly on a small tile or a chart with a single series that doesn't need a legend explaining it.

The Options tab has four new checkboxes. Left Y-Axis and Right Y-Axis each have a Hide labels checkbox that removes that axis's values and title. Under Display, Hide x-axis labels removes the dates along the bottom and Hide legend removes the legend. The values are all still there when you hover a point on the chart.

All four are off by default, so existing charts look exactly as they did, and they are stored with the chart so they carry over wherever it is shown.


Memberships

Location-specific pricing shows add-on prices

If you use Location-Specific Pricing Policies on a membership, the Pricing Summary column of that table previously showed the base fee and initiation fee, but not what each add-on costs under that policy. Since a policy's add-on price overrides the membership's default, an out-of-date figure in a policy could go unnoticed and charge the wrong amount at the till. A locker rental set to $2.50 a week on the membership, but left at an old $10.00 in every location policy, charges $10.00.

The Pricing Summary column now lists every add-on configured on the membership with its price under that policy, in the same style as the fee lines above it. An add-on that isn't available at that policy's locations is shown as Not available rather than being left out, so you can see at a glance that the policy covers everything you expect.

This table appears on a membership's configuration page, reachable from Memberships & Passes, for organizations with more than one location.


Fixes

  • Lightspeed products sync reliably again. Lightspeed requires product names to be unique, and Capitan handled a name collision badly: the sync stopped part-way through without recording the products it had already created, which left those products stranded in Lightspeed holding the very names the next attempt would trip over. Because the failure was never shown on screen, saving an event type, membership, entry pass, or voucher pack looked like it worked while the product never appeared at the register, or stopped picking up price and name changes. Capitan now recognizes its own stranded products and takes them back over, correcting their name and price in place. Where the existing product isn't Capitan's, an event fee gets a separate product with the pricing policy's ID added to its name, in the form "(#3308)", and other product types stop rather than overwriting a product Capitan doesn't own. Products created earlier in a sync run are recorded even if a later step fails, so retrying picks up where it left off instead of making duplicates. Affected event types, memberships, entry passes, and voucher packs recover on their next save with no cleanup in Lightspeed. Separately, duplicating an event type used to give the copy a claim on the original's Lightspeed and Square products, so the two would fight over one product and the register could charge the wrong price. New copies now start with no products of their own and get fresh ones when activated. Event types duplicated before this release still need untangling, and we're reviewing Lightspeed organizations for it directly.
  • Memberships sold at the front desk bill to the right location. A membership added to a sale on the Staff Site worked out its billing location from the customer or the staff user rather than from the sale, so a membership sold at one location to a customer whose home location is another could end up billing at the wrong one. That decides which merchant account takes the payment and which revenue account codes the sale lands under, as well as the Billing Location filters in membership reporting. The sale's location is now used for the initial purchase. A membership restricted to a single location still bills there, as before.
  • A photo that doesn't upload cleanly no longer breaks document signing. If a customer signing a document uploaded a photo whose file arrived incomplete, which is a common outcome of a phone upload on a weak connection, the page failed with a server error instead of asking for another photo. It now shows "Invalid image." under the photo field and lets them try again, the same as it already did for a file that wasn't a recognizable image. This covers document signing including kiosk mode, along with profile photo and association photo uploads in the Climber App.
  • Check-ins and document signing keep working during the weekly maintenance window. Capitan hands background work, such as sending emails and syncing with your point of sale, to a queue that restarts for maintenance once a week. While that queue was unreachable, anything that added work to it as part of the request failed outright, so checking a customer in or submitting a signed waiver returned a server error for the few minutes it took to come back. Those requests now finish normally and the background work is held and replayed once the queue returns, which means the weekly window is no longer visible at the front desk. Organizations in time zones where the window lands during opening hours were the ones affected.
  • A database outage now shows a maintenance page instead of an error. When Capitan's database was unreachable, which happens during scheduled maintenance on the database itself, pages failed with a generic error that gave no sense of what had happened or whether it was worth trying again. Capitan now recognizes the condition and shows a "Temporarily unavailable" page that says the outage is expected to be brief, across the Climber App, the embeddable scheduler, and booking pages. The page checks for recovery on its own, so it clears without anyone reloading. The page carries no location branding, because working out which organization a visitor belongs to needs the database that is unavailable.
  • Large chart queries fail helpfully instead of silently. A chart covering a long span at a fine interval could take long enough that the request was cut off, and the chart would fail with nothing to act on. Those queries are now faster and less likely to run over. If one still does, the Chart Builder shows "This query took too long to run and was stopped. Try a shorter date range, a coarser interval, fewer metrics, or narrower filters." Charts sent by emailed report get a much longer budget than charts you're waiting on in the browser, so a chart that is too slow to draw on screen can still be delivered by email.

Still need help? Contact Us Contact Us