search_offers
Search live purchase offers for wine, scoped to the user's marketplace region.
This is the end of the sommelier flow — call it once you have collected the user's preferences (see the /sommelier prompt). It always returns retail OFFERS (never abstract products): every result is a real listing from a shop with a price and a purchase link.
IMPORTANT:
query MUST be English space-separated keywords, NO commas/prepositions. Use "" if the user specified no wine characteristics. Apply semantic translation (e.g. "шампанское" → "Champagne"; "steak" → "red tannic bold Cabernet Sauvignon"). NEVER include a city, price, currency, shop name, or the word "wine".
price_min and price_max are REQUIRED. If the user named a number with price intent, use it exactly. Otherwise map cheap/mid/premium to the t1/t2/max thresholds from get_user_region. For a range ("от 20 до 50") set BOTH bounds — never drop the lower one.
vintage: set to the exact year AND also include that year in query whenever the user names a specific year. Omit if no year was mentioned.
shop_names: only when the user named a retailer — pass the exact "Name (ID)" strings returned by search_shops (call search_shops FIRST).
Show the result to the user EXACTLY as returned — do not summarize or reformat.
Args: query: English space-separated wine keywords (may be ""). price_min: Minimum price (usually 0.01 unless a lower bound was given). price_max: Maximum price. price_currency: ISO code if the user named a currency (e.g. "EUR"); else "". shop_names: Up to 5 "Name (ID)" strings from search_shops, or omit. vintage: Specific vintage year, or omit if none.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| vintage | No | ||
| price_max | Yes | ||
| price_min | Yes | ||
| shop_names | No | ||
| price_currency | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |