K
CityTales Kea · Operator
Loading status…
Dashboard
Operator overview — Internal preview · sandbox numbers
Bookings · this month
Sandbox
Pre-launch
Revenue · this month
€0
Paddle sandbox
Sandbox
Top experience
Awaiting live traffic
Active SKUs
Walks + activities + shop
Photo coverage
Of ~90 slots
ARIA-H
✓ green
Surface integrity nominal
Quick actions
Recent activity
WhenWhatDetail
No recent activity yet.
Routes (walks)
The four Kea walking routes · stops, prices, narration
Activities (scheduled)
Dive, feast, museum-actors, pottery workshop
Schedule
Sessions for dive, feast, museum-actors, workshop · next 30 days
Shop
Books, 3D replicas, artisan crafts, produce, bundles
ItemCategoryPriceStockStatus
Pricing rules
Base SKUs · membership tiers · discount rules
Base SKUs
SKUScopePrice
Membership tiers
TierPrice/yearPerks
Active rules
Trivia editor
Per-route quizzes — 5 questions per route, 8 routes
Photo Manager
~90 photo slots · loaded from /img/ or absolute URLs
Coverage
Each slot can be a relative filename (loaded from /img/) or an absolute URL. Click any tile to edit.
Audio & Music
Background music (hosted MP3s in /music/) · per-stop narration guides
Marketplace tenants
Local producers, shop tenants, channel partners
TenantCategoryTierFee / monthStatus
Bookings
Sandbox bookings · test mode (simulated card) until Paddle token set
RefDateExperiencePartyCustomerTotalKeepsakeChannelStatus
No bookings yet · sandbox.
Click "Seed sandbox bookings" to populate.
Customers
Sandbox customer database (no live data yet)
NameEmailBookingsLifetime valueLast seenTier
No customers yet · seed sandbox bookings to populate.
Discount codes
Generate, track, expire
CodeDiscountScopeUsed / capExpiresStatus
Settings
Operator preferences, integrations, tax
Operator
Tax / VAT
Payments (Paddle)
Card checkout mode
The PWA shows a simulated card (test mode — no real charge) until a Paddle client token is set below. With a token + price IDs, Checkout opens the live Paddle card overlay.
Test mode
Reset
CityTales Kea BO · build 0620-bo

Publish to PWA

The BO writes to localStorage in this browser only. To make changes visible to PWA users, you must publish: generate a data.json file, drop it into your PWA project folder, and redeploy.

Current state

Status
Last publishedNever
Routes in draft
Shop items in draft
Photo slots configured
Target PWA URLhttps://citytales-kea-pwa.pages.dev

Step 1 · Generate the data package

Click the button below to download data.json — a single file containing all your current routes, stops, shop items, music tracks, and personas. This file replaces what the PWA renders.

Step 2 · Place the file in your PWA folder

Move the downloaded data.json from your Downloads folder to your PWA project root:

mv ~/Downloads/data.json ~/Documents/SoafAii/CityTalesKea-PWA/

Step 3 · Redeploy the PWA

Run wrangler to push the updated folder to Cloudflare Pages:

wrangler pages deploy ~/Documents/SoafAii/CityTalesKea-PWA --project-name citytales-kea-pwa

PWA visitors will see your edits on next page load. The PWA fetches data.json at boot and overrides its built-in defaults if present.

Verify on the deployed PWA

Open the deployed PWA, open browser console (⌘+⌥+I), and look for:

[Data] Loaded BO overrides from data.json: EXPS(9), SHOP(20), MUSIC(5) · published_at=2026-…

If you see [Data] No data.json found — using inline defaults, the file did not deploy. Check the wrangler output and retry.

⚠ Roadmap

This is the v1 publishing workflow (manual file copy + redeploy). v2 will support direct push from the BO to Cloudflare R2 via authenticated API — no manual file move, no wrangler command. Until then, this 3-step flow is the way.

CityTales Kea · Operator

Choose how to explore the back-office