Customer Portal & My Home — Overview
Customer Portal is Tuke's customer-facing front end: per-site landing, booking, subscription booking and management. My Home is the home page (staff + portal): header navigation + display-timezone handling.
The portal runs in its own app mode, separate from the Admin Portal: bootstrap only calls the APIs that match the mode. All data shown to customers is scoped to the signed-in account and read-only — the portal does not mutate enrollment, billing, invoice, payment, or credit note.
Quick mental model
What the customer portal covers
| Area | One line |
|---|---|
| Bootstrap scope | Staff-context APIs only in Admin Mode; caller account outside Admin Mode; identity/timezone hydrate in every mode. |
| Layout | Content width follows the Booking UI max width; full-width only via an explicit exception. |
| My Home header | Title on the left; Calendar/Timetable/My Profile menu on the right, per BusinessUnit permission/config. |
| Local time | Time by ServiceAreaId (Local vs MultiZone) and User.TimezoneIdentifier. |
| Timezone prompt | First-time prompt per session for staff My Home; session popup for the portal. |
| Sidebar quick-select | Changes the timezone right from the drawer, auto-save, no confirm needed. |
| My Subscriptions | Account-scoped, read-only subscription management, route /{curl}/enrollments. |
| My Bookings section | "My Subscriptions" section by status tab inside My Bookings. |
| Share link | Booking/program links use the Customer Portal origin, never leaking admin context. |
| Site contact | Email/phone/address icons on the Booking UI and the landing site card. |
Suggested reading order
Related
- Booking — customer-facing booking flow, Program Details Page, checkout.
- Subscription — enrollment, My Subscriptions, subscription manager.
- Master Data — site/account/attendee scope,
BusinessUnitPermission. - Finance — invoice/payment are read-only in the portal.