{"openapi":"3.1.0","info":{"title":"Suzie's Nail Salon Booking API","version":"1.0.0","description":"Public API for AI agents and clients to discover services, check real-time availability, and book appointments at Suzie's Nail Salon. Browser agents can also deep-link directly to https://suziesnailsalon.com/book?services={serviceNameOrId}&date={YYYY-MM-DD}&time={HH:MM}&name={fullName}&phone={phone}."},"servers":[{"url":"https://api.suziesnailsalon.com","description":"Public Booking API Server"}],"paths":{"/api/public/shops/suzies/booking-bootstrap":{"get":{"operationId":"getBookingBootstrap","summary":"Get bookable service categories, services, and active technicians","responses":{"200":{"description":"Shop details, service categories, flat services, and active technicians"}}}},"/api/public/shops/suzies/availability":{"post":{"operationId":"checkAvailability","summary":"Check available 15-minute time slots for selected services on a date","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["date","services"],"properties":{"date":{"type":"string","format":"date","description":"Appointment date in YYYY-MM-DD format"},"services":{"type":"array","minItems":1,"items":{"type":"object","required":["serviceId"],"properties":{"serviceId":{"type":"string","description":"Service UUID from getBookingBootstrap"},"employeeId":{"type":["string","null"],"description":"Optional technician UUID or omit for first available"}}}}}}}}},"responses":{"200":{"description":"Available slots with isBookable status and technician coverage"}}}},"/api/public/shops/suzies/bookings":{"post":{"operationId":"createBooking","summary":"Submit an appointment booking","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["customerName","customerPhone","date","time","services"],"properties":{"customerName":{"type":"string","description":"Customer full name"},"customerPhone":{"type":"string","description":"Customer US phone number (E.164 +1XXXXXXXXXX or 10 digits)"},"customerEmail":{"type":"string","format":"email"},"smsConsent":{"type":"boolean","description":"Optional explicit SMS opt-in consent"},"notes":{"type":"string","description":"Optional booking notes or special requests"},"date":{"type":"string","format":"date","description":"Appointment date in YYYY-MM-DD format"},"time":{"type":"string","description":"24-hour slot start time in HH:MM format (e.g. 14:00)"},"services":{"type":"array","minItems":1,"items":{"type":"object","required":["serviceId"],"properties":{"serviceId":{"type":"string"},"employeeId":{"type":["string","null"]}}}}}}}}},"responses":{"201":{"description":"Created booking confirmation details"}}}}}}