Fix critical booking flow bugs blocking all bookings #3722
ccantynzcommented Mar 24, 2026
Originally written by @vercel[bot] on GitHub.
The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| hibiscus-to-airport | Mar 24, 2026 6:31am |
Cross-repo impact
See what breaks downstream if this PR merges.
⮌ Merged
This pull request was merged into main.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts
Originally written by @ccantynz-alt on GitHub.
Imported from https://github.com/ccantynz-alt/Hibiscus-to-airport/pull/25
Summary
Full audit of the booking system revealed several critical bugs that are blocking all customer bookings from completing:
BookingCreatemodel had noextra="ignore"config. Since Pydantic v2 rejects unknown fields by default, every booking attempt failed because the frontend sendsadditionalPickups,paymentMethod, andpayment_method— fields not defined in the model. This is the most likely cause of zero bookings./booking/confirmationwhich doesn't exist in the router — users were silently bounced to the homepage by the catch-all route.www.subdomain: Default CORS origins only includedhibiscustoairport.co.nzbut notwww.hibiscustoairport.co.nz, so any visitor usingwww.would have API calls silently fail.REACT_APP_BACKEND_URL(a backend env var) with a fallback tolocalhost:3000instead of the actual frontend domain.+64 21 123 4567instead of the real021 743 321.Changes
backend/booking_routes.pymodel_config = {"extra": "ignore"},payment_method, andadditionalPickupsfields toBookingCreatebackend/booking_routes.pyhttps://hibiscustoairport.co.nzbackend/server.pyhttps://www.hibiscustoairport.co.nzto default CORS originsfrontend/src/pages/BookingPage.jsx/payment/success?method=cash, fixed phone placeholderfrontend/src/pages/PaymentSuccess.jsxEMAIL_SMS_TEMPLATE_MOCKUPS.mdTest plan
www.hibiscustoairport.co.nzand verify booking form works021 743 321https://claude.ai/code/session_01HMqwWMSGGcYsNadokQYPyj