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 Manager
Per-stop audio guides · language variants · duration
Marketplace tenants
Local producers, shop tenants, channel partners
TenantCategoryTierFee / monthStatus
Bookings
Sandbox bookings · live activation pending Paddle
RefDateExperiencePartyCustomerTotalChannelStatus
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
Paddle
Sandbox mode
All payments go through Paddle sandbox.
Reset

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