Register payment recovery stays tied to the correct membership
After card confirmation, the register now waits for that exact payment's membership and receipt records. An older pass or payment cannot stand in for a membership that is still being activated. Retrying a completed request returns its existing receipt only when the venue, member and pass still agree. An incomplete projection remains a processing result; staff should retry the same attempt, not cre
After card confirmation, the register now waits for that exact payment's membership and receipt records. An older pass or payment cannot stand in for a membership that is still being activated. Retrying a completed request returns its existing receipt only when the venue, member and pass still agree. An incomplete projection remains a processing result; staff should retry the same attempt, not create a second charge. Saving quick-sale pins now stops if venue settings cannot be read. It preserves other settings and retries competing updates made through the shared compare-and-set writer. Legacy settings writers that do not advance the shared version token remain outside that concurrency guarantee. This source repair does not confirm a production rollout, live card payment or installed-app acceptance. No price, VAT, contract or notification rule changes.
Native register preserves the reviewed Flexible pass selection
The release candidate preserves the chosen Flexible option and reviewed price in staff register sales, and rejects results from an obsolete venue or account.