Commit Graph

4 Commits

Author SHA1 Message Date
Jeff Emmett c2b75cc5e9 fix: rewrite booking-sheet parser to match actual sheet structure
CI/CD / deploy (push) Failing after 1m23s Details
Sheet tab is 'WorldPlay' not 'Booking Sheet'. Dates use DD/MM/YYYY
format. Room/bed columns are at indices 2/4 not 0/1. Room numbers
carry down for multi-bed rooms. Added 'Couch' to hh-living bed types.
Changed valueInputOption to RAW to prevent formula injection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 15:18:38 -04:00
Jeff Emmett 6b8bf32c3b fix: quote sheet name in Google Sheets API ranges
CI/CD / deploy (push) Failing after 1m31s Details
Sheet names with spaces need single-quoting in range strings,
otherwise 'Booking Sheet!A:J' fails to parse.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 15:14:54 -04:00
Jeff Emmett e155408d9c feat: add per-day attendance and per-night accommodation pricing
CI/CD / deploy (push) Failing after 1m19s Details
Users can now attend individual days at €10/day instead of full-week
only (€50). Partial-week attendees get Commons Hub accommodation at
per-night rates (€40 shared, €50 double). Villa restricted to
full-week. Booking sheet writes guest names only on selected days.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 15:07:54 -04:00
Jeff Emmett dc95bf4819 feat: add Mollie payment pipeline with two-step registration flow
CI/CD / deploy (push) Failing after 1m12s Details
Convert single-step registration into a two-step flow:
- Step 1: Registration info → saves to JSON + Google Sheet with awaiting_payment status
- Step 2: Accommodation selection + price summary → creates Mollie checkout → redirects

On payment completion, Mollie webhook updates status, assigns bed on booking sheet,
sends confirmation email, and adds to Listmonk.

New files: api/booking-sheet.js, payment-success.html
New routes: /api/create-checkout-session, /api/mollie/webhook, /api/payment-status

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 14:36:40 -04:00