Recipe
Seat‑Based Billing UX
How Meridian handles per‑seat licensing, overage, and graceful downgrade inside the dashboard.
Seat Model
Every license has a seat cap set at purchase. A seat is a unique machine fingerprint. When a user activates on a new device, Meridian checks current usage against the cap.
Activation Flow
- Loader sends hardware fingerprint to KeyAuth.
- KeyAuth returns
seat_countandseats_used. - If seats_used < cap, activation proceeds. Otherwise the loader surfaces an overage prompt.
Dashboard UX
The license card shows a live seat meter. When the user hits the cap, a banner offers an upgrade path. Admins can revoke individual seats from the device list.
Overage Handling
When a new activation would exceed the cap, the loader displays a blocking dialog. The user can either remove an existing seat via the dashboard or purchase an upgrade. No automatic eviction occurs.
Downgrade Path
If a subscription downgrades, the oldest unused seats are soft‑revoked first. Active seats remain until the next heartbeat check, then the loader surfaces a seat‑limit‑reached state.