JSON Schema → React Hook Form → Zod
Passenger Booking System
A single JSON schema drives all 5 passenger forms — 2 adults, 2 children, 1 infant. Each type has distinct field rules and validation strategy.
How it works
The BOOKING_SCHEMA.passengers.adult.fields array is dynamically converted into a Zod validator at runtime by buildZodSchema(). No hand-written validation — the JSON is the contract.
Collected Passenger Data
0 / 5 passengers savedrhf + zod · schema-driven