Admin Experience

Admin Experience

The admin subscriptions dashboard is where a lot of the underlying complexity either gets absorbed cleanly, or leaks through as confusion. Two concrete design decisions exist specifically to prevent that leak.

1. Cards are grouped by vehicle, not listed flat

A customer with 4 vehicles, each mid-renewal, used to render as 8 unrelated cards — the currently-active, paid period sitting right next to its own not-yet-started, not-yet-paid renewal, styled identically. Both looked equally urgent, when only one of them actually was.

Cards are grouped by vehicle; the period currently in force renders in full, and any other period for that same vehicle — an already-created next renewal, or a past period it renewed from — collapses into a small line underneath instead of its own alarm-styled card.

2. Urgency matches the customer reminder window

The grace-period banner used to show the same bright orange “alarm” styling whether a payment was due in 1 day or 21 days. It now only turns orange once the due date is within 7 days — the same threshold that actually triggers a reminder to the customer. Further out, it’s a quiet gray line: informational, not a task.

3. Overdue subscriptions are a queue the admin works, not an automatic action

Pausing a subscription for non-payment is now something an admin explicitly decides, subscription by subscription — see Billing & Grace Period for why. The Payments screen shows every ACTIVE subscription flagged OVERDUE with a status column (“Awaiting pause decision”) and a one-click Pause button, so the admin can work through the list at their own pace instead of the system making the call for them the instant grace expires.

4. The wash-history view reads as a timeline, not a table

Opening a subscription’s wash history used to mean scanning a flat, dense list where a missed wash and its makeup retry were two disconnected-looking rows, and a pause in the middle of a cycle wasn’t visible at all. It’s now a chronological timeline per billing cycle:

  • A missed wash and its retry sit at their own real dates, connected by a visible “linked to” caption instead of being merged into one card or split across the list with no connection shown.
  • A pause or resume shows up as its own banner, right where it happened in time, alongside the washes around it — so “why is there a gap here” is answered by scrolling, not by cross-referencing a separate audit log.
  • Each wash’s status is shown with an icon that matches what actually happened to it, and the note explaining an incident (a driver’s comment, an admin’s note) is visible directly on the card.

Why this matters for partners

The goal of all four changes is the same: an admin scanning the dashboard should be able to tell, at a glance, which subscriptions actually need a decision today — versus which ones are simply mid-cycle and on schedule — and, once they open one, understand its history without piecing it together themselves. None of these change underlying data or business logic; they’re purely about how the same facts are presented and who makes which call.