Client Flow
- Client goes to Client Area → My Services → [service].
- Clicks Request Cancellation.
- A modal form appears with:
- Cancellation Type: Immediate or End of Billing Period.
- Reason: Required text field.
- Client submits the form.
- A cancellation request is created with status
pending. - Client sees a confirmation message; the service detail page shows "Cancellation Pending".
[!IMPORTANT] Only one pending cancellation request is allowed per service. If a client tries to submit a second request while one is pending, they see an error. They must wait for admin action or contact support to withdraw the request.
Cancellation Types
| Type | What happens on approval |
|---|---|
| Immediate | Service is cancelled now; termination job queued to delete the account from the server |
| End of Billing Period | Service stays active until next_due_date; no further renewal invoices; terminated automatically on that date |
[!TIP] End of Period is the client-friendly default — clients keep access until the end of what they've paid for. Use Immediate for clients who want data deleted right away.
Admin Review Queue
All pending cancellation requests are visible at Admin → Billing → Service Cancellations.
The queue shows:
- Client name
- Service / product
- Requested cancellation type
- Reason provided by client
- Request date
Approving a Cancellation
- Open the request at Admin → Billing → Service Cancellations → [request].
- Click Approve.
- Optionally add an admin note (visible internally only).
On approval:
- Immediate: Service status →
cancelled;TerminateAccountjob dispatched to queue. - End of Period: Service status remains
active;cancel_atdate set tonext_due_date; a scheduled job handles termination on that date.
A cancellation confirmation email is sent to the client.
Rejecting a Cancellation
- Open the request.
- Click Reject.
- Enter a rejection reason (sent to the client).
On rejection:
- Service stays
active. - Cancellation request status →
rejected. - Client receives a rejection notification email with the reason.
- Client can submit a new cancellation request if they still want to cancel.
Withdrawing a Pending Request (Admin)
Admins can withdraw a pending cancellation request on behalf of a client:
- Open the request.
- Click Withdraw.
- The request is removed; the service continues as normal.
Edge Cases
| Scenario | Behaviour |
|---|---|
| Client has an unpaid invoice at time of immediate cancellation | Invoice remains unpaid; service is terminated regardless |
| Service is suspended at time of cancellation approval | Termination proceeds normally |
End of Period: client pays renewal invoice before cancel_at |
cancel_at is ignored if not yet processed; admin should verify |