Services Document Flow
Subscription Activate/Suspend/Resume/Cancel and cancel-at-period-end; subscription invoice statuses — no MudMenu Actions.
Services Document Flow
Subscriptions use SubscriptionStatus and invoices use SubscriptionInvoiceStatus. Lifecycle controls are inline buttons on the list and detail pages — there is no MudMenu Actions list. Decline Rejection / Decline Cancellation do not apply.
Hub: Target Document Flow. Overview: Services.
- Draft / Trialing
- Active
- Suspended
- Cancelled / Expired
Subscription (`SubscriptionStatus`)
#Statuses
Draft, Active, Suspended, Cancelled, Expired, Trialing
Domain: Activate, Suspend, Resume, Cancel, Expire, Renew, ScheduleCancelAtPeriodEnd().
Subscription lifecycle — Activate, Suspend, Cancel, Expire
flowchart TB Start((Create)) --> Draft[Draft] Draft -->|Activate| Active[Active] Active -->|Suspend| Suspended[Suspended] Suspended -->|Resume| Active Active -->|Cancel| Cancelled[Cancelled] Active -->|Expire| Expired[Expired] class Start egkStart class Draft egkDraft class Active egkSuccess class Suspended egkWarn class Cancelled,Expired egkTerminal
| Control (UI) | Surface | Behavior |
|---|---|---|
| Activate / Suspend / Resume / Cancel | Subscriptions list (inline) | Domain transition methods |
| Cancel at period end | Subscription detail | POST .../cancel-at-period-end; disabled when CancelAtPeriodEnd already true; chip “Cancels at period end” |
ScheduleCancelAtPeriodEnd sets CancelAtPeriodEnd=true and AutoRenew=false; cancel applies on the next billing boundary (GenerateInvoice / OpenNextPeriod).
Subscription invoice (`SubscriptionInvoiceStatus`)
Draft, Posted, Paid, PartiallyPaid, Overdue, Cancelled
UI mirrors the same values (SubscriptionInvoiceStatusUi). No ETA-style Approve/Reject menu on invoices.
#Post-action sync
List and detail refresh after activate/suspend/resume/cancel or cancel-at-period-end. Failed calls leave prior status and flags.
#Scenarios
| Scenario | Result |
|---|---|
| Activate draft | → Active |
| Cancel at period end | Flag set; status may stay Active until period end |
| Already scheduled cancel | Button disabled |
| Expect MudMenu Submit | Not implemented |