Customer Portal
A self-service area where your customers can view, reschedule, and cancel their bookings. Reduces support load and improves customer experience.
What the customer can do
- View all their past, current, and upcoming bookings.
- Reschedule a booking (within the allowed window).
- Cancel a booking (within the allowed window).
- Update their profile (name, phone, address).
- Set notification preferences.
- View their payment history.
- Re-book a past service in one click.
Setting it up
- Create the portal pagePages → Add New. Title it (e.g. My Bookings). Body:
[advik_customer_portal]. Publish. - Link it in settingsAdvik Booking → Settings → Accounts → Customer Portal Page. Pick the page you just made. Save.
- Decide on loginRequire login = on (recommended for portal) or off (customers enter their email + a magic link).
- Set the reschedule / cancel windowsOn the same page, decide how close to the booking a customer can still reschedule / cancel. Default: 48 hours.
- Approval modeReschedule approval required — on = customer requests go to you for approval. Off = changes apply instantly.
How a customer accesses it
- Customer visits the portal page.
- If not logged in, they're redirected to wp-login.
- After login, they land on the portal with their bookings listed.
The reschedule flow
Customer-initiated reschedule
Customer portal sections
| Section | URL parameter | What's in it |
|---|---|---|
| My Bookings | section=bookings (default) | List of all bookings, filterable by upcoming / past / cancelled. |
| Profile | section=profile | Customer name, phone, address, email preferences. |
| Preferences | section=preferences | Email notification toggles (reminders, marketing). |
| Account | section=account | WordPress account settings — change password, delete account. |
The shortcode attributes
The [advik_customer_portal] shortcode accepts:
| Attribute | Default | Effect |
|---|---|---|
section | bookings | Which section to show on first load. |
redirect_to | — | Optional URL to redirect logged-out users to (e.g. a custom login page). |
Reschedule / cancel windows — explained
Both settings live in Settings → Customer Accounts.
- Reschedule window (hours) — customer can only reschedule if the booking is more than this many hours away. Default 48.
- Cancel window (hours) — customer can only cancel if the booking is more than this many hours away. Default 48.
Outside the window, the buttons are hidden. The customer sees "Contact us to change this booking" with your contact info.
i
Bookings & accounts
If you enabled Require login and a customer tries to book without an account, they're prompted to register first. The booking is then linked to their WordPress user.Post-booking account prompt
For guest bookings, the success page can invite the customer to create an account using the email they just used. The account is created instantly (no confirmation email), and the booking is moved over. The customer gets a password setup email.
What it looks like
The portal uses the same design tokens as the booking form. It matches your site automatically — no separate styling needed.