Kaizen
Browse modulesPricingpricing/serverInterfaces

Interface: AddRateTierInput

Defined in: server/pricing/pricing-matrix-service.ts:69

Properties

defaultPrice?

optional defaultPrice?: 
  | {
  amountCents: number;
  per?: "day" | "hour" | "night" | null;
  unit: "flat" | "unit" | "year" | "month" | "day" | "hour" | "night" | "person";
}
  | null;

Defined in: server/pricing/pricing-matrix-service.ts:93

Optional default price for this tier (PLA-141) — the price for a line naming this tier that matches no schedule column, so an effective price in its own right (surfaced as the matrix grid's leading "All open hours" column; pricing evaluation reading it is a follow-up).

It is not applied to any cell by this call, because a brand-new tier has no cells yet; it seeds the cells of schedule columns added LATER. The caller seeds the columns that already exist itself via setCellPrice, which is what PriceTierDialog's create flow already hands back.

Union Members

Type Literal
{
  amountCents: number;
  per?: "day" | "hour" | "night" | null;
  unit: "flat" | "unit" | "year" | "month" | "day" | "hour" | "night" | "person";
}
amountCents
amountCents: number;
per?
optional per?: "day" | "hour" | "night" | null;

The default's optional SECOND axis, making this "$10 per attendee PER HOUR". Persisted as default_per since the PLA-286 review — before that the tier modal collected it with nowhere to put it, and both places a default is SPENT (applyRateTierDefaults' fallback price and seedCellsFromTierDefaults' new-column cells) silently dropped it and undercharged.

unit
unit: "flat" | "unit" | "year" | "month" | "day" | "hour" | "night" | "person" = PricingUnit;

null


description?

optional description?: string | null;

Defined in: server/pricing/pricing-matrix-service.ts:72


name

name: string;

Defined in: server/pricing/pricing-matrix-service.ts:71


organizationId

organizationId: string;

Defined in: server/pricing/pricing-matrix-service.ts:70


requirementConditionIds?

optional requirementConditionIds?: string[];

Defined in: server/pricing/pricing-matrix-service.ts:74

Condition ids validating eligibility for this (already-selected) tier.


scopes?

optional scopes?: {
  scope_type: string;
  scope_value: string[];
}[];

Defined in: server/pricing/pricing-matrix-service.ts:81

Caller-supplied scoping to apply to every cell rule under this tier (e.g. a module scope). Must NOT include a rate_tier_id entry — addRateTier injects exactly one, using the newly-generated tier's own id, and rejects the call if the caller tries to supply one.

scope_type

scope_type: string;

scope_value

scope_value: string[];

On this page