{ "type": "function", "function": { "name": "book_flight", "description": "Book a flight reservation", "parameters": { "type": "object", "properties": { "user_id": { "type": "string", "description": "User ID making the booking" }, "flight_details": { "type": "object", "description": "Selected flight information", "properties": { "outbound_flight": { "type": "string", "description": "Outbound flight number" }, "return_flight": { "type": "string", "description": "Return flight number (for round trip)" }, "cabin_class": { "type": "string", "enum": ["basic_economy", "economy", "business", "first"] } } }, "passengers": { "type": "array", "items": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "date_of_birth": { "type": "string", "description": "Date of birth in YYYY-MM-DD format" } }, "required": ["first_name", "last_name", "date_of_birth"] } }, "payment_method": { "type": "object", "properties": { "certificates": { "type": "array", "items": { "type": "string" }, "description": "Travel certificate IDs (max 1)" }, "credit_card": { "type": "string", "description": "Credit card ID from user profile" }, "gift_cards": { "type": "array", "items": { "type": "string" }, "description": "Gift card IDs (max 3)" } } }, "checked_bags": { "type": "integer", "description": "Number of checked bags", "minimum": 0 }, "travel_insurance": { "type": "boolean", "description": "Whether to add travel insurance" } }, "required": ["user_id", "flight_details", "passengers", "payment_method"] } } }