| When | What | Detail |
|---|---|---|
| No recent activity yet. | ||
| Item | Category | Price | Stock | Status |
|---|
| SKU | Scope | Price |
|---|
| Tier | Price/year | Perks |
|---|
| Tenant | Category | Tier | Fee / month | Status |
|---|
| Ref | Date | Experience | Party | Customer | Total | Channel | Status |
|---|---|---|---|---|---|---|---|
| No bookings yet · sandbox. Click "Seed sandbox bookings" to populate. | |||||||
| Name | Bookings | Lifetime value | Last seen | Tier | |
|---|---|---|---|---|---|
| No customers yet · seed sandbox bookings to populate. | |||||
| Code | Discount | Scope | Used / cap | Expires | Status |
|---|
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 published | Never |
| Routes in draft | — |
| Shop items in draft | — |
| Photo slots configured | — |
| Target PWA URL | https://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.