{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/bookit-n-go/main/json-schema/bookit-n-go-flight-booking-input-schema.json", "title": "FlightBookingInput", "x-generated": "2026-10-02", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/bookit-n-go-openapi.yaml#/components/schemas/FlightBookingInput", "type": "object", "required": [ "offerId", "travellers", "contact" ], "properties": { "offerId": { "type": "string" }, "acceptedTotal": { "$ref": "#/$defs/Money" }, "contact": { "$ref": "#/$defs/Contact" }, "travellers": { "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "type", "firstName", "lastName", "dateOfBirth" ], "properties": { "type": { "type": "string", "enum": [ "ADULT", "CHILD", "INFANT" ] }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "dateOfBirth": { "type": "string", "format": "date" } } } } }, "$defs": { "Contact": { "type": "object", "required": [ "email" ], "properties": { "email": { "type": "string", "format": "email" }, "phone": { "type": "string" }, "countryCallingCode": { "type": "string" }, "countryOfResidence": { "type": "string" } } }, "Money": { "type": "object", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "number", "minimum": 0 }, "currency": { "type": "string", "minLength": 3, "maxLength": 3 } } } } }