Keep submitted data in localStorage so "Resume" works on return visits.
Stop overwriting local edits with older server data during resume —
email lookup now only sets the update flag, preserving local changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove welcome-back modal entirely. Email lookup now silently loads
server data without prompting. Only resume prompt is "Resume where you
left off" on the landing page. Rename "Begin Application" to
"Restart Application" with white/secondary button style.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restore "Resume where you left off" on the landing page. When clicked,
restores localStorage data and does an email lookup to show the
welcome-back modal. Fresh starts still get the email check on step 1
as a fallback for existing applications.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the duplicate "Resume where you left off" notice on the landing
screen. Now localStorage data is silently restored on form start, and
the email-based welcome-back modal on step 1 is the only resume prompt.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Swap steps 1 and 2 so email is collected first, enabling returning
user detection right away. Make "How did you hear about VotC" optional.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add GET /api/application/lookup endpoint for public email-based lookups,
PUT /api/application handler for updating existing applications, and
frontend flow that detects returning users after step 2 with a
welcome-back modal to pre-fill and update their application.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove Q8-10 (theme ranking, familiarity, belief update) from application
form — to be asked later. Remove pricing text from week selection hint.
Add partner booking disclaimer to couple room option. Add /api/mollie/resume
endpoint so applicants can re-open payment from confirmation email link.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Registration: Early Bird €120/wk (before May 15), Standard €200/wk
(before Jul 15), Last Minute €240/wk. Full month rates: €300/€500/€600.
Accommodation: flat rates — Commons Hub multi €275/wk, double €350/wk;
Herrnhof living €315/wk, triple €350/wk, single-in-double €420/wk,
single €665/wk, couple €700/wk.
Sponsorship pass values updated to match (based on last-minute rate).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace simple accommodation dropdown with full venue/room-type selector
(Commons Hub + Herrnhof Villa) matching CCG registration flow. Accommodation
is now paid upfront with registration via Mollie instead of invoiced separately.
- Add 7 accommodation types with per-week pricing (€279-665/wk)
- Add 2% payment processing fee on registration + accommodation subtotal
- Create booking-sheet.js for automatic bed assignment on payment confirmation
- Update Mollie webhook to assign beds and send internal booking notifications
- Add accommodation_type column to DB schema + migration
- Update confirmation/admin emails with full price breakdown
- Add food interest checkbox with co-producing meals messaging
- Track accommodation type, venue, and food interest in Google Sheets
- Add startup migration for accommodation_type column in server.js
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace bottom-of-page waitlist form with registration CTA linking to /apply.html
- Add newsletter signup bar (email-only, subscribes to Listmonk) for visitors not ready to register
- Expand footer to 3-column grid (Event, Navigate, Community) with sponsorships link
- Create sponsorship package (VOTC26-Sponsorship-Package.md) and web page (sponsorships.html)
- Add /api/newsletter endpoint for lightweight mailing list signup
- Update nav link from "Get involved" to "Register", community partners link updated
- Fix listmonk.js to not overwrite existing subscriber names with empty strings
- Update apply.html and payment-return.html footers for consistency
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the old ticket picker (dorm/shared/single × full/weekly) with a
simpler model: €300/week base registration with opt-in toggles for
accommodation and food, which are invoiced separately after acceptance.
- Merge form steps 11+12 into single "Weeks & Options" step (13→12 total)
- Add "Select all 4 weeks" toggle, accommodation yes/no + preference, food toggle
- Live price summary (€300 × weeks)
- Simplify Mollie pricing to flat per-week rate
- Add need_accommodation and want_food DB columns with auto-migration
- Update confirmation/admin emails and Google Sheets sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add payment routes, checkout redirect, return page, DB schema updates,
and environment configuration for Mollie payment processing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace BlockSurvey with custom application form (apply.html)
- Add admin dashboard for reviewing applications (admin.html)
- Create PostgreSQL schema for waitlist, applications, email logging
- Implement application API with Resend email confirmations
- Replace Google Sheets waitlist with PostgreSQL backend
- Update docker-compose with PostgreSQL service
- Update server.js with new API routes
- Update index.html to link to internal apply.html
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>