Allow stock to be reserved for a given user, so it can't be purchased by other users. When a customer reserves stock, it's moved from its normal stock location to a special reserved stock location. When a customer checks out, their reserved items will be used first to fulfill their order. Reserved stock can be restored to its original stock location at any time, and can be stored with an expiry date for the reservation.
Development Dependencies (14):