{"openapi":"3.0.3","info":{"title":"Parallel Food & Drink — MiddleVerse Business API","description":"Explore Parallel's wine bar and restaurant in Portland, Oregon. Enjoy curated menus, upcoming events, and join our Wine Club for exclusive offers., Explore Parallel's wine bar and restaurant in Portland, Oregon. Enjoy curated menus, upcoming events, and join our Wine Club for exclusive offers., Instantly reserve a table. Free online reservations anytime, anywhere.\n\nMachine-readable API for Parallel Food & Drink on MiddleVerse. Live profile: https://middleverse.ai/b/parallel-food-and-drink-portland","version":"1.0.0","contact":{"name":"MiddleVerse","url":"https://middleverse.ai"}},"servers":[{"url":"https://middleverse.ai","description":"Production"}],"tags":[{"name":"Parallel Food & Drink","description":"Wine Bar"}],"paths":{"/api/v1/b/parallel-food-and-drink-portland":{"get":{"tags":["Parallel Food & Drink"],"operationId":"getBusiness","summary":"Get Parallel Food & Drink 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/parallel-food-and-drink-portland/products":{"get":{"tags":["Parallel Food & Drink"],"operationId":"getProducts","summary":"List products offered by Parallel Food & Drink","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/parallel-food-and-drink-portland/services":{"get":{"tags":["Parallel Food & Drink"],"operationId":"getServices","summary":"List services offered by Parallel Food & Drink","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/parallel-food-and-drink-portland/availability":{"get":{"tags":["Parallel Food & Drink"],"operationId":"getAvailability","summary":"Get Parallel Food & Drink 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"}}}}}}