Skip to main content
Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.

Plans and entitlements

Host: control.<ROOT_DOMAIN> · Route: /plans

Purpose and access

Maintain platform subscription plans and their included features.You need an account session and platform access. Platform privileges are separate from tenant roles; privileged writes remain subject to endpoint role checks.

Screen layout

The plans table offers New plan, Features, and Remove. Creation fields are name, key, price, and monthly/yearly billing period. Features opens an entitlement selection dialog.

Fields and displayed information

Displayed table columns: Name, Key, Price, Limits, Features, Subscribers.

Fields and filters: Create plan dialog

Fields and filters: Plan features dialog

Actions

Interaction sequence

New plan → enter details → create → refresh. Features → choose included feature IDs → Save entitlements → refresh. Remove requires confirmation.

States and rules

Entered prices are converted to minor units. Feature entitlements govern effective tenant availability along with overrides; displayed plan entries are persisted records here.The rendered action controls bind loading indicators to pending state. Failed API saves keep their documented error/notification path; a loading indicator alone does not establish persistence.

Implementation references

Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.
  • apps/web/src/app/sites/control/(app)/plans/page.tsx
  • apps/web/src/features/platform/plans-table.tsx
  • apps/web/src/features/platform/create-plan-dialog.tsx
  • apps/web/src/features/platform/plan-features-dialog.tsx
Data and access helpers: apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/platform.ts, apps/web/src/lib/billing.ts, apps/web/src/lib/features.ts, apps/web/src/lib/api-client.ts

API behavior references

  • apps/api/src/platform/platform-tenant-access.controller.ts
  • apps/api/src/platform/platform.controller.ts
  • apps/api/src/billing/plans.controller.ts
  • apps/api/src/billing/tenant-billing.controller.ts
  • apps/api/src/features/features.controller.ts
  • apps/api/src/features/tenant-features.controller.ts
  • apps/api/src/forms/forms.controller.ts
  • apps/api/src/analytics/analytics.controller.ts
  • apps/api/src/analytics/tenant-analytics.controller.ts