feat(dashboard): real business metrics with week-over-week trends

Dashboard KPIs were three flat counters with no trend data — the cards
rendered a neutral dash where the design intends movement indicators.
Summary now queries three trailing windows and emits four KPIs with
real deltas: bookings this week, completed (new CompletedCount metric
in both repositories), cancellations, and utilization in percentage
points. KPI labels localize in the frontend via a code-to-key map so
Czech operators no longer see English labels on live data.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Tomas DvorakandDevin committed 2026-09-18 11:34:00 +02:00
1 parent 668a54ae1d
commit 0dc26e0c16
10 files changed
+141 -8

No files matched your search

+4
View File
@@ -394,6 +394,7 @@ type DashboardMetrics struct {
BookingsCount int
CancellationsCount int
UtilizationPercent int
CompletedCount int
}
type ReminderJobParams struct {
@@ -1452,6 +1453,9 @@ func (r *MemoryRepository) GetDashboardMetrics(_ context.Context, tenantID strin
}
if booking.Status == "confirmed" {
metrics.UtilizationPercent++
if booking.EndsAt.Before(time.Now().UTC()) {
metrics.CompletedCount++
}
}
}
if metrics.BookingsCount == 0 {