UI Pages Documentation

This reference tours the main screens of Tours by route. Pages are Next.js 16 App Router route segments under src/app/. The product is multi-portal — each area has its own URL prefix, layout and audience:

Area URL prefix Location
Storefront (public) /, /tours, /tours/[slug], /booking/… src/app/(site)/
Customer portal /customer/* src/app/customer/(app)/
Operator area /operator/* src/app/operator/(app)/
Influencer portal /influencer/* src/app/influencer/(app)/
Admin panel /admin/* src/app/admin/(panel)/

Authentication pages (/login, /register, /forgot-password, /reset-password, /verify-email) live in the shared src/app/(auth)/ group.

Every data-fetching page renders a layout-shaped skeleton (from @/components/ui/Skeleton) while loading, so there's no shift when data arrives. All copy is wrapped in t() and the storefront palette comes from the theme tokens (ink-* neutrals, brand-* primary blue) — nothing is hardcoded, since this is a white-label template.


Storefront pages (src/app/(site))

The public marketing + catalog experience. No sign-in required for browsing.

Page Route What it does
Home / Landing page — hero, featured tours, categories, testimonials
Tours /tours Catalog grid with search, category, destination and price filters
Tour detail /tours/[slug] A single tour — itinerary, inclusions, departures, operator, reviews, booking
Checkout /booking/checkout Choose a departure/travelers and pay (loads the signed-in customer)
Booking confirmed /booking/confirmed Post-payment confirmation
How it works /how-it-works Explains browsing, booking and travelling
Blogs /blogs Blog index and posts
Gallery /gallery Media gallery
About / Contact / FAQ / Enquiry /about, /contact, /faq, /enquiry CMS + lead-capture pages
Careers /careers Careers / jobs page
Legal /privacy-policy, /terms-and-conditions, /cookie-policy, /refund-policy Policy pages
Custom pages /[slug] CMS-authored pages from Admin → Pages

Home — /

The storefront landing page (src/app/(site)/page.tsx). Composes the hero slider, featured tours, categories, testimonials and CTAs. Public.

Storefront home page
The storefront home — hero, featured tours and categories.

Tours — /tours

The catalog grid (src/app/(site)/tours/page.tsx) with search plus category, destination and price filters. Each tour card shows the cover image, title, operator, rating, review count and a "from" price. The same data is available as JSON at GET /api/v1/tours (paginated / sortable / filterable) for the mobile app.

Tour catalog
The tour catalog with filters and facets.

Tour detail — /tours/[slug]

The conversion page for a single tour (src/app/(site)/tours/[slug]/page.tsx). Renders the title, gallery and key facts (group size / travelers, duration), the description, the day-by-day itinerary, what's included (inclusions), the available departures (dated options with per-departure pricing), the operator card, and reviews. The booking widget starts a booking for a chosen departure and party size. Data comes from GET /api/v1/tours/:slug (and /reviews).

Tour detail page
A tour detail page — itinerary, inclusions, departures, operator and book action.

Checkout — /booking/checkout

Collects the traveller/contact details and takes payment (src/app/(site)/booking/checkout/page.tsx). Pre-fills from the signed-in customer, lets you apply a coupon code, shows the order summary (subtotal, discount, tax if enabled, total), and presents the payment methods the store has enabled. On success it lands on /booking/confirmed; an offline method (bank transfer) shows a "payment pending" state until an admin confirms it. All totals are recomputed server-side — the client never supplies the amount.


Customer portal (src/app/customer/(app))

The signed-in area for travellers who book tours. /customer redirects to /customer/dashboard; the dashboard redirects to /login when signed out. The portal wraps children in a ToastProvider.

Page Route What it does
Dashboard /customer/dashboard Overview — upcoming trips, recent bookings and summary cards
My Bookings /customer/bookings All bookings with status; open one for its full detail/invoice
Messages /customer/messages Chat threads with operators; live updates and unread counts
Wishlist /customer/wishlist Saved tours; remove or jump back to the tour
Reviews /customer/reviews Reviews to leave for completed trips, and ones you've written
Payments /customer/payments Payment history and invoices
Notifications /customer/notifications Your activity notifications
Support /customer/support Raise and track support requests
Settings /customer/settings Profile, password and notification preferences

Dashboard — /customer/dashboard

The customer landing screen (src/app/customer/(app)/dashboard/page.tsx). Summarizes upcoming and recent bookings with quick links into the rest of the portal.

Customer dashboard
The customer dashboard — bookings at a glance.

My Bookings — /customer/bookings

Lists the customer's bookings from the portal API, each opening a detail view with the tour, departure date, travellers, price breakdown and a downloadable invoice.

Customer bookings
My Bookings — every trip the customer has booked.

Operator area (src/app/operator)

The workspace for operators (tour sellers). Non-operators can apply through the Become an operator wizard at /operator/become; each approved operator also has a public profile at /operator/[slug]. The signed-in workspace lives under src/app/operator/(app).

Page Route What it does
Dashboard /operator/dashboard Headline KPIs — bookings, revenue and pending items
Tours /operator/tours Create and manage the operator's tour listings
Calendar /operator/calendar Departure availability calendar
Reservations /operator/reservations Incoming bookings to confirm / manage
Inbox /operator/inbox Messages with customers
Payouts /operator/payouts Earnings and payout records
Insights /operator/insights Performance analytics
Plan & Billing /operator/billing Subscription plan and billing
Reviews /operator/reviews Reviews left on the operator's tours
Settings /operator/settings Operator profile & preferences

Dashboard — /operator/dashboard

The operator landing screen (src/app/operator/(app)/dashboard/page.tsx), surfacing the operator's tours and headline metrics with a switch between the customer and operator views.

Operator dashboard
The operator dashboard — bookings and revenue at a glance.

Tours — /operator/tours

The operator's tour manager (src/app/operator/(app)/tours/page.tsx) — create, edit and publish tour listings, their itineraries, inclusions and departures.

Operator tours
Manage the operator's tour listings.

Influencer portal (src/app/influencer/(app))

The area for marketing partners who promote tours for commission.

Page Route What it does
Dashboard /influencer/dashboard Earnings, clicks and conversions overview
Referral Links /influencer/referral-links Generate and manage tracked share links
Tours /influencer/tours Browse promotable tours and grab links
Bookings /influencer/bookings Bookings attributed to the influencer
Commission /influencer/commission Commission earned per booking
Payouts /influencer/payouts Payout history and requests
Analytics /influencer/analytics Traffic and conversion analytics
Marketing Materials /influencer/marketing-materials Share tools and promo assets
Notifications /influencer/notifications Activity notifications
Settings /influencer/settings Profile & payout details

Admin panel (src/app/admin/(panel))

The administration console. Requires an admin_token session; write actions are RBAC-gated per route. Pages typically open with a PageHeader and use the admin UI kit. The sidebar is data-driven from src/product/admin-nav.ts.

Group Key pages
Overview /admin/dashboard — KPIs + revenue chart
Bookings /admin/calendar, /admin/calendars (availability), /admin/bookings, /admin/customers, /admin/coupons, /admin/extras, /admin/settings/booking
Catalog /admin/tours, /admin/operators, /admin/inclusions, /admin/master-data, /admin/reviews
Marketing /admin/marketing/influencers
Leads /admin/leads/contacts, /admin/leads/enquiries, /admin/leads/newsletter
Content (CMS) /admin/pages, /admin/theme-builder, /admin/hero-slider, /admin/menus, /admin/blogs, /admin/media, /admin/faqs, /admin/gallery, /admin/testimonials, /admin/partners
Settings /admin/settings/* (theme, integrations/add-ons, users/roles/permissions, localization, monetization, plans, backup, …)

Dashboard — /admin/dashboard

The admin landing screen (src/app/admin/(panel)/dashboard/page.tsx). Shows headline KPIs (revenue, paid bookings, average order value, customers) and a revenue-over-time chart, with lists of top tours, recent bookings and pending operator applications. Data comes from the admin dashboard API.

Admin dashboard
The admin dashboard — KPIs and a revenue-over-time chart.

Tours (admin) — /admin/tours

The catalog management surface (src/app/admin/(panel)/tours/page.tsx). A filterable table of every tour — cover, title, operator, category, price, rating and status — with create/edit and the approval flow for operator-submitted tours (draft → pending → published, or rejected/archived).

Admin tours
Manage and review the tour catalog.

Bookings (admin) — /admin/bookings

Booking management (src/app/admin/(panel)/bookings/page.tsx). Summary cards plus a tabbed table by status; each booking opens to show the customer, tour and departure, the pricing breakdown, coupon and payment reference, with Issue refund and Mark as paid actions.

Admin bookings
Customer bookings and payment transactions.

Add-ons & Integrations — /admin/settings/integrations

The add-ons screen (src/app/admin/(panel)/settings/integrations/page.tsx) where premium integrations and feature add-ons are unlocked with a purchase code and toggled on. See the Integrations Guide.

Admin add-ons and integrations
Add-ons — connect integrations, activate features, enter purchase codes.

Settings — /admin/settings/*

The settings hub. Each section is a route segment under src/app/admin/(panel)/settings/ and reads/writes via its own admin API route: theme (Theme Options / Appearance), booking, payments, currencies, countries, locations, languages, monetization (operator commission/payouts), plans (operator subscription tiers), users, roles, permissions, integrations (add-ons), webhooks, api-tokens, backup, notifications, notification-log, and activity.


© CreativeCape Solutions · creative-cape.com · support@creative-cape.com