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