Knowledge > System Architecture > Routes Catalog
Routes Catalog — churchwiseai-web
The churchwiseai-web codebase serves multiple brands via hostname rewrites in middleware.ts:
- churchwiseai.com — base hostname
- sermonwise.ai →
/sermons/* - sharewiseai.com →
/social/* - wiseaiagency.com →
/wiseaiagency/* - funeralwiseai.com →
/funeralwiseai/* - veterinarywiseai.com →
/vetwiseai/* - {slug}.john316.church →
/s/[slug]
Routes derivable from src/app/<route>/page.tsx are not all listed here — only those with non-obvious behavior (subdomain rewrite, token gating, lifecycle rules, lens-gating, etc.).
ChurchWiseAI core
| Route | Purpose |
|---|---|
/ | Homepage (hero, products, trust, CTA) |
/voice, /pricing, /care, /demo | Product marketing pages |
/chat | Chat assistant feature page — sells the chat assistant included in Website ($29/mo) and Complete ($99/mo); /chatbot and /ai-chatbot 308 here. Spec acceptance/cwa-chat-feature-page.md. Not to be confused with /chat/[slug] (noindex, the per-church hosted chat interface), a different file outside the (cwa) route group. |
/integrations, /integrations/[slug] | Partners grid + detail |
/compare/[slug] | Competitor comparison |
/ai-for/[denomination] | Denomination SEO pages (param appears as [lens] in code) |
/apps | App marketplace (Coming Soon cards) |
/contact, /book, /thank-you | Lead capture |
/blog, /blog/[slug] | Blog |
/about, /privacy, /terms, /refund-policy, /ai-safety, /ethics, /security, /hear, /resources | Static |
/admin/[token] | Full church admin dashboard (Overview/Calls/Requests/Care/Settings/Upgrade) — admin_token gated |
/onboard | New church onboarding (Stripe checkout → provision → magic link email) |
/founder/[token] | Founder-only internal dashboard (metrics, watchtower, outreach, QA) — FOUNDER_TOKEN gated |
/founder/[token]/morning-brief | Daily Morning Brief composed at 7am Toronto by /api/cron/morning-brief-compose. P0/P1 counts, customer count, founder action items. Emailed to john@churchwiseai.com. |
/founder/[token]/daily-ops | (1) GSC manual-indexing: curated URL queue + rolling-24h global quota dial (GSC cap is per-Google-account, not per-property — see gsc_url_suggestions/gsc_indexing_submissions); (2) social-media post queue per property+platform+day with auto-rendered branded LinkedIn PNG (/api/og/social/[id]). |
/founder/[token]/outreach-engine | Outreach Engine dashboard — campaign list, funnel metrics, prospect timeline, manual actions. Phase 5 scrape-and-demo engine admin UI. |
/founder/[token]/hq | Founder HQ (2026-09-11) — a CEO command-center link directory + "ask about the business" assistant, spec acceptance/founder-hq.md. Six tabs (Test & Demo, Properties, Admin, Sales & CRM, Ops, Chamber) render src/lib/founder/hq-links.ts, a typed static registry that is the single source of truth for every founder-facing test/demo/admin/CRM/ops link — intended to double as the daily QA sweep's future link-liveness source. Entries needing FOUNDER_TOKEN or a DB value are resolve-shaped and evaluated server-side at render time, never a literal secret in the registry source. Same token-gate pattern as morning-brief (notFound() on mismatch); not host-aliased. The assistant panel posts to /api/founder/hq-chat, a separate, narrower sibling of the existing tool-calling /api/founder/chat business agent — link-lookup only, grounded strictly in the registry + product_knowledge + canonical pricing, never invents a URL. |
/test/chatbot | Chatbot test lab (founder token-gated) |
Pro Website
| Route | Purpose |
|---|---|
/s/[slug] | Pro Website public renderer (ISR, accessed via {slug}.john316.church subdomain) |
/s/[slug]/[page] | Multi-page Pro Website extra page (About/Ministries/Sermons/Contact/blank). ISR, SimplePageTemplate + BlockRenderer. Up to 8 per site. See knowledge/acceptance/pro-website-multipage.md. |
/s/[slug]/privacy, /s/[slug]/terms | Per-church privacy/terms (rendered under Pro Website subdomain) |
/s/[slug]/articles, /s/[slug]/articles/[postSlug], /s/[slug]/articles/feed | MINISTRY template Stories & Articles (index paginated at 12, article page, RSS 2.0 feed). Ministry tenants only — 404 for churches; drafts render only with ?draft=<admin_token>. Store = church News posts (re_content_items); a ministry's /blog 308s here. Spec acceptance/pro-website-ministry-template.md §15. |
/pro-website | Marketing landing page (sells the standalone $19.95/mo product) |
/p/[token] | Outreach short-link resolver — stamps pro_website_clicked_at, 302s to /preview/[slug]?ref=outreach_{token}. See knowledge/flows/cold-outreach-no-website-pro-website.md. |
/preview/[slug] | Cold-outreach landing preview — 3-template switcher, share-with-board button, no-chatbot/no-custom-hero, 30-day lifecycle, deep-links to /onboard for activation. noindex. |
/help/pro-website | Customer-facing help doc |
Living Word (gamified Bible curriculum)
| Route | Purpose |
|---|---|
/living-word | 2D Bible adventure prototype (scenes, scribes, quests, XP, theological lenses). Live-ops 2026-05-24: in-HUD liturgical calendar chip + CalendarEventModal — three-feast default (Christmas/Easter/Pentecost); lens-gated Advent/Lent/Christ the King for Catholic/Orthodox/Anglican/Lutheran/Methodist. |
/living-word/about | Backstory, methodology, team, philosophy, contact. Phase-1A lead-gen surface (PR #559). |
/living-word/daily | Daily Puzzle (Wave 1) — a free Wordle-style 5-letter Bible word game. One UTC-keyed puzzle/day, 6 guesses, teaching reveal, spoiler-free emoji share card, grace-day streak, earned-trust ChurchWiseAI doorway. Self-contained (does NOT mount the narrative engine). Spec: knowledge/acceptance/living-word-daily-puzzle.md. |
/living-word/scenes | SEO/GEO hub (Wave 1) — crawlable index of all 16 scene landing pages, with ItemList JSON-LD. Funnels to the free game. Content layer: churchwiseai-web/src/app/living-word/data/scene-seo.ts. |
/living-word/scene/[slug] | SEO/GEO scene landing pages (Wave 1, 16 pages, slug = SceneId). Per-scene passage intro + "what you'll explore" + LearningResource/BreadcrumbList JSON-LD; CTA → /living-word (sequential journey, no mid-game deep-link). Auto-indexed via the daily IndexNow cron once in the sitemap. |
/living-word/educator | UGC Phase 1A. Lists educator's quizzes with status badges (draft / submitted / checking / auto_approved / editorial_review / rejected / published / retired). Layout-gated by paid educator tier. See knowledge/acceptance/living-word-ugc-phase1.md. |
/living-word/educator/new | Kahoot-style single-screen quiz creator. Live linter (regex + scripture + reading-level). Save-as-draft or submit-for-review. |
/living-word/educator/[id]/edit | Edit draft/submitted/rejected quiz. Published quizzes are immutable (spec §9). |
/living-word/educator/preview | Student-view preview of educator's published quizzes (read-only). |
/from-living-word | ChurchWiseAI lead-gen landing for Living Word players. All in-game CTAs (footer, scene-completion bloom, NPC chat-close, Legacy Bloom finale) route here with UTM tagging. |
/from-living-word/educator | Educator authoring upsell landing — the redirect target when an unauth or ineligible user hits /living-word/educator. Surfaces the three planned educator tiers ($79/$299/$999/yr), seminary fast-track, EducatorEarlyListForm, and sign-in path. |
/signin | Magic-link sign-in surface (Supabase Auth). Used by Living Word "Sign in to save progress" CTA in the intro screen and by other surfaces that need a standalone sign-in landing. |
SermonWise + ShareWise (hostname rewrites)
| Route | Purpose |
|---|---|
/sermons/* | SermonWise AI app (sermonwise.ai hostname rewrite) |
/sermon-generator, /homily-ai, /sermon-writer | "Sermon generator" page family (spec knowledge/acceptance/sermonwise-sermon-generator-pages.md, keyword evidence knowledge/drafts/sermonwise-sermon-generator-keyword-map-2026-10-06.md). Ceiling of exactly 3 pages — the keyword map found zero search demand for any tradition-qualified "sermon generator"/"homily generator" phrase, so there are deliberately no /sermon-generator/<tradition> routes; the 8 traditions are anchored sections inside /sermon-generator instead. /homily-ai pre-selects the Catholic lens in the embedded generator (OutlineGeneratorStarter's defaultTradition prop) — GSC already showed this query at position 9.7 with no dedicated page. /sermon-writer is the full-written-draft angle (same engine, deeper output), distinct from the narrower /sermon-outline-generator. Data: src/lib/sermon-generator-pages.ts; anti-thin-page rules (≥900 words page-specific prose per page, ≤150 words shared boilerplate, no 12+-word sentence shared across records) enforced by src/lib/__tests__/sermon-generator-pages.test.ts. Served via the same /sermons/* → sermonwise.ai hostname rewrite as /sermon-outline-generator; source files live under src/app/sermons/. |
/social | ShareWiseAI marketing page (sharewiseai.com hostname rewrite) |
/social/pricing | ShareWiseAI pricing (Free/Pro/Business/Agency) |
/social/app/* | ShareWiseAI app (dashboard, compose, calendar, analytics, campaigns, library, platforms, settings, ai-advisor) |
WiseAI Agency hub (wiseaiagency.com rewrite)
| Route | Purpose |
|---|---|
/wiseaiagency | Meta-brand home — parent/tech/trust brand for the vertical family |
/wiseaiagency/verticals | All vertical brands directory |
/wiseaiagency/technology | LiveKit voice, multi-agent orchestration, HEAR protocol, per-vertical training |
/wiseaiagency/playground | Phase 4c Demo Playground — product (chatbot/voice) × vertical (funeral, vet, dental, restaurant, law, real estate) live demos |
/wiseaiagency/about, /contact, /privacy, /terms, /security | Hub-scoped pages |
/wiseaiagency/[city] | Local SEO landing — ingersoll, london-ontario, woodstock, tillsonburg. JSON-LD LocalBusiness schema. Target Oxford / SW Ontario. |
/wiseaiagency/pricing | Hub-level cross-vertical pricing comparison. USD/CAD toggle defaults by Vercel geo-IP. Display-only; checkout on each vertical's own pricing page. |
/wiseaiagency/skills | Cross-vertical prompt-pack marketplace (Pastor + Funeral Director packs). Paste-into-AI prompts — NOT Claude Code skills (audience pivoted 2026-05-15). |
/wiseaiagency/ai-front-desk | Local Business Platform Lane 3 offer — $1,245 setup + $295/mo. Voice agent + chatbot + lead capture + intake/follow-up. Not yet linked in nav (founder review pending). |
/wiseaiagency/missed-lead-recovery | Lane 3 — $745 setup + $145/mo. Shared lead inbox + status pipeline + 24h reminders. Not yet linked. |
/wiseaiagency/review-engine | Lane 3 — $295 setup + $95/mo. Email/SMS Google-review requests with private-feedback routing for unhappy customers. Not yet linked. |
/wiseaiagency/local-authority | Lane 3 — $1,995 setup + $495/mo. AI Front Desk + Review Engine + monthly reporting + local SEO content. Not yet linked. |
/business/[token] | Local Business Platform customer dashboard (wiseaiagency.com hostname). Per-business admin_token gated; tabbed shell (Overview/Leads/Follow-ups/Review Requests/Setup/Modules/Monthly Report) module-gated; non-entitled tabs shown disabled-as-upsell. Token-link only — no public login. noindex. |
/r/[token] | Local Business Platform private-feedback landing (wiseaiagency.com). Unhappy-path of Review Engine — star-rating + feedback form, creates review_feedback lead, alerts owner. Never shows/redirects to Google. noindex. |
/intake/[slug] | Local Business Platform public lead-intake form (wiseaiagency.com). Per-business keyed by local_businesses.slug; submission creates a form-source lead. Rate-limited + BotID soft-gate. noindex. |
/realtor/* | WiseAI Realtor backend (Phase 6 auth bridge, auth-rbac §5). Per-user Supabase Auth on the realtor vertical (wiseaiagency.com). /realtor/login, /realtor/forgot-password, /realtor/update-password, /realtor/mfa = public auth-entry — passwordless magic-link/OTP default + password + Google + Microsoft OAuth + MFA/TOTP. /realtor/accept-invite?token= = invite acceptance (signs in, then materializes realtor_users + realtor_memberships; email-bound, R6). /realtor/app = session-gated authed backend (middleware handleRealtorAuth + layout; membership → caps via requireRealtorCapability); placeholder pending the full command center. Middleware exempts /realtor from the wiseaiagency rewrite. The legacy /business/[token] dashboard keeps working via the dual-auth re_legacy bridge cookie. noindex. |
/api/realtor/* | WiseAI Realtor identity/auth APIs — /invites (owner-gated create + list), /invites/[id] (resend/revoke), /invites/accept (POST {token}; requires a session; email-bound). In SHARED_API_PREFIXES so it resolves on the wiseaiagency.com host. |
/embed/brand | Iframe-hosted brand sales chatbot (Phase 4a) — loaded by public/embed/churchwiseai-widget.js when data-brand-scope is set. Talks to /api/chatbot/unified with brand param. noindex. |
/embed/business | Iframe-hosted realtor/local-business chat (bring-your-own-website embed) — loaded by public/embed/wiseai-agent.js when a realtor pastes the WiseAI embed snippet on their own site. Resolves the tenant by businessId + vertical and mounts the same real-estate chat (Aria) in <ChatWidgetStream embedded>; POSTs to /api/chatbot/demo so leads flow to the realtor's dashboard. Served on wiseaiagency.com (middleware exempts /embed from the rewrite). noindex. |
FuneralWiseAI (funeralwiseai.com rewrite)
| Route | Purpose |
|---|---|
/funeralwiseai | Home — first new commercial vertical (AI answering for funeral homes) |
/funeralwiseai/how-it-works | HEAR protocol, call flow, integration, privacy |
/funeralwiseai/pricing | $745 USD / $995 CAD setup + $199 USD / $249 CAD per month. Setup revised 2026-05-02 per knowledge/decisions/2026-05-02-vertical-setup-pricing-revision.md. |
/funeralwiseai/about, /book | Founder pastoral story; demo request form |
/funeralwiseai/checkout | Self-serve checkout — USD/CAD + email/name form, POSTs to /api/stripe/funeral-checkout. Sales-led demo at /book remains primary CTA. noindex. |
/funeralwiseai/thank-you | success_url target from /api/stripe/funeral-checkout. Reads session_id + source. Subdued (not celebratory) confirmation, 24-hour white-glove follow-up promise. noindex. |
/funeralwiseai/skills | Funeral Director Prompt Pack index — 5 free MIT-licensed paste-into-AI prompts. Email-gated via EmailGate → /api/newsletter with tag skill-pack-funeral. Drip from MailerLite automation 187733617933288772. Faith-neutral default; HEAR-anchored; trauma-informed cause-of-death language. Slate + copper + bone brand. |
/funeralwiseai/skills/[slug] | Individual prompt page — monospace <pre> PromptBlock with Copy. Pack-level localStorage unlock (wiseai-skill-unlocked:skill-pack-funeral); drip-email links carry ?u=skill-pack-funeral for cross-device unlock. |
/funeralwiseai/funeral-home-answering-service, /after-hours-answering-service-funeral-homes, /ai-receptionist-for-funeral-homes, /asd-alternative | SEO landing pages (keyword targets / ASD competitor comparison) |
/funeralwiseai/resources, /resources/first-call-script, /resources/first-call-intake-checklist, /resources/after-hours-price-calls, /resources/funeral-price-call-script, /resources/funeral-rule-phone-checklist, /resources/what-to-ask-when-someone-dies-at-home | Free guides, scripts, checklists for funeral-home phone handling |
/funeralwiseai/tools/missed-call-calculator | Interactive missed-call revenue-loss calculator |
/funeralwiseai/privacy, /funeralwiseai/terms | Brand legal pages (added 2026-08-04). The footer linked /privacy + /terms on every page and both 404'd on the brand host. Body shared with VetWiseAI via src/components/brand-family/legal/; facts sourced from knowledge/data/policies.yaml. Both state FuneralWiseAI is a product of ChurchWiseAI LTD. ⚠️ Pending founder/legal review. |
VetWiseAI (veterinarywiseai.com rewrite)
| Route | Purpose |
|---|---|
/vetwiseai | Home — second commercial vertical. Full marketing site shipped Phase 4 #8. |
/vetwiseai/how-it-works | HEAR protocol + ASPCA Poison Control triage |
/vetwiseai/pricing | $745 setup + $199/mo (Starter) or $299/mo (Pro). USD/CAD toggle |
/vetwiseai/about, /book | About + demo request form (POSTs to /api/contact source=vetwiseai) |
/vetwiseai/checkout | Tier selector (Starter/Pro) + USD/CAD, POSTs to /api/stripe/vet-checkout. noindex. |
/vetwiseai/thank-you | success_url target from /api/stripe/vet-checkout. ASPCA Poison Control + DVM on-call rotation noted in next-steps. noindex. |
/vetwiseai/privacy, /vetwiseai/terms | Brand legal pages (added 2026-08-04). Same defect and fix as FuneralWiseAI — the footer linked both on every page and both 404'd. Shared body via src/components/brand-family/legal/; the vet config states plainly that veterinary records are NOT HIPAA-covered, so no HIPAA claim can be read into the service. Both state VetWiseAI is a product of ChurchWiseAI LTD. ⚠️ Pending founder/legal review. |
ChurchWise (churchwise.ca rewrite → /churchwise/*)
AI-quiet compliance-tool sub-brand (spec acceptance/churchwise-compliance-kit.md). Exact-host rewrite in middleware.ts §0d2 (isChurchWiseHost). Public URLs are root-relative on churchwise.ca; every source path below lives under src/app/churchwise/.
| Route | Purpose |
|---|---|
/churchwise | Home. Persona line, four free tools with "you leave with" lines, Safe Church Tracker card, Guides section, "how we check accuracy". Own chrome (layout.tsx), no ChurchWiseAI header/footer/chat bubble. |
/churchwise/clergy-housing-calculator | Clergy residence deduction (Canada, T1223 line 23100) and housing allowance (US, IRC §107) calculator. Screening → inputs → disclaimer gate → result with line-by-line working, "Next steps" (T1223/T1213 links, line-23100 sanity check, print-to-save) and an optional CASL-consented "January re-check" email capture (/api/newsletter, tag churchwise-clergy-housing-recheck). Query prefill ?country&housing&rem&months&rent&box30 fills numbers only, never a screening answer. Maths: src/lib/churchwise/clergy-housing.ts; rules yaml synced from products/churchwise/sources/. |
/churchwise/church-bylaws-generator | CNCA / ONCA / US-skeleton by-law generator, Word + PDF. Engine src/lib/churchwise/bylaws.ts. |
/churchwise/child-protection-policy | Child and vulnerable-person protection policy generator (LIFE-SAFETY-adjacent; generation blocked until every reporting contact is filled). Engine src/lib/churchwise/protection-policy.ts. |
/churchwise/donation-receipt-generator | CRA official receipts / IRS year-end statements, one donor or CSV; donor data never leaves the browser. Engine src/lib/churchwise/donation-receipts.ts. |
/churchwise/guides, /churchwise/guides/[slug] | Six static treasurer/clergy guides (added 2026-09-28) from src/lib/churchwise/guides-content.ts: the deduction explained, the tax-software refund jump, T4 box 30 / box 26 for treasurers, T1213 at-source reduction, who qualifies (incl. Schroeder 2024 TCC 56), US housing-allowance mistakes. Article + FAQPage + BreadcrumbList JSON-LD; in sitemap and llms.txt. Source content: drafts/churchwise-adversarial-review-and-clergy-tax-faq-2026-09-28.md. |
/churchwise/privacy, /churchwise/terms | ChurchWise's own legal pages (added 2026-09-28; before this the footer sent visitors to the ChurchWiseAI SaaS terms, which had no free-tools clause). Cookieless analytics on this host: no consent banner, PostHog memory persistence, no GA/Ads/Meta pixel. ⚠️ Not lawyer-reviewed. |
/churchwise/tracker | Safe Church Tracker landing ($9.95/mo or $99.50/yr, 14-day trial, no card to start; included with any ChurchWiseAI plan). |
/churchwise/signin, /churchwise/signin/confirm | Tracker email-link sign-in from hello@churchwise.ca (noindex). |
/churchwise/app, /churchwise/app/policy, /churchwise/app/settings, /churchwise/app/billing | Tracker coordinator area (noindex, ph-no-capture). Spec acceptance/churchwise-safe-church-tracker.md. |
/churchwise/confirm/[token] | Public volunteer policy sign-off page (noindex). |
/churchwise/unsubscribe/[token] | Reminder unsubscribe confirmation; makes no request on load. |
Thames Valley Gifts (thamesvalleygifts.ca rewrite — planned, no page.tsx exists yet)
Full design: research_notes/Thames Valley Gifts build/architecture_decision.md (Option D) §2.7. Acceptance specs (all DRAFT, founder Stage-2 review pending): knowledge/acceptance/tvg-storefront.md, tvg-proof-to-pay.md, tvg-ops-and-payouts.md, tvg-ai-front-desk.md. Wave A (2026-09-28) ships only migrations/20260928_tvg_core.sql + src/lib/tvg/ — every route below is catalogued now (Rule 14/16: route map before code) and lands in Wave B (storefront + proof/pay + host wiring + founder ops) or Wave C (AI front desk). A new thamesvalleygifts.ca host block is added to middleware.ts + PLATFORM_HOST_SUFFIXES (both copies — src/lib/pro-website-host-resolve.ts too) in Wave B/WP5, rewriting to /tvg/*; a bare /tvg/* hit on churchwiseai.com is noindex + 308s to the brand host. TVG is NOT a premium_churches row and never writes the canonical plan column (Rule 23).
| Route | Purpose |
|---|---|
/ | Hub home — product families, makers strip, "How it works", trust strip. Stays in "Opening soon" (noindex, waitlist-only) mode until shipping/tax/first-available-product conditions are met (tvg-storefront.md §3.7). |
/shop (?type=&occasion=&maker=&status=) | Grid, filterable. Every tile always shows the maker name and a text status badge (Available / Coming soon / Example — never colour alone). |
/makers, /makers/[maker] | Maker index ("Made nearby") + profile (story, town, specialty, their products). No commission rate, no maker contact info, no "sell with us" form at launch. |
/makers/[maker]/[product] | PDP — gallery + live SVG personalization preview, the full form (text/verse/monogram/photo/choice/quantity fields), read-back, final-sale checkbox, "Request a proof" (the ONLY primary action — no cart, no "Buy now"). example shows no form/no price/no button; coming_soon shows a preview-only panel + waitlist form. |
/bulk | Named B2B surface (churches, realtor closing gifts, team orders): quote-request form, kind='bulk_quote'. |
/guides/monogram, /guides/photo-engraving, /guides/verses | Education pages linked from the matching form fields. |
/request/[token] | Customer's persistent status page (timeline, one primary next action, add-photo, cancel). Token-gated (sha256-hashed, wrong token → 404), noindex, Referrer-Policy: no-referrer, Cache-Control: private, no-store. |
/proof/[token] | Proof review: exact text read-back, price table with the tax line, "Approve and continue to payment" / "Request changes". GET never mutates. |
/pay/[token] | Server route → a FRESH Stripe Checkout Session every click (24h expiry; the prior open session is expired first, so at most one is ever payable). |
/order/thanks | Confirmation — reads the order number only, never a Stripe session id or personal data; polls briefly if the webhook hasn't landed yet. |
/policies/shipping, /policies/returns, /privacy, /terms, /about, /contact | Legal + informational pages from a new THAMES_VALLEY_GIFTS_LEGAL entry in src/components/brand-family/legal/config.ts and a tvg: section of knowledge/data/policies.yaml. Footer on every page: "Thames Valley Gifts is a division of ChurchWiseAI LTD." |
churchwiseai.com/founder/[token]/tvg | Founder ops Action list — 6 queues (unanswered requests, proofs awaiting approval, approved-not-paid, in production, due today, voice/chat leads to promote). Founder-token gated (notFound() on mismatch, same pattern as /founder/[token]/hq); force-dynamic; noindex. 404s on the thamesvalleygifts.ca host — the ops surface never renders on the brand host. |
churchwiseai.com/founder/[token]/tvg/requests/[id] | Request detail: items, uploads (signed URLs), quote editor, proof send, payment recording, fulfilment actions, full event log. |
churchwiseai.com/founder/[token]/tvg/catalog, /catalog/[id] | Product CRUD, status gate (agreement + HST-treatment gated available transition), personalization-schema form builder + raw JSON editor (shared validator with the storefront), image manager. |
churchwiseai.com/founder/[token]/tvg/makers, /makers/[id] | Maker CRUD, commission (commission_bps, per-maker, 0-5000 bps, default 2000 — a FOUNDER DECISION parameter, never a constant), the agreement gate. |
| `churchwiseai.com/founder/[token]/tvg/payouts?period=YYYY-MM-A | B` |
churchwiseai.com/founder/[token]/tvg/tax?from=&to= | HST/GST accounting export (per-jurisdiction + per-maker registrant-treatment tables). |
churchwiseai.com/founder/[token]/tvg/kpis?week=YYYY-Www | Weekly honest-metrics-only scorecard (no "Delivered"/"Opened" theater — OUTBOUND_PROCESS_MAP rule applies here too). |
churchwiseai.com/founder/[token]/tvg/settings | Tax-rate table, flat shipping rate, payout_basis (paid vs completed — a config value, default completed), pickup instructions, AI knowledge sync button. |
AI front desk (Wave C): chat is a dedicated POST /api/tvg/chat (see docs/api-catalog.md), never the life-safety /api/chatbot/stream. Voice reuses the EXISTING generic local_business persona/DID — no new voice route or vertical in Wave A/B; a gift_shop voice vertical (full voice-deploy gate) is explicitly Phase 3/deferred.
Prompt Packs (churchwiseai.com)
| Route | Purpose |
|---|---|
/skills | Pastor AI Prompt Pack index — 7 free MIT-licensed prompts. Email-gated → /api/newsletter tag skill-pack-church. Drip from MailerLite automation 187733559994221623. AI Bridge anchored; tradition-aware (17 traditions); voice-checked banned-phrase enforcement. Sacred gold + navy + cream brand. Audience pivoted 2026-05-15 from Claude Code skills to paste-into-chat AI prompts. Archived Claude Code skill content remains at content/skill-packs/. |
/skills/[slug] | Individual prompt page — PromptBlock with Copy. Pack-level localStorage unlock (wiseai-skill-unlocked:skill-pack-church); drip-email ?u=skill-pack-church for cross-device unlock. |