{"ok":true,"site":{"host":"foodhub-app-tau.vercel.app","url":"https://foodhub-app-tau.vercel.app/","type":"live","desc":"Per-head catering packages for children's parties, from snack boxes to a live pasta counter.","tools":[{"name":"search_packages","kind":"answer","impl":"imperative","description":"Search FoodHub's catalogue of catering packages. Catering built for children's parties. Prices include a set headcount; extra guests are charged per head. 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 package name, cuisine, tags and description. e.g. \"pizza\", \"chaat\", \"vegetarian\"."},"maxBudgetInPaise":{"type":"number","description":"Highest acceptable base price in paise. Note this excludes extra-guest charges — use get_price for the real total."},"guests":{"type":"number","description":"Headcount to feed. Does not filter anything out; every package scales, but larger groups cost more."},"cuisine":{"type":"string","description":"Cuisine family, e.g. \"pizza\", \"indian\", \"chinese\", \"dessert\"."},"vegetarianOnly":{"type":"boolean","description":"Restrict to fully vegetarian packages."},"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_package_details","kind":"answer","impl":"imperative","description":"Get everything FoodHub knows about one catering package: 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_packages."}},"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 catering package can serve a given date, and for how many people. Always call this before ordering — search results do not account for the event date, so a catering package 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 catering package 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":"place_order","kind":"transact","impl":"imperative","description":"Order a catering package at FoodHub. THIS IS CONSEQUENTIAL AND IRREVERSIBLE. Only call it after the user has explicitly approved this specific catering package at this specific price — not merely said the plan looks good in general. Returns a confirmation reference. Calling it twice for the same catering package 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":"Commerce","apiSurface":"spec","toolCount":5}}