Variable: PricingDomainConfig
const PricingDomainConfig: ZodDiscriminatedUnion<[ZodObject<{
actions: ZodArray<ZodObject<{
adjustmentKind: ZodDefault<ZodLiteral<"base_price">>;
amount_cents: ZodNumber;
glCode: ZodOptional<ZodString>;
label: ZodString;
per: ZodOptional<ZodEnum<{
day: "day";
hour: "hour";
night: "night";
}>>;
responsibleParty: ZodOptional<ZodEnum<{
platform: "platform";
processor: "processor";
tax_authority: "tax_authority";
tenant: "tenant";
}>>;
type: ZodLiteral<"BASE_PRICE">;
unit: ZodEnum<{
day: "day";
flat: "flat";
hour: "hour";
month: "month";
night: "night";
person: "person";
unit: "unit";
year: "year";
}>;
}, $strip>>;
calculation_phase: ZodLiteral<"base">;
level: ZodEnum<{
line: "line";
order: "order";
}>;
}, $strip>, ZodObject<{
actions: ZodArray<ZodDiscriminatedUnion<[ZodObject<{
adjustmentKind: ZodDefault<ZodEnum<...>>;
glCode: ZodOptional<ZodString>;
label: ZodString;
method: ZodEnum<{
flat: ...;
percentage: ...;
}>;
responsibleParty: ZodOptional<ZodEnum<...>>;
scaling: ZodDefault<ZodEnum<...>>;
type: ZodLiteral<"FEE">;
value: ZodNumber;
}, $strip>, ZodObject<{
adjustmentKind: ZodDefault<ZodLiteral<...>>;
glCode: ZodOptional<ZodString>;
label: ZodString;
method: ZodEnum<{
flat: ...;
percentage: ...;
}>;
responsibleParty: ZodOptional<ZodEnum<...>>;
scaling: ZodDefault<ZodEnum<...>>;
type: ZodLiteral<"DISCOUNT">;
value: ZodNumber;
}, $strip>], "type">>;
calculation_phase: ZodEnum<{
compounding: "compounding";
non_compounding: "non_compounding";
post: "post";
}>;
level: ZodEnum<{
line: "line";
order: "order";
}>;
}, $strip>], "calculation_phase">;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.