Raw schema
{
"type": "object",
"properties": {
"subCategory": {
"description": "Exact ProfessionalProfileSubCategory enum value derived from the user's request (e.g. 'EventPlanner', 'Dentist', 'Therapist'). Required.",
"type": "string",
"enum": [
"None",
"Doctor",
"Dentist",
"Therapist",
"Psychologist",
"Psychiatrist",
"Physiotherapist",
"Nutritionist",
"Optometrist",
"Veterinarian",
"Chiropractor",
"Nurse",
"Dermatologist",
"Gynecologist",
"Pediatrician",
"Cardiologist",
"Orthopedist",
"Urologist",
"Endocrinologist",
"Neurologist",
"Oncologist",
"Ophthalmologist",
"Rheumatologist",
"Gastroenterologist",
"Pulmonologist",
"ENTSpecialist",
"Radiologist",
"Anesthesiologist",
"Pathologist",
"Surgeon",
"PlasticSurgeon",
"SpeechTherapist",
"OccupationalTherapist",
"Midwife",
"Pharmacist",
"Osteopath",
"Podiatrist",
"Dietitian",
"Homeopath",
"Acupuncturist",
"PediatricClinic",
"DentalClinic",
"PhysicalTherapyClinic",
"ChiropracticClinic",
"PlasticSurgeryClinic",
"MedicalWeightLossClinic",
"HormoneTherapyClinic",
"FunctionalMedicineClinic",
"PediatricTherapyClinic",
"AbaTherapyCenter",
"HearingCenter",
"AddictionTreatmentCenter",
"InterventionalRadiologyClinic",
"AnorectalCareClinic",
"GeneralClinic",
"SkilledNursingFacility",
"Lawyer",
"Notary",
"FamilyLawyer",
"CriminalLawyer",
"CorporateLawyer",
"ImmigrationLawyer",
"RealEstateLawyer",
"LaborLawyer",
"IntellectualPropertyLawyer",
"TaxLawyer",
"Mediator",
"PersonalInjuryLawyer",
"Accountant",
"FinancialAdvisor",
"TaxConsultant",
"InsuranceAgent",
"MortgageBroker",
"InvestmentAdvisor",
"Auditor",
"Bookkeeper",
"WealthManager",
"CryptoAdvisor",
"Plumber",
"Electrician",
"Mechanic",
"Carpenter",
"Painter",
"Locksmith",
"Cleaner",
"Gardener",
"PestControl",
"HvacTechnician",
"InteriorDesigner",
"Architect",
"Roofer",
"Tiler",
"Plasterer",
"WindowCleaner",
"PoolMaintenance",
"SecurityInstaller",
"SolarInstaller",
"Handyman",
"Mover",
"WasteRemoval",
"CarRental",
"PetTransport",
"PetGroomer",
"PetSitter",
"DogWalker",
"PetPhysiotherapist",
"CanineHydrotherapist",
"PetPhotographer",
"HairSalon",
"Barber",
"NailTechnician",
"MassageTherapist",
"PersonalTrainer",
"YogaInstructor",
"TattooArtist",
"MakeupArtist",
"Aesthetician",
"Eyebrow",
"Eyelash",
"WaxingSpecialist",
"PermanentMakeup",
"NailArtist",
"BodyPiercer",
"Trichologist",
"SpaTherapist",
"SunbedStudio",
"MedSpa",
"FitnessStudio",
"HairStylist",
"WellnessRecoveryClinic",
"Tutor",
"MusicTeacher",
"LanguageTeacher",
"DrivingInstructor",
"LifeCoach",
"MathTutor",
"ScienceTutor",
"ArtTeacher",
"DanceInstructor",
"SwimmingInstructor",
"MartialArtsInstructor",
"ChessCoach",
"CodingInstructor",
"ExamCoach",
"CareerCoach",
"SportsCoach",
"ItSupport",
"WebDeveloper",
"Photographer",
"Videographer",
"GraphicDesigner",
"SoftwareDeveloper",
"MobileAppDeveloper",
"DataAnalyst",
"CyberSecurityConsultant",
"SeoSpecialist",
"SocialMediaManager",
"ContentCreator",
"UxDesigner",
"DroneOperator",
"VideoEditor",
"SoundEngineer",
"ThreeDDesigner",
"AnimationArtist",
"Consultant",
"MarketingConsultant",
"Translator",
"BusinessCoach",
"HrConsultant",
"PrSpecialist",
"CopyWriter",
"VirtualAssistant",
"ProjectManager",
"SupplyChainConsultant",
"BrandingConsultant",
"SeniorLivingPlacementAgency",
"EventPlanner",
"WeddingPlanner",
"Caterer",
"Dj",
"Chef",
"PrivateChef",
"BartenderMixologist",
"Florist",
"Entertainer",
"PhotoboothRental",
"TourOperator",
"OnlineRetailer",
"Artist",
"FineArtPainter",
"Illustrator",
"PortraitArtist",
"Muralist",
"Printmaker",
"Caricaturist",
"Calligrapher"
]
},
"serviceQuery": {
"description": "Service or activity wording from the user, e.g. 'boat trip', 'therapy session', 'haircut'.",
"type": "string"
},
"startDate": {
"description": "First local date to search from (YYYY-MM-DD). Use today's date when the user asks for the next available option.",
"type": "string"
},
"locationText": {
"description": "Place name as the user said it. Pass null only for remote or nationwide service searches.",
"type": [
"string",
"null"
],
"default": null
},
"countryCode": {
"description": "ISO-3166 alpha-2 country code (e.g. 'GR', 'US', 'GB'). Set when deducible.",
"type": [
"string",
"null"
],
"default": null
},
"latitude": {
"description": "Latitude of the search location. Pass when the client has a map viewport or GPS position.",
"type": [
"number",
"null"
],
"default": null
},
"longitude": {
"description": "Longitude of the search location. Pass alongside latitude.",
"type": [
"number",
"null"
],
"default": null
},
"radiusKm": {
"description": "Search radius in kilometers, default 10.",
"type": "number",
"default": 10
},
"serviceMode": {
"description": "Hard filter on how the business delivers service. One of: 'in_person', 'remote', 'service_area', 'nationwide'.",
"type": [
"string",
"null"
],
"default": null
},
"attributeFilters": {
"description": "Hard filter on vertical-specific attributes as a JSON object. Keys and values come from get_refinement_options.",
"type": [
"string",
"null"
],
"default": null
},
"daysToSearch": {
"description": "Number of calendar days to scan starting at startDate. Defaults to 14 and is clamped between 1 and 31.",
"type": "integer",
"default": 14
},
"resultLimit": {
"description": "Maximum number of available appointment matches to return. Defaults to 5 and is clamped between 1 and 20.",
"type": "integer",
"default": 5
}
},
"required": [
"subCategory",
"serviceQuery",
"startDate"
]
}