Commit Graph

5 Commits

Author SHA1 Message Date
Jeff Emmett 2d0bdc7dd1 feat: CCG-style accommodation selection with upfront payment and booking sheet
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>
2026-03-12 13:42:04 -07:00
Jeff Emmett a397e4abe9 feat: restructure registration to per-week toggles with accommodation/food add-ons
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>
2026-03-02 17:47:10 -08:00
Jeff Emmett 87f3fb95c2 feat: complete Mollie payment integration
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>
2026-02-23 20:36:41 -08:00
Jeff Emmett 70349c2443 Replace Resend references with Mailcow SMTP config
- docker-compose: RESEND_API_KEY → SMTP_* env vars
- .env.example: Resend section → SMTP section
- application.js + waitlist-db.js: rename resend_id → message_id
- schema.sql: rename resend_id column → message_id

App already used nodemailer/SMTP — this just cleans up legacy naming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:13:09 -07:00
Jeff Emmett 8f67250928 Add application system with PostgreSQL and email integration
- 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>
2026-02-02 14:07:06 +00:00