Dashboard
Welcome back, Admin 👋
📈 7-Day Activity
| Admin | Action | When |
|---|---|---|
| Loading… | ||
🎬 De animatie
By default the drawing follows the clock in Zaandam and the weather over the Schans. Every dial here says "follow" until you turn it. Nothing is saved until you press Save.
🎧 De Zaan vertelt
One true story a day, tied to a place. Written by you, or drafted by the assistant from facts the site already holds and read by you before it goes out. The voice reads only what is written.
ElevenLabs key: checking…
| Day | Story | Status | Audio | ▶ |
|---|---|---|---|---|
| Loading… | ||||
📍 Places
| Place | Category | District | Added | Status | Actions |
|---|
🎭 Events
Manage all events
Paste the contents of an .ics file (Google Calendar, Outlook, a venue's agenda export). Preview first; imported events are pending until you approve them.
| Event | Date | Category | Price | Featured | Status | Actions |
|---|
🚴 Routes
| Route | Type | Distance | Duration | Difficulty | Actions |
|---|
📜 History
| Year | Title | Featured | Status | Actions |
|---|
🖼 Gallery
Photo library
👥 Users
—
| User | Role | Status | Points | Joined | Actions |
|---|
🔍 Audit Log
| Time | Admin | Action | Entity | Detail |
|---|
📋 Activity Logs
Signups, logins, consent and admin changes — for your records
| Time | Action | User | IP | Detail |
|---|
⚖️ Legal documents
Edit Terms, Privacy, Cookie Policy & Disclaimer — published live to the site
Use <h3>…</h3> for headings and <p>…</p> for paragraphs. Saved changes appear on the public Legal page immediately. This is a strong starting point, not formal legal advice — have a Dutch lawyer review it.
🧱 Page Builder
Edit the hero text, images and sections of each page — published live
📈 Analytics
What people actually do on GoZaanstad
Search
What Google is handed, and where the site stands in its index.
| Page | Title | Description | Canonical | Open Graph | Structured data | h1 | Issues |
|---|
Title and description columns show character counts (a result shows about 60 and 155). Pages marked “per record” get their title, description, canonical and structured data from the server for each place, route, village or event.
📰 Newspaper
Write stories, add photos and video, link articles together. Published pieces appear at /news and in Google News.
🎬 Videos
One film on the homepage: the one you publish here. There is no built-in fallback, so an empty slot means no film.
The full-screen film block at the top of the homepage. Off removes the whole block; the page opens on the windmill scene.
Off (default) shows the poster and a play button, so nothing downloads until a visitor taps. On starts the film as soon as the page loads.
The frame shown before play. Leave it empty and the first frame of the published film is used.
For the web, export the film as H.264 (not HEVC), landscape 1920×1080 at 25 or 30 fps, with the index at the front (faststart), under about 60 MB. A 6K HEVC master of more than a gigabyte will not play in most browsers and cannot autoplay anywhere.
Everything sent to info@gozaanstad.nl and instagram@gozaanstad.nl, and everything you send back. Incoming mail is still forwarded to your Gmail as well — this is a copy you can read and answer here, so a confirmation code never depends on finding the right inbox.
📣 Mailings
News to the people who asked for it. Everyone on this list confirmed by email, and every mailing carries a one-click way off it.
| Subject | Status | Sent | |
|---|---|---|---|
| Loading… | |||
| Lang | Status | Since |
|---|
📦 Storage
Where uploaded photos and videos are kept. Every upload goes to Cloudflare R2 first — places, events, routes, districts, the gallery, the newsroom and the homepage film. If R2 is ever full or unreachable, the upload goes to Bunny.net by itself so nothing is ever lost, and it is written down below. Files already online keep working whatever you change here.
Move files between them
Copies every file from one provider to the other and repoints the site at the new copy. The originals are left where they are, so you can always switch back.
🛡️ Moderation
Photo suggestions and problem reports from visitors. Nothing changes on the site until you act here.
📷 Photo suggestions
⚑ Reports
🏅 Community
The points board on the homepage, and what the day planner is being asked for
Off removes the whole block — heading, text and list — from the page. It is not just hidden.
1 keeps brand-new accounts with no activity off the board. 0 shows everyone.
Every balance is the sum of that person's point ledger. Awards are written in one transaction and the same action can never pay twice. This recomputes every total from the ledger and reports anything that had drifted.
🏘 District photos
The full-screen photograph behind each district in the homepage scroll
These fill the whole screen as the visitor scrolls, so a wide, clean shot works best —
a skyline, an aerial, a village street or the water. A close-up or a scanned photo with
a border will read as half-empty at that size. Your own photos are ideal.
A green dot means you have replaced the default. Uploads go straight to the CDN and are
live on the homepage immediately.
🍪 Cookies
Control the consent banner and see what visitors choose
Leave text empty to use the built-in default. Strictly necessary cookies are always required and can't be turned off (GDPR).
🎬 AI Studio
Generate media with PoYo.ai and publish it to your homepage
Change the photo for each city — used on the homepage city story and the village profile. JPG/PNG/WebP, max 10MB.
Every generation is saved here permanently. Nothing is deleted unless you remove it.
🧾 Sales
Tickets and bookings paid through the site. Refunds go back through Stripe; the door checks codes here.
| Event | Sold | Checked in | Gross |
|---|
| When | Buyer | What | Qty | Amount | Status |
|---|
🏷 Claims
Members who say a place is theirs. Approve and they can add offers and take bookings; reject with a reason. You can also add an owner yourself.
| When | Place | Member | Message | Status |
|---|
📅 Bookings
Every booking at every place. A guest who cancels a paid booking leaves the refund to you: open the order (🧾) and refund there.
| When | Place · offer | Guest | People | Amount | Status |
|---|
💰 Finance
Every euro through the platform, per month and per quarter: what visitors paid, the sellers' VAT passed through, your commission with its 21% VAT, what Stripe cost, your margin, payouts open and paid. The register lists every issued document; the exports feed the bookkeeping.
| Month | Orders | Gross | Sellers' VAT | Commission | VAT on it | Stripe | Margin | Own sales | Refunds | Payout paid | Payout open |
|---|
| Q | 1a base 21% | 1a VAT | of which commission | 1b base 9% | 1b VAT | 1e base 0% | VAT due |
|---|
| Issued | Number | Kind | Recipient · place | Gross | VAT | Commission | Payout |
|---|
🏪 Sellers
Who the platform sells for. Verify a place's legal identity and bank account before it publishes priced offers, set its commission, read what it earned from tickets and bookings, and issue its monthly statement.
| Place · legal name | Status | Registers | Commission | This month | All time | Payout, all time |
|---|
💶 Payouts
Per place per month: what visitors paid, the seller's VAT inside it, the commission with 21% VAT, and the payout you transfer. Marking a month paid issues the statement with the next invoice number and mails the owners; 📄 opens the statement, 🏪 the seller.
| Place · seller | Orders | Gross | VAT in it | Commission + VAT | Payout | Status · invoice |
|---|