Dashboard / Telemetry — Data & read/write tables
Database view and external concepts the Dashboard reads. Convention: 📖 READ, ✏️ WRITE (insert/update).
The Dashboard is a read-only aggregate: it writes to no domain table. All data sources come from other domains; the only write operation is telemetry (out-of-band, not domain data).
Data read
| Area | Data |
|---|---|
| Booking metrics | TermBooking (StatusId, BillingId), TermBookingOrder (StatusId=300) 📖 READ — source of revenue/booking stats. |
| Attendance | TermAttendance (RollCallStatusId, SignInKeyedOn, AttendeeId) 📖 READ — source of onsite/hourly flow. |
| Account/Attendee | BusinessUnitAccount, BusinessUnitAttendee, Org_Account, Org_Attendee 📖 READ — membership + site assignment. |
| Site/BU scope | BusinessUnit (active), Org (active site) 📖 READ — validate BU/site scope. |
| Program | Program (Capacity), ProgramCategory 📖 READ — booking grouping by category. |
| Cache | Cache key/TTL of DashboardCacheService (Redis/in-memory) — no event-driven invalidation. |
Writes outside domain tables
| Area | Data |
|---|---|
| Telemetry | Application Insights: AuthenticatedUserId + custom property userName ✏️ WRITE (only into telemetry, not into domain tables). |
Data from other domains
| Domain | What the dashboard reads it for |
|---|---|
| Booking | TermBooking/TermBookingOrder StatusId + BillingId for revenue/booking stats. |
| Master Data | BusinessUnit, Org/Site, Account, Attendee, Program/Category for scoping and grouping. |
| Platform | The BU's IANA timezone for HourlyFlow/peak hour and DST. |
Related
- Architecture & data — cache TTL, validation, timezone, telemetry.
- Booking — booking states and data sources.