CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

Fix booking flow blockers preventing customer payments #3708

Merged⚡ AI-generatedLccantynz wants to mergeclaude/audit-booking-system-l6CkCmainopened Apr 27, 2026
ccantynzcommented Apr 27, 2026

Originally written by @ccantynz-alt on GitHub.
Imported from https://github.com/ccantynz-alt/Hibiscus-to-airport/pull/39


The Stripe payment step was hitting /api/payment/create-checkout, which does not exist (only /api/stripe/create-session does), so every card booking 404'd after the booking row was created. The promo lookup hit a non-existent /api/promo-codes/validate. The form also read errors from the wrong response key (detail vs error), so customers saw a generic "Failed to create booking" instead of the real reason. Price calc errors were silently swallowed. Payment success page polled two endpoints that don't exist; switched to the existing /api/bookings/[ref] which already accepts both id and booking_ref.

Other fixes:

  • AirportArrivals.jsx had a placeholder phone (+6421234567) on its call/text buttons. Corrected to the real number (+6421743321).
  • LocalBusiness and Organization JSON-LD were missing telephone. Added +64-21-743-321 plus 24/7 openingHours so the knowledge panel and local pack can show a tap-to-call.
  • sitemap.xml had 5 duplicate URLs and every lastmod was 4-6 weeks old. Removed dupes and refreshed dates so Google sees fresh signal.
  • .env.example still listed the retired Render BACKEND_URL and a Render PORT. Removed both; added CRON_SECRET which the cron handler needs.

Build verified: cd frontend && yarn build — no errors, no warnings.

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts