@model AiUsageReportViewModel @{ ViewData["Title"] = "AI Usage Report"; ViewData["PageIcon"] = "bi-robot"; string FeatureIcon(string? f) => f switch { "PhotoQuote" => "bi-camera", "HelpChat" => "bi-chat-dots", "ReceiptScan" => "bi-receipt", "AccountSuggest" => "bi-tags", "ArFollowUp" => "bi-envelope", "FinancialSummary" => "bi-bar-chart", "CashFlowForecast" => "bi-graph-up", "AnomalyDetection" => "bi-exclamation-triangle", _ => "bi-cpu" }; }
Anthropic API call volume and photo uploads per tenant. Last 30 days unless noted.
| Company | Plan | Today | 7 Days | 30 Days | All Time | Photos | Top Feature (30d) | Tier |
|---|---|---|---|---|---|---|---|---|
| @row.CompanyName @if (!row.IsActive) { Inactive } | @row.Plan | @(row.Today > 0 ? row.Today.ToString("N0") : "—") | @(row.Last7Days > 0 ? row.Last7Days.ToString("N0") : "—") | @(row.Last30Days > 0 ? row.Last30Days.ToString("N0") : "—") | @(row.AllTime > 0 ? row.AllTime.ToString("N0") : "—") | @if (row.PhotoCount > 0) { @row.PhotoCount.ToString("N0") } else { — } | @if (row.TopFeature != null) { kv.Value).Select(kv => $"{row.FeatureDisplayName(kv.Key)}: {kv.Value}"))"> @row.FeatureDisplayName(row.TopFeature) @if (row.FeatureBreakdown.Count > 1) { +@(row.FeatureBreakdown.Count - 1) more } } else { — } | @row.UsageTier |
| No AI usage logged yet. Usage data will appear here once tenants start using AI features. | ||||||||