{"openapi":"3.0.3","info":{"title":"Hannah's Bar & Grille — MiddleVerse Business API","description":"Welcome to Hannah’s Bar & Grill, proudly serving Olympia, WA since the late ’80s! As the friendliest bar in Olympia, we’ve built a reputation for great food, unbeatable drinks, and a welcoming atmosphere where everyone feels at home. From day one, our mission has been simple: create a place where friends gather, laughter flows, and memories are made. Over the years, we’ve become a local favorite for our famous burgers, ice-cold beer, and the largest liquor selection in downtown Olympia—because we believe every pour should be perfect. But we’re more than just great food and drinks. At Hannah’s, entertainment is part of the experience! Shoot a game on our Diamond pool tables, test your luck with pull tabs, or dive into the fun with arcade games. Love music? You’ll feel right at home with our jukebox tunes, Trivia Wednesdays, and the crowd-favorite Karaoke Nights every Thursday, Friday, and Saturday. Plus, don’t miss Open Mic Night on the first Tuesday of every month at 7 PM, where local talent shines. Whether you’re stopping in for lunch, planning a night out, or just looking for a friendly spot to unwind, Hannah’s Bar & Grill is the place to be. We’re proud to continue serving Olympia and the surrounding communities—and we can’t wait to welcome you in for a burger, a drink, and a good time. Come see why we’re known as Olympia’s friendliest bar!\n\nMachine-readable API for Hannah's Bar & Grille on MiddleVerse. Live profile: https://middleverse.ai/b/hannah-s-bar-and-grille-olympia","version":"1.0.0","contact":{"name":"MiddleVerse","url":"https://middleverse.ai"}},"servers":[{"url":"https://middleverse.ai","description":"Production"}],"tags":[{"name":"Hannah's Bar & Grille","description":"Karaoke Bar"}],"paths":{"/api/v1/b/hannah-s-bar-and-grille-olympia":{"get":{"tags":["Hannah's Bar & Grille"],"operationId":"getBusiness","summary":"Get Hannah's Bar & Grille 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/hannah-s-bar-and-grille-olympia/products":{"get":{"tags":["Hannah's Bar & Grille"],"operationId":"getProducts","summary":"List products offered by Hannah's Bar & Grille","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/hannah-s-bar-and-grille-olympia/services":{"get":{"tags":["Hannah's Bar & Grille"],"operationId":"getServices","summary":"List services offered by Hannah's Bar & Grille","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/hannah-s-bar-and-grille-olympia/availability":{"get":{"tags":["Hannah's Bar & Grille"],"operationId":"getAvailability","summary":"Get Hannah's Bar & Grille 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"}}}}}}