Customer Accounts and Login
Out of the box, customers book as guests: a name, an email, and private links for everything after that. That’s the lowest-friction option and it suits most businesses. But a membership site, a school or a clinic portal often wants people to log in, see their bookings under their account, or book only after signing in. Customer accounts add that on top, without taking guest booking away unless you ask.
Everything here is off until you change it, in Bookings → Settings → Customer accounts.
The Settings
| Setting | Default | What it does |
|---|---|---|
| Login before booking | Off | Tick Require customers to log in before booking to make it the site default. Each service can override it. |
| Create accounts at booking | Do not create accounts | Or offer a “Create an account” checkbox, or create an account for every new customer. |
| Role for new accounts | Subscriber | Only roles that can do nothing beyond reading are listed, so a customer account can never edit, upload or manage anything. |
| Past bookings | Off | Trust WordPress account emails links past guest bookings without the emailed confirmation step, for accounts made through the WordPress registration form that still use that email. |
| Customer dashboard page | Built-in dashboard link | A published page with [core_bookings_dashboard]. Sign-in emails and “All my bookings” links open it. |
| Booking policy | Empty | Policy text and a Policy link shown beside the booking agreement on every service without its own policy, and saved with each booking. |
| Trusted proxies | Empty | IPs or CIDR ranges of your own proxy or CDN, so request limits see real visitor addresses. Up to 20. |
Click Save customer account settings. To override the login rule for one service, open it and set Login before booking under Customer details and policy to Require login or Guests can book.
What Customers See
- Login required: instead of times, the form shows Log in to book, plus Create an account when WordPress registration is open. The server enforces the same rule, so it can’t be skipped.
- Logged in while booking: name and email fill in from the account. When login is required, accounts are created at booking, or the service uses FluentCart checkout, the email is locked to the account with a “Not you? Log out” link. Otherwise a logged-in member can still book for someone else.
- Account at booking: with the checkbox option, the details step offers “Create an account so I can see my bookings when I log in”. The account is created after the booking, without a password, and WordPress emails a link to set one.
- Dashboard: a linked customer who opens the dashboard while logged in sees their bookings and session packs straight away.
Staff and managers who are logged in see “You are logged in as staff. Enter the customer’s details to book for them.” and can book on someone’s behalf.
How Bookings Get Linked to an Account
Linking hands an account a customer’s whole booking history, and WordPress lets users change their own email without confirming it. So Core Bookings links only when the email is proven:
- Accounts Core Bookings creates link straight away. They have no usable password until the customer opens the set-password email, which proves the inbox.
- Existing accounts use Link my past bookings on the dashboard. It emails a one-time link to the account address, valid for 15 minutes. Opening it while logged in adds the bookings made with that email.
- Trusted account emails, when switched on, skip the emailed step for accounts registered through the WordPress registration form on this site, as long as the email hasn’t changed.
- A booking manager can link or create an account from the customer’s profile. See Customer Records.
Once an account is linked, every new booking made with that customer email shows up under the account too. Booking while logged in never links an unproven email on its own, so an account whose email was changed to someone else’s can’t capture their bookings.
Limits
- If any WordPress user already has the email, nothing is created or linked, and the form never says so. The customer can log in and use Link my past bookings.
- Accounts from shop or plugin registration forms that sign people in immediately, and accounts whose email has changed, always confirm the emailed link.
- The link lives on the customer record. If the account email changes later, the dashboard keeps showing bookings under the linked customer email. New bookings use the current account email, so ask a manager to unlink and relink.
- A customer record links to one WordPress user, and a user to one customer record.
- Deleting a WordPress user unlinks it. The bookings stay.
- Creating an account runs after the booking is saved, so a failed account can never block or undo a booking.