Recurring products pause properly, and product visibility rules are enforced everywhere
Pausing a recurring product no longer cancels it for good, a cancelled subscription now shows the date access actually ends, and the "who can buy this" rules you set on a product are now enforced on every client-facing surface rather than only on some.
Recurring products — the ones you sell on a repeating basis, such as a storage locker or shelf a client rents from you — had three problems in their lifecycle. All three are fixed. **Pausing no longer ends the subscription.** Pausing a recurring product in Stripe used to mark it cancelled in Booking Bible, permanently, with no way to bring it back. It now pauses, and resuming restores it. **A cancelled subscription now records when access ends.** When you cancel a recurring product at the end of its paid period, Booking Bible now stores that date, so you and the client can both see when the locker actually stops being theirs. Previously the subscription stayed marked active with no end date at all, and once the period ran out nothing updated it. Cancelling a subscription whose first payment had never gone through also used to switch it on rather than off; it no longer does. **VAT on renewals now matches the counter.** A product sold as a recurring subscription was applying the Danish under-30 VAT exemption, which is meant for class instruction and does not apply to goods or to renting storage space. The same product sold across the counter was already charging VAT correctly, so the two disagreed. Renewals now carry the same VAT as an over-the-counter sale. **Who can buy a product is now enforced on every surface.** If you restrict a product to members, to holders of a particular membership, or to clients with a given tag, that rule was only being checked on some purchase paths. A product you had marked members-only or hidden could still be read by anyone holding a direct link, and could still be bought through the product-package checkout. Both paths now apply the rules you set. Restrictions based on a membership also now correctly ignore a membership that has expired, is paused, or has not started yet — holding a lapsed membership no longer unlocks a restricted product. Storage is already available as a product category when you create or edit a product, and storage products can be sold one-off, as a bundle of uses with an expiry date, or on a recurring basis.
A clearer widget setup experience
Widget setup now keeps the first choice simple while making the available preview and widget types easier to understand.