Tool tree
gradeNot graded
search_packagesAnswer
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.
View tool JSON
{
"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
}
}get_package_detailsAnswer
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.
View tool JSON
{
"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
}
}check_availabilityAnswer
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.
View tool JSON
{
"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
}
}get_priceAnswer
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.
View tool JSON
{
"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
}
}place_orderSensitive Action
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.
View tool JSON
{
"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
}
}