Dashboard / Telemetry — Overview
Dashboard / Telemetry is the operations-statistics domain (operations analytics): the Analytics Dashboard for Staff/Admin, the Customer Dashboard for customers, and username attribution in Application Insights telemetry for tracing.
Dashboard is a read-only query aggregate — no state, no domain events, no state transitions. Every figure is computed from the data of other domains (Booking, Attendance, Master Data) via aggregate query + cache TTL.
At a glance
What the dashboard covers
| Area | One line |
|---|---|
| Analytics Dashboard | Staff/Admin analytics scoped by BusinessUnit: attendance, booking, revenue, account/attendee. |
| Customer Dashboard | Customer-facing page: account info, active bookings, unpaid invoices, booking calendar. |
| Cache TTL | Every endpoint serves through cache with its own TTL; eventual consistency, no event-driven invalidation. |
| Validation | BU must be active, fromDate ≤ toDate, site belongs to BU, groupBy whitelist, JWT required. |
| User telemetry | Sets AuthenticatedUserId + custom property userName on requests in Application Insights. |
Suggested reading order
- End-user view — what Staff/Admin and customers see.
- Core concepts — sub-aggregates, metric formulas, invariants.
- Architecture & data — the Topi → Tuke → Tux chain, cache, timezone, telemetry.
- Data & read/write tables — tables the dashboard reads from other domains.
- Common cases — lagging figures, timezone, site filter, telemetry.
Related
- Booking — source of
TermBooking/TermBookingOrder(StatusId) and attendance. - Master Data — BusinessUnit, Org/Site, Account, Attendee, Program/Category for scoping.
- Shared platform → Timezone — BU local time and DST.