market_compare_basket
Compare exact product IDs and quantities across depots to find the lowest basket total, respecting budget limits and rejecting over-budget requests.
Instructions
Compare exact product IDs and pack quantities via individual product lookups within market_status limits.basketItems and limits.basketRequestBudget, including retries. Over-budget calls are rejected before fetching. Never split the list or switch tools to bypass the budget; ask the user to narrow the comparison. Reuse sufficient search offers instead of redundant lookups. Present complete groups first and show all groups tied at the lowest total. groupBy=market may span branches; check selected offer depot IDs and requiresMultipleDepots before claiming one physical shop. depot means one physical shop. Present splitBasket as a saving only when complete and strictly cheaper than the stated complete basket baseline; follow market://guide for missing groups and equal totals. Incomplete totals are null. No automatic substitutes or purchases.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| depots | Yes | Selected branch IDs from nearest; required and never auto-expanded. | |
| groupBy | No | market | |
| distance | No | Search radius in km. 50 is a local safety limit. | |
| latitude | Yes | Explicit user-selected latitude. | |
| longitude | Yes | Explicit longitude. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| meta | Yes | ||
| error | No | ||
| warnings | Yes |