Every page in the platform
Read from the codebase each time this page loads, so it cannot go stale as we add screens. Links with a dynamic segment are filled in with a real record from the database where one exists.
36 pages91 API endpoints127 routes in total
Guest-facing · 11
What a PAÑPURI guest sees. No login — these are reached from a link in an email.
/
app/page.tsx
/arrive
app/arrive/page.tsx
/book
app/book/page.tsx
/book/[slug]
dynamicapp/book/[slug]/page.tsx
/checkin
app/checkin/page.tsx
/consultation/[token]
dynamicapp/consultation/[token]/page.tsx
/feedback/[token]
dynamicapp/feedback/[token]/page.tsx
/links
app/links/page.tsx
/my-booking
app/my-booking/page.tsx
/privacy
app/privacy/page.tsx
Staff console · 25
Behind the dashboard login, filtered further by role.
/dashboard
app/dashboard/page.tsx
/dashboard/analytics
app/dashboard/analytics/page.tsx
/dashboard/calendar
app/dashboard/calendar/page.tsx
/dashboard/consultations
app/dashboard/consultations/page.tsx
/dashboard/consultations/customer/[customerId]
dynamicapp/dashboard/consultations/customer/[customerId]/page.tsx
/dashboard/consultations/[id]
dynamicapp/dashboard/consultations/[id]/page.tsx
/dashboard/customers
app/dashboard/customers/page.tsx
/dashboard/customers/[id]
dynamicapp/dashboard/customers/[id]/page.tsx
/dashboard/duplicates
app/dashboard/duplicates/page.tsx
/dashboard/email-activity
app/dashboard/email-activity/page.tsx
/dashboard/feedback
app/dashboard/feedback/page.tsx
/dashboard/hotel
app/dashboard/hotel/page.tsx
/dashboard/issues
app/dashboard/issues/page.tsx
/dashboard/login
app/dashboard/login/page.tsx
/dashboard/messages
app/dashboard/messages/page.tsx
/dashboard/providers
app/dashboard/providers/page.tsx
/dashboard/restaurant
app/dashboard/restaurant/page.tsx
/dashboard/rooms
app/dashboard/rooms/page.tsx
/dashboard/roster
app/dashboard/roster/page.tsx
/dashboard/services
app/dashboard/services/page.tsx
/dashboard/settings
app/dashboard/settings/page.tsx
/dashboard/staff
app/dashboard/staff/page.tsx
/dashboard/translations
app/dashboard/translations/page.tsx
/dashboard/waitlist
app/dashboard/waitlist/page.tsx
/dashboard/workflows
app/dashboard/workflows/page.tsx
API · 91
Not clickable in a browser — most need a POST, a session cookie, or both. Listed so the surface is visible.
/api/authapp/api/auth/route.ts
/api/auth/azureapp/api/auth/azure/route.ts
/api/auth/azure/callbackapp/api/auth/azure/callback/route.ts
/api/availabilityapp/api/availability/route.ts
/api/availability-calendarapp/api/availability-calendar/route.ts
/api/bookingsapp/api/bookings/route.ts
/api/bookings/checkinapp/api/bookings/checkin/route.ts
/api/bookings/[id]app/api/bookings/[id]/route.ts
/api/businessesapp/api/businesses/route.ts
/api/businesses/[id]app/api/businesses/[id]/route.ts
/api/businesses/[id]/blocksapp/api/businesses/[id]/blocks/route.ts
/api/businesses/[id]/blocks/[blockId]app/api/businesses/[id]/blocks/[blockId]/route.ts
/api/businesses/[id]/locationsapp/api/businesses/[id]/locations/route.ts
/api/businesses/[id]/locations/[locId]app/api/businesses/[id]/locations/[locId]/route.ts
/api/business/[slug]app/api/business/[slug]/route.ts
/api/categoriesapp/api/categories/route.ts
/api/checkoutapp/api/checkout/route.ts
/api/consultation-formsapp/api/consultation-forms/route.ts
/api/consultationsapp/api/consultations/route.ts
/api/consultations/[id]app/api/consultations/[id]/route.ts
/api/consultations/[id]/annotationsapp/api/consultations/[id]/annotations/route.ts
/api/consultations/[id]/signapp/api/consultations/[id]/sign/route.ts
/api/consultations/token/[token]app/api/consultations/token/[token]/route.ts
/api/crm/link/request-otpapp/api/crm/link/request-otp/route.ts
/api/crm/link/verifyapp/api/crm/link/verify/route.ts
/api/crm/memberapp/api/crm/member/route.ts
/api/crm/statusapp/api/crm/status/route.ts
/api/crm/testapp/api/crm/test/route.ts
/api/cron/crm-syncapp/api/cron/crm-sync/route.ts
/api/cron/lapsedapp/api/cron/lapsed/route.ts
/api/cron/remindersapp/api/cron/reminders/route.ts
/api/cron/retentionapp/api/cron/retention/route.ts
/api/cron/workflowsapp/api/cron/workflows/route.ts
/api/customersapp/api/customers/route.ts
/api/customers/[id]app/api/customers/[id]/route.ts
/api/customers/[id]/dataapp/api/customers/[id]/data/route.ts
/api/customers/[id]/exportapp/api/customers/[id]/export/route.ts
/api/email/logapp/api/email/log/route.ts
/api/email/reminderapp/api/email/reminder/route.ts
/api/email/testapp/api/email/test/route.ts
/api/feedbackapp/api/feedback/route.ts
/api/feedback/token/[token]app/api/feedback/token/[token]/route.ts
/api/hotel/availabilityapp/api/hotel/availability/route.ts
/api/hotel/availability-calendarapp/api/hotel/availability-calendar/route.ts
/api/hotel/bookingsapp/api/hotel/bookings/route.ts
/api/hotel/bookings/[id]app/api/hotel/bookings/[id]/route.ts
/api/hotel/checkinapp/api/hotel/checkin/route.ts
/api/hotel/checkin/id-photoapp/api/hotel/checkin/id-photo/route.ts
/api/hotel/fare-calendarapp/api/hotel/fare-calendar/route.ts
/api/hotel/next-availableapp/api/hotel/next-available/route.ts
/api/hotel/room-typesapp/api/hotel/room-types/route.ts
/api/hotel/room-types/[id]app/api/hotel/room-types/[id]/route.ts
/api/issuesapp/api/issues/route.ts
/api/issues/[id]app/api/issues/[id]/route.ts
/api/members/duplicatesapp/api/members/duplicates/route.ts
/api/members/[id]app/api/members/[id]/route.ts
/api/members/mergeapp/api/members/merge/route.ts
/api/message-templatesapp/api/message-templates/route.ts
/api/migrateapp/api/migrate/route.ts
/api/my-bookingsapp/api/my-bookings/route.ts
/api/my-bookings/[ref]app/api/my-bookings/[ref]/route.ts
/api/preferencesapp/api/preferences/route.ts
/api/providersapp/api/providers/route.ts
/api/providers/[id]app/api/providers/[id]/route.ts
/api/resources/backfillapp/api/resources/backfill/route.ts
/api/restaurant/availabilityapp/api/restaurant/availability/route.ts
/api/restaurant/availability-calendarapp/api/restaurant/availability-calendar/route.ts
/api/restaurant/reservationsapp/api/restaurant/reservations/route.ts
/api/restaurant/reservations/[id]app/api/restaurant/reservations/[id]/route.ts
/api/restaurant/tablesapp/api/restaurant/tables/route.ts
/api/restaurant/tables/[id]app/api/restaurant/tables/[id]/route.ts
/api/roomsapp/api/rooms/route.ts
/api/rooms/[id]app/api/rooms/[id]/route.ts
/api/rosterapp/api/roster/route.ts
/api/servicesapp/api/services/route.ts
/api/services/[id]app/api/services/[id]/route.ts
/api/services/[id]/resourcesapp/api/services/[id]/resources/route.ts
/api/sessionapp/api/session/route.ts
/api/settingsapp/api/settings/route.ts
/api/staffapp/api/staff/route.ts
/api/staff/[id]app/api/staff/[id]/route.ts
/api/translationsapp/api/translations/route.ts
/api/translations/exportapp/api/translations/export/route.ts
/api/translations/googleapp/api/translations/google/route.ts
/api/translations/importapp/api/translations/import/route.ts
/api/uploadapp/api/upload/route.ts
/api/waitlistapp/api/waitlist/route.ts
/api/waitlist/[id]app/api/waitlist/[id]/route.ts
/api/webhooks/stripeapp/api/webhooks/stripe/route.ts
/api/workflowsapp/api/workflows/route.ts
/api/workflows/[id]app/api/workflows/[id]/route.ts
/book is the live guest booking page for the outlet set in Settings, so it stays as it is — this index lives at /links instead.