Price
What It Models
A price answers what an item costs for a buyer, currency and instant. Commerce calculates it from Accounting price rows and its own audiences, periods and purchasing choices. This object models the configuration and calculation result rather than a standing stored amount.
Identity and Attributes
Audience and period keys let Accounting price rows refer to Commerce configuration. Purchasing settings and handler references are product-specific. Responses explain the chosen audience, period, row and conversion, including assumptions made during a staff preview.
Relationships
The policy determines the sale currency. Accounting owns the underlying grid. Storefront and recommendation reads call the quote path; promotions assess discounts against its returned bases.
Invariants
Audience ranks and normalized names remain unique. Schedule periods must be adjacent. A sold-in current period may still move its end to now or later, but its name and start stay fixed; elapsed periods refuse edits. Quotes bind nothing, and placement recalculates and rechecks qualification.
How It Is Stored and Shared
Pricing owns the engine and configuration. Accounting owns price rows and handovers. Eligibility display transport can use Platform when configured, while membership facts and handler factories remain fixtures. No custom-field capability or change feed is declared.
Open Design Questions
Special-price realization lacks a caller. Ownerless schedule APIs remain behind the approved owner-bound direction. Fixture pricing dependencies and the authoritative tax source require decisions before implementation preparation.