{"ok":true,"site":{"host":"partyhub-app.vercel.app","url":"https://partyhub-app.vercel.app/","type":"live","desc":"Kids' party venues across Delhi NCR, bookable by capacity, theme and date.","tools":[{"name":"search_venues","kind":"answer","impl":"imperative","description":"Search PartyHub's catalogue of venues. Party venues across Delhi NCR, bookable by capacity, theme and date. Returns every match with its id, price in paise and comparable attributes. Call this first on this site — the other tools all take an id that only this tool can give you. Omit a filter to leave it unconstrained; passing no filters returns everything, which is often the right move when the user's requirements are loose. The page grid visibly filters to your results, so the user can see what you are looking at.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text search across venue name, locality, tags and description. e.g. \"trampoline\", \"Saket\", \"Pokémon\"."},"maxBudgetInPaise":{"type":"number","description":"Highest acceptable venue price in paise (₹6,000 = 600000)."},"guests":{"type":"number","description":"Number of people attending. Filters to venues that fit them."},"theme":{"type":"string","description":"Party theme, e.g. \"Pokémon\", \"superhero\", \"unicorn\". Hard filter on tags. Omit this if it would drop venues that still fit guests and date — theme mismatch is also a warning on the AgentRep board."},"locality":{"type":"string","description":"City or neighbourhood, e.g. \"Delhi\", \"Noida\", \"Saket\". Delhi is Delhi proper — it does not include Noida or Gurugram. Use \"Delhi NCR\" only when the user wants the whole NCR."},"indoorOnly":{"type":"boolean","description":"Restrict to indoor venues. Useful in monsoon season."},"limit":{"type":"integer","minimum":1,"maximum":20,"description":"Cap the number of results. Defaults to all matches."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_venue_details","kind":"answer","impl":"imperative","description":"Get everything PartyHub knows about one venue: full attributes, inclusions, and the dates it can serve. Use before recommending something, so you can describe it accurately instead of paraphrasing a search result.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Id from search_venues."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_availability","kind":"answer","impl":"imperative","description":"Check whether a specific venue can serve a given date, and for how many people. Always call this before booking — search results do not account for the event date, so a venue that looks perfect may be unavailable.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string","format":"date","description":"ISO date, e.g. 2026-09-12."},"guests":{"type":"integer","minimum":1,"description":"Number of people to serve."}},"required":["id","date"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_price","kind":"answer","impl":"imperative","description":"Get the final price for a venue at a given headcount, including any per-head charges and applicable discounts. The price in search results is a base price — use this for anything you put in a budget the user will see.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"guests":{"type":"integer","minimum":1}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"book_venue","kind":"transact","impl":"imperative","description":"Book a venue at PartyHub. THIS IS CONSEQUENTIAL AND IRREVERSIBLE. Only call it after the user has explicitly approved this specific venue at this specific price — not merely said the plan looks good in general. Returns a confirmation reference. Calling it twice for the same venue and date returns the existing booking rather than duplicating it.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"date":{"type":"string","format":"date"},"guests":{"type":"integer","minimum":1},"contactName":{"type":"string","description":"Who the booking is for."}},"required":["id","date"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Travel & Events","apiSurface":"spec","toolCount":5}}