Market pillar · v0.16.0
pricing-plan PricingPlan
Pricing plan record.
$id · https://corpospec.com/schemas/v0.16.0/pricing-plan.schema.json
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| base_price_per_period | number | yes | Base price per period (per dimensional unit if non-flat). |
| billing_period | BillingPeriod | yes | Billing period. |
| currency | IsoCurrency | yes | ISO 4217 currency code. |
| description | string | yes | |
| display_name | string | yes | Display name (e.g. "Business — Annual 2026"). |
| effective_from | IsoDate | yes | ISO 8601 date (YYYY-MM-DD). |
| entity | PathRef | yes | Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$` |
| features | string[] | yes | Feature gates included (capability flag strings). |
| id | PathRef | yes | Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$` |
| pricing_dimension | PricingDimension | yes | Per-unit pricing dimension. |
| publicly_listed | boolean | yes | Whether the plan is publicly listed or sales-led only. |
| status | PlanStatus | yes | Plan lifecycle. |
| tier | PlanTier | yes | Plan tier (matches customer.rs::CustomerTier). |
| usage_limits | UsageLimit[] | yes | Usage dimensions + limits. |
| version | Semver | yes | Plan version (Semver). |
| annual_escalation_pct | number? | — | Annual price-escalation pct (e.g. 5.0 for 5%/year on renewal). |
| brackets | PricingBracket[] | — | Brackets for Tiered / Volume pricing (empty otherwise). |
| cancellation_notice | string? | — | Cancellation notice ISO 8601 duration. |
| effective_to | IsoDate? | — | |
| lock_in_months | integer? | — | Lock-in / minimum commitment period in months. |
| template_subscription_ref | PathRef? | — | PathRef to legal templates (subscription agreement). |
Definitions
Shared types referenced within this schema.
BillingPeriod
Billing period.
IsoCurrency
ISO 4217 currency code.
pattern: ^[A-Z]{3}$
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
PathRef
Path-based cross-reference relative to .corpospec/ root.
Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
PlanStatus
Plan lifecycle.
PlanTier
Plan tier (matches customer.rs::CustomerTier).
PricingBracket
Tiered pricing bracket.
type: object
PricingDimension
Per-unit pricing dimension.
Semver
Semantic version string (MAJOR.MINOR.PATCH).
pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
UsageLimit
Usage cap (soft / hard / overage).
type: object
Reference in your YAML
# yaml-language-server: $schema=https://corpospec.com/schemas/v0.16.0/pricing-plan.schema.json