Same URL, multiple branches
One customer-facing URL serves every branch in the business. There's no separate site per location and no separate domain to maintain — the active branch is determined by the customer's selection in the picker, not by the URL itself.
This keeps marketing simple: you advertise one address, link to one site, and let the picker route each visitor to the right branch. Branches that share a customer base benefit from a single, consistent entry point.
One account, all locations
A customer signs up once and uses the same account at every branch. Their profile, their saved payment methods and their payment history all follow them across locations, so a customer who normally trains at Branch A can drop in at Branch B without creating a second login.
Operationally this works because all branches share the same database and the same booking system. The only thing that changes when a customer switches branches is the active view — which passes, classes and calendar are surfaced — not the underlying account.
What stays unified vs what's per-branch
It helps to know which parts are shared and which are scoped to the active branch.
Unified across all branches:
- Customer account, profile and login.
- Saved payment methods and full payment history.
- The customer-facing URL.
Scoped to the active branch:
- The home page shown at /[location-slug].
- Passes shown to the customer (filtered by locationIds).
- Class lists and the calendar.
- Address, hours and map.
The picker is the bridge between the two — it doesn't change who the customer is, only what they currently see.
