{"openapi":"3.0.3","info":{"title":"PASS Milwaukie — MiddleVerse Business API","description":"Parents for Alternate Support Solutions Our day programs are committed to advancing care, creating opportunities for socialization and interaction, and promoting the autonomy of the IDD community. Donate About PASS Bold Beginnings When PASS began its journey in 1997, countless individuals faced an overwhelming wait, with service lists stretching long into the future. Many on&hellip;\n\nMachine-readable API for PASS Milwaukie on MiddleVerse. Live profile: https://middleverse.ai/b/pass-milwaukie-portland","version":"1.0.0","contact":{"name":"MiddleVerse","url":"https://middleverse.ai"}},"servers":[{"url":"https://middleverse.ai","description":"Production"}],"tags":[{"name":"PASS Milwaukie","description":"Community Service"}],"paths":{"/api/v1/b/pass-milwaukie-portland":{"get":{"tags":["PASS Milwaukie"],"operationId":"getBusiness","summary":"Get PASS Milwaukie profile, products, services, and hours","responses":{"200":{"description":"Business profile with products, services, hours, and links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessResponse"}}}},"404":{"description":"Business not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/b/pass-milwaukie-portland/products":{"get":{"tags":["PASS Milwaukie"],"operationId":"getProducts","summary":"List products offered by PASS Milwaukie","responses":{"200":{"description":"Product list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductsResponse"}}}},"404":{"description":"Business not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/b/pass-milwaukie-portland/services":{"get":{"tags":["PASS Milwaukie"],"operationId":"getServices","summary":"List services offered by PASS Milwaukie","responses":{"200":{"description":"Service list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicesResponse"}}}},"404":{"description":"Business not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/b/pass-milwaukie-portland/availability":{"get":{"tags":["PASS Milwaukie"],"operationId":"getAvailability","summary":"Get PASS Milwaukie business hours and booked slots","parameters":[{"name":"startDate","in":"query","required":false,"schema":{"type":"string","format":"date"},"description":"Range start (YYYY-MM-DD, default today)"},{"name":"endDate","in":"query","required":false,"schema":{"type":"string","format":"date"},"description":"Range end (YYYY-MM-DD, default +30 days)"}],"responses":{"200":{"description":"Business hours and already-booked slots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}}}},"404":{"description":"Business not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}},"Business":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"canonicalUrl":{"type":"string","format":"uri","description":"Canonical MiddleVerse profile URL"},"businessId":{"type":"string","format":"uri","description":"Stable Schema.org business entity ID"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"schemaType":{"type":"string","description":"Resolved Schema.org LocalBusiness type"},"phone":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"address":{"type":"object","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"zip_code":{"type":"string","nullable":true},"coordinates":{"type":"object","nullable":true},"claimed":{"type":"boolean"},"verified":{"type":"boolean"}}},"Product":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"price":{"type":"number","nullable":true},"sale_price":{"type":"number","nullable":true},"currency":{"type":"string","nullable":true}}},"Service":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"price":{"type":"number","nullable":true},"currency":{"type":"string","nullable":true},"duration_minutes":{"type":"integer","nullable":true},"bookable_online":{"type":"boolean","nullable":true}}},"Links":{"type":"object","properties":{"self":{"type":"string"},"profile":{"type":"string"},"bookings":{"type":"string"},"products":{"type":"string"},"services":{"type":"string"},"openapi":{"type":"string"}}},"BusinessResponse":{"type":"object","properties":{"success":{"type":"boolean"},"business":{"$ref":"#/components/schemas/Business"},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"services":{"type":"array","items":{"$ref":"#/components/schemas/Service"}},"hours":{"type":"object","nullable":true},"links":{"$ref":"#/components/schemas/Links"}}},"ProductsResponse":{"type":"object","properties":{"success":{"type":"boolean"},"business":{"type":"string"},"count":{"type":"integer"},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"links":{"$ref":"#/components/schemas/Links"}}},"ServicesResponse":{"type":"object","properties":{"success":{"type":"boolean"},"business":{"type":"string"},"count":{"type":"integer"},"services":{"type":"array","items":{"$ref":"#/components/schemas/Service"}},"links":{"$ref":"#/components/schemas/Links"}}},"AvailabilityResponse":{"type":"object","properties":{"success":{"type":"boolean"},"business":{"type":"string"},"businessHours":{"type":"object","nullable":true},"bookedSlots":{"type":"array","items":{"type":"object"}},"status":{"type":"string"},"links":{"$ref":"#/components/schemas/Links"}}}}}}