Manage Plans and Limits — Platform Admin
Overview
Subscription plans define catalog defaults, pricing eligibility, and limit values. Active tenant enforcement does not read mutable plan rows directly: when an approved commercial order is Applied, current values are frozen into TenantSubscriptionEntitlement snapshots, and the effective-plan resolver reads those snapshots. Later catalog edits therefore do not silently change an active subscriber.
Viewing Plans
Open Plans & Limits from the dashboard navigation. The current catalog distinguishes plan activity, public pricing-page visibility, and custom-builder visibility. Pricing-page and builder visibility are independent flags; “hidden” or “archived” should not be used as substitutes for the stored state shown by the page.
Creating a Plan
- Click New Plan.
- Fill in the plan details:
- Name: Internal and display name (e.g. "Starter", "Professional", "Enterprise").
- Billing Cycle: Monthly or Annual.
- Price and Currency: Add an effective-dated
PlanPricerow for the required country, currency, and billing cycle. Prices do not live as one mutable field onPlan. - Active: Whether this plan is available for new subscriptions.
- Set Usage Limits for the plan:
- Maximum number of users.
- Maximum storage capacity (in MB or GB).
- Maximum number of surveys.
- Maximum accepted responses in the configured entitlement usage period (
MaxResponses), scoped to the tenant rather than each survey. - Maximum number of integration API-key clients.
- Set Capabilities as Boolean limit values.
0means disabled and1means enabled. There is no parallel persistentPlanFeaturemodel. - Click Save Plan.
Editing a Plan
- Click the plan name in the list.
- Edit the fields you want to change.
- Click Save Changes.
Changing plan-limit catalog rows or adding a new effective price does not silently recompute existing entitlement snapshots. A plan change or approved limit-increase order must reach Applied to create the intended new snapshot state. Historical PlanPrice and LimitPrice rows are closed with EffectiveTo rather than overwritten.
Archiving and Hiding Plans
- Deactivate: Prevents the plan from being selected by active-catalog reads while preserving historical references.
- Hide from Website: Clear public pricing-page visibility while retaining other allowed uses.
- Hide from Custom Builder: Clear custom-builder visibility independently of pricing-page visibility.
Plan vs. Tenant Override
Plans set catalog defaults. The current schema contains no separate per-tenant override entity or general Tenant Overrides mutation service. Tenant-specific changes are represented through a commercial plan-change or limit-increase order and frozen into that tenant subscription's entitlement snapshot when Applied.
Current Limit Catalog
PlanLimitKeys.All defines 17 active keys in six groups: Survey operations, Responses and reporting, Team, Storage, Access and integrations, and Communications.
Numeric keys are MaxUsers, MaxSurveys, MaxActiveSurveys, MaxResponses, MaxStorageBytes, MaxPublicSurveyLinks, MaxPortalTokens, MaxViewerTokens, MaxFileUploadSizeBytes, ExternalIntegrationClientLimit, MaxTenantNotificationBatches, MaxTenantNotificationRecipients, and MaxTenantMobilePush.
Boolean capability keys are CanExportExcel, CanCompressFiles, ReportApiAccess, and RawResponseApiAccess. Retired CanUse*, MaxQrLinks, and similar legacy rows are compatibility history, not active contracts.
Planned, not current: MaxSurveyVersionsPerSurvey is approved for implementation planning as an eighteenth key and fourteenth numeric quota. Its value is 0..50, with current included; 0 disables customer-visible Version History/Restore and -1 is invalid. Planned initial values are Starter 0, Professional 10, Enterprise 50, and Custom baseline 0. Do not configure or advertise the row until its canonical seed and services are implemented; runtime contentHash will remain available regardless of value.
Important Notes
- Preserve plans referenced by subscriptions/orders; use activity and visibility controls instead of destructive history removal.
- Effective-dated price selection applies to new quotes/orders in its valid market and period; existing order/invoice and entitlement snapshots are not silently repriced.
Planowns canonical names, descriptions, badge text, display order, activity, and the two visibility flags. Website CMS does not replace the canonical commercial plan.