Reserve Within Order Placement
Context
Reserved days must prevent another purchase while an order awaits fulfilment, and abandoned orders need to release them. The owner-function seam shares the order transaction.
Decision
Commerce placement calls Membership’s owner function to create the pending term and claim in the same commit boundary.
Alternatives Considered
Reserve through an asynchronous call after placement: Post-placement reservation would leave a committed order without protected coverage during the gap.
Reserve at preparation: Preparation-time reservation would let abandoned carts block membership days.
Consequences
Owner and reservation checks arbitrate competing checkouts. The current owner writer’s unsupported history source prevents placement commit. Voids release pending coverage while retaining fulfilled periods.