Referral discounts, payment safety and bulk reservation permissions have all been corrected.
- A referral code entered before anything is in the cart now applies to eligible passes, subscriptions and shop items added afterwards, instead of leaving them at full price.
- Prices set by a referral code are kept when the cart is rechecked at payment, so the discounted total is the amount actually charged.
- If a payment is submitted twice for the same cart - for example after a slow connection or a double tap - the second attempt now waits for the first, then returns the original confirmation instead of taking payment again or repeating the booking. If the first payment is still running, a clear payment already in progress message is shown.
- Bulk deleting reservations from the attendance list now checks the same permission as cancelling a reservation, so staff who may only handle cancelled records can no longer delete live reservations.