The member catalog does not say a plan change will wait for the end of a committed term #18

Open
opened 2026-09-21 07:18:06 +00:00 by cgalo5758 · 0 comments
Owner

What a person cannot do today

Learn, before clicking, what a minimum-term commitment does to a plan change. The catalog renders switch and cancel controls the same for everyone. The policy is applied after the click: a deferred change is scheduled for the end of the term and shown as scheduled, and a change under the fee policy is refused with an error banner.

What they should be able to do

Read the consequence on the control itself: active and immediate under the permissive policy, active and labelled as taking effect at the end of the committed term under the deferring one, disabled with the reason under the fee policy.

Why it matters

Correctness does not depend on it, because the endpoints decide the outcome either way. What the member loses is the chance to know the outcome before acting on it.

Where

internal/server/member_products.go, the per-ladder view model; internal/embeds/templates/partials/member_plans.html, the controls.

Done when

The view model carries the backing subscription's commitment end and early-termination policy for each enrolled ladder, and the control's label and enabled state branch on them. No subscription carries a commitment today, so the new branches render only once one is configured.

Migrated from status/issues.md at b7a0e15

## What a person cannot do today Learn, before clicking, what a minimum-term commitment does to a plan change. The catalog renders switch and cancel controls the same for everyone. The policy is applied after the click: a deferred change is scheduled for the end of the term and shown as scheduled, and a change under the fee policy is refused with an error banner. ## What they should be able to do Read the consequence on the control itself: active and immediate under the permissive policy, active and labelled as taking effect at the end of the committed term under the deferring one, disabled with the reason under the fee policy. ## Why it matters Correctness does not depend on it, because the endpoints decide the outcome either way. What the member loses is the chance to know the outcome before acting on it. ## Where [`internal/server/member_products.go`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/server/member_products.go), the per-ladder view model; [`internal/embeds/templates/partials/member_plans.html`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/embeds/templates/partials/member_plans.html), the controls. ## Done when The view model carries the backing subscription's commitment end and early-termination policy for each enrolled ladder, and the control's label and enabled state branch on them. No subscription carries a commitment today, so the new branches render only once one is configured. Migrated from status/issues.md at b7a0e15
cgalo5758 added the
kind
enhancement
area/billingarea/member-ui
labels 2026-09-21 07:18:06 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#18