External spend
Super Admin → External spend (/superAdmin/spend) shows what each control room costs CleverCam in third-party, pay-per-use APIs, priced at our cost in US dollars. It exists so a runaway integration is caught by the platform before it is caught by the supplier's invoice.
What is metered, and where it comes from:
| Provider | What counts | Source |
|---|---|---|
| Mapbox | Matrix elements (dispatch recommender), Directions requests, static map images, geocoding requests, GL map loads | Recorded per call by CleverCommand / CleverOps and the dispatch-recommend function. Static images are counted when the image actually loads, once per image per page session — a re-render or a browser-cached image is not a Mapbox request |
| DeepSeek / Anthropic | AI calls, with the per-call cost estimate — every wrapper the platform uses, including the WhatsApp intent parser, Cleo replies, the conversation agent, the password classifier, the setup chats, the site-notes parser, note polishing, the monthly summary narrative, password-challenge decoys and the proof-of-payment screen. Since September 2026 every call goes to DeepSeek Flash first; the Claude model each call names is the automatic backup, so a DeepSeek failure shows as a DeepSeek error row next to an Anthropic ok row for the same call. The vendor order is one platform setting (llm_routing_settings) — switching it to Anthropic-only takes effect within a minute, no deploy | The AI call log |
| Template and conversation messages sent | Notify layer + Maven conversations | |
| SMS | Segments sent via SMSPortal | Notify layer |
| Transactional emails sent | Notify layer + document / reminder emails | |
| Twilio / Vapi voice | Billed minutes of AI and softphone calls | The AI call records |
Everything is attributed to the control room that caused it. Calls made outside a control-room context (for example the customer portal's address search, or a mobile app's static map) are not attributed and do not appear here.
The page
- Cap alerts — this month. Every control room at 80% or more of a monthly provider cap. Near cap = heading there, Capped = the cap is hard and paid calls for that provider are being refused until the 1st, Over soft cap = over a cap that only flags. Click a row to open that control room's breakdown.
- Spend per control room. Pick 7 / 30 / 90 days. One row per control room with a column per provider and a total, sorted by total; the last column shows the Mapbox month-to-date against its cap. The stat cards above summarise the platform for the window. Use the filter box to find a control room. Click a row to drill down.
- Breakdown (after clicking a row). Per-SKU quantities and cost for the window, then a per-day table, then the monthly cap editor for that control room: choose a provider, tick Use platform default to clear any override, or untick it to set a cap (blank = uncapped for this control room) and whether it is hard (paid calls refused past it) or flag-only.
- Platform default caps. One row per provider: the cap every control room inherits unless overridden, and whether it is hard. Mapbox ships at $10 per control room per month, hard. Other providers ship without a cap — set one to start getting alerts for them.
- Unit costs. The price book in USD per unit (Mapbox list prices at seed time, plus our SMS, WhatsApp, email and voice rates), the platform's free units per month, and whether the SKU counts toward cap. Edit when a contract changes; ledger rows are priced when they are recorded, so a change applies from then on. AI calls carry their own per-call estimate and are not priced here.
List cost versus billable cost
The spend tables show list cost — what the usage would cost if none of it were free. The caps and alerts count billable cost, which is what actually reaches the supplier's invoice:
- Usage inside a SKU's platform free tier is $0. Mapbox gives the whole account 100,000 Matrix elements and 100,000 Directions requests a month; only the overage is priced, and that overage is shared between control rooms in proportion to their usage that month.
- SKUs marked no under Counts toward cap never count. For Mapbox that is static map images, GL map loads and geocoding — their free tiers dwarf our usage, and a control room without a map is not a saving. Matrix and Directions are the only Mapbox SKUs that can cost us money, so they are the only ones that can trip a cap.
- AI calls and voice minutes have no free tier and count at their logged cost.
This is why a control room can show Mapbox usage in the spend table and still sit at $0 against its cap.
What a hard cap actually does
A hard cap never takes a map away. When a control room is over its Mapbox cap:
- the dispatch recommender stops buying Matrix elements and falls back to cached road ETAs + straight-line estimates (the recommendation still returns);
- CleverCommand stops buying Directions routes (straight lines on the Unit Map / picker) and reverse-geocoded addresses (blank), and the event page skips its static map thumbnails;
- CleverOps' site address search pauses with a message — the pin can still be dropped by hand;
- GL map loads are counted but never blocked.
The check is month-to-date spend against the cap and resets on the 1st.
Flags elsewhere
- Super Admin → Overview carries the same cap alerts card at the top.
- On a control room's Dashboard, a super admin (and only a super admin) sees a banner when that control room is at 80% or more of any cap, or capped, with a button to this page. Normal users never see it.