Interface: PriceableLineItem
Defined in: shared/checkout/priced-cart.ts:25
Contract a consumer's pricing line item must satisfy for toPricedCart
to map it into a PricedLineItem. Extends the pricing engine's minimal
LineItemContext with the captured-snapshot fields the order line item
persists (proposal §order_line_items). Consumers extend this further
with their product-specific fields — toPricedCart is generic over any
superset.
Extends
Properties
base_price_cents?
optional base_price_cents?: number;Defined in: shared/pricing/types/context.ts:42
Inherited from
LineItemContext.base_price_centsdescription?
optional description?: string;Defined in: shared/checkout/priced-cart.ts:31
glCode?
optional glCode?: string;Defined in: shared/checkout/priced-cart.ts:33
metadata?
optional metadata?: Record<string, unknown>;Defined in: shared/checkout/priced-cart.ts:32
module
module: string;Defined in: shared/pricing/types/context.ts:41
Inherited from
LineItemContext.modulename
name: string;Defined in: shared/checkout/priced-cart.ts:30
pricing_unit
pricing_unit: string;Defined in: shared/pricing/types/context.ts:48
Inherited from
LineItemContext.pricing_unitrate_tier_id?
optional rate_tier_id?: string;Defined in: shared/pricing/types/context.ts:58
The pricing-matrix rate tier (PLA-136) this line declares itself as.
Wired into PRICING_SCOPES.line_items as the rate_tier_id scope
type, so a matrix cell Rule's exclusive rate_tier_id scope entry
(injected by PricingMatrixService.addRateTier) matches by default —
without this field, evaluatePricing would never select a tier's
cell rules for a line. Optional because lines outside the matrix
(ordinary authored rules, no tiers involved) simply omit it.
Inherited from
LineItemContext.rate_tier_idreferenceId?
optional referenceId?: string | null;Defined in: shared/checkout/priced-cart.ts:29
Consumer row id behind the concept; null/absent = ad-hoc/custom line.
referenceType
referenceType: string;Defined in: shared/checkout/priced-cart.ts:27
Consumer concept this line snapshots ('membership', 'program_registration', …).
revenueAccount?
optional revenueAccount?: string;Defined in: shared/checkout/priced-cart.ts:34