Kaizen
Browse modulesPricingpricing/sharedTypes

Type Alias: PricingDomainConfig

type PricingDomainConfig = z.infer<typeof PricingDomainConfig>;

Defined in: shared/pricing/types/domain-config.ts:72

Pricing-domain domain_config schema. Discriminated on calculation_phase so the allowed actions[] shape varies by phase:

  • calculation_phase: "base" → actions: BasePriceAction[]
  • other phases → actions: AdjustmentAction[] (i.e. FeeAction | DiscountAction)

TypeScript narrows on calculation_phase, so consumers get editor-time safety: a compounding rule cannot carry a BASE_PRICE action, and a base rule cannot carry a FEE or DISCOUNT, without a Zod parse failure and a TS error at the call site.