Product
Life Cycle
| Route | Create | Read | Update | Delete |
|---|---|---|---|---|
| /pricing | ||||
| /admin/settings/pricing | ||||
| /admin/settings/pricing/new | ||||
| /admin/settings/pricing/:id |
Properties
| Name | Title | Type | Description |
|---|---|---|---|
| stripeId * | Stripe ID | String | Stripe product ID |
| order * | Order | Int | Order of display at /pricing and /app/:tenant/settings/subscription |
| title * | Title | String | Can be a i18n key for multi-language support |
| active * | Active | Boolean | |
| model * | Pricing Model | PricingModel | FLAT_RATE, PER_SEAT, or USAGE_BASED (not supported yet) |
| public * | Public | Boolean | Visible at /pricing, uncheck for custom plans |
| description | Description | String | |
| badge | Badge | String | Can be a i18n key. e.g. Recommended, Most popular... |
| prices | Prices | SubscriptionPrice[] | |
| features | Features | SubscriptionFeature[] |
Model
model SubscriptionProduct {
id String @id @default(cuid())
stripeId String
order Int
title String
description String
badge String
active Boolean
model Int // 0 = FLAT_RATE, 1 = PER_SEAT, 2 = USAGE_BASED
public Boolean
prices SubscriptionPrice[]
features SubscriptionFeature[]
}