Restaurant search and booking for OpenClaw. Finds and books restaurants worldwide — Israel via direct API (Ontopo + Tabit), Romania via Bookingham.ro, Europe and NYC via browser handoff (TheFork, OpenTable, Resy). Michelin Bib Gourmand and Time Out recommendations baked in. Personal Google Maps saves always surfaced first. Bars & nightlife via Foursquare (bars.py). Supports Tel Aviv, New York, Barcelona, Bucharest, Marseille, Genova, Messina, Valletta. Use when someone wants to find a restaurant, bar, café, or nightlife spot.
Finds and books restaurants worldwide. Israel via direct API, Europe and NYC via browser handoff, with Michelin and Time Out recommendations baked in.
| Region | Platform | Method |
|---|---|---|
| 🇮🇱 Israel | Ontopo + Tabit | Direct API |
| 🇫🇷🇮🇹 Europe | TheFork | Browser handoff |
| 🇺🇸 NYC | OpenTable + Resy | Browser handoff |
| 🌍 Worldwide | Michelin Guide (Algolia) | Direct API |
pip install requests
export RESERVATION_EMAIL="[email protected]"
export RESERVATION_PHONE="+1234567890"
export GOOGLE_MAPS_API_KEY="your-key" # optional — for live ratings
from unified import search_and_format
# Search + recommend
results = search_and_format(
city="tel_aviv",
date="2026-04-01",
time="20:00",
party_size=2
)
print(results)
# Israel direct booking (Ontopo)
from ontopo import OntopoCli
client = OntopoCli()
slots = client.availability_search("taizu", date="20260401", time="2000", size="2")
# Israel direct booking (Tabit)
from tabit import TabitCli
tabit = TabitCli()
avail = tabit.check_availability(org_id="...", date="2026-04-01", time="20:00", party_size=2)
memory/places/wanttogo_by_city.json when available (optional). These are marked kai_pick: true and ranked highest. Without this file the skill works normally using community sources only.check_availability() creates a ~15 min hold; call delete_temp_reservation() on cancelBIB_GOURMAND or selected; never 1/2/3-starPowered by Foursquare via bars.py. Triggered automatically when the query contains bar/nightlife/café keywords.
| Type | Trigger phrases |
|---|---|
| Bars | "Best bars in Vienna", "bars in Tel Aviv", "nightlife Budapest" |
| Wine bars | "Wine bars in Tel Aviv", "best wine bar Rome" |
| Cocktail bars | "Cocktail bars Barcelona", "great cocktails in Lisbon" |
| Cafés | "Good café for working in Budapest", "coffee shops Prague", "café Vienna" |
| General | "drinks in Berlin", "pub in London" |
Use unified.is_bars_query(query) to detect before routing.
Use unified.search_nightlife_and_format(city, query) for formatted output.
Israel (TLV · Haifa · Beer Sheva), Bucharest, Marseille, Genova, Messina, Valletta, NYC, Barcelona, London, Lisbon, Prague, Athens
MIT