Raw schema
{
"type": "object",
"properties": {
"product_type": {
"type": "string",
"enum": [
"tour",
"transfer"
],
"description": "What is being booked."
},
"slug": {
"type": "string",
"description": "tour: service slug from search_tours/get_service."
},
"option_id": {
"type": "string",
"description": "tour: chosen option_id from get_service (optional — omit for the \"from\" price)."
},
"selected_date": {
"type": "string",
"description": "tour: travel date, YYYY-MM-DD (today or later)."
},
"selected_start_time": {
"type": "string",
"description": "tour: optional start time, e.g. \"09:00\"."
},
"pickup_text": {
"type": "string",
"description": "tour: optional pickup location / hotel."
},
"from": {
"type": "string",
"description": "transfer: pickup location (airport / city / hotel)."
},
"to": {
"type": "string",
"description": "transfer: drop-off location."
},
"vehicle": {
"type": "string",
"description": "transfer: vehicle class (default \"Standard Car\")."
},
"category": {
"type": "string",
"description": "transfer: e.g. \"Arrival Transfers\", \"Departure Transfers\" (default Arrival)."
},
"pickup_at": {
"type": "string",
"description": "transfer: pickup datetime (free text or ISO)."
},
"airline": {
"type": "string",
"description": "transfer: optional airline (airport transfers)."
},
"flight_number": {
"type": "string",
"description": "transfer: optional flight number."
},
"notes": {
"type": "string",
"description": "transfer: optional notes."
},
"pax": {
"type": "integer",
"minimum": 1,
"description": "Number of guests/passengers (default 1)."
},
"lead_first_name": {
"type": "string",
"description": "Customer first name."
},
"lead_surname": {
"type": "string",
"description": "Customer surname."
},
"lead_email": {
"type": "string",
"description": "Customer email (booking confirmation is sent here)."
},
"lead_phone": {
"type": "string",
"description": "Customer phone (optional, E.164 preferred)."
}
},
"required": [
"product_type",
"lead_first_name",
"lead_surname",
"lead_email"
]
}