Appearance
Dining Vertical
Restaurants and dining experiences in luxury destinations.
LOE: ~40-56 hours
Epic: Dining Data Acquisition
Plan: Build crawlers for Resy, OpenTable, Yelp, and Tock to acquire restaurant data including availability, pricing, reviews, and ratings.
Architectural Context: Each source provides different data: Resy and OpenTable for availability, Yelp for reviews and ratings, Tock for prix fixe experiences. Crawlers run in parallel with rate limiting to respect API quotas. Results are deduplicated across sources by name + location + cuisine.
Tasks
- Build Resy crawler with rate limiting
- Build OpenTable crawler
- Build Yelp crawler (reviews and ratings)
- Build Tock crawler (experiences)
Epic: Dining Schema and Storage
Plan: Design the restaurant data model, implement SQLite storage with FTS5 search, and build MCP tools for agent consumption.
Architectural Context: The data model captures name, cuisine, price_tier, locations, and hours. SQLite provides lightweight, embedded storage with FTS5 for full-text search. MCP tools (search_restaurant, get_restaurant_details, list_cuisines, find_by_city, catalog_stats) expose the data to Research Agents.
Tasks
- Design restaurant data model (name, cuisine, price_tier, locations, hours)
- Implement SQLite tables for dining vertical
- Build FTS5 search on restaurant fields
- Implement restaurant-specific MCP tools (search_restaurant, get_restaurant_details, list_cuisines, find_by_city, catalog_stats)
Epic: Dining Integration with Agent System
Plan: Connect the Dining Research Agent to the Intelligence MCP server and implement real-time availability checks via partner APIs.
Architectural Context: The Dining Agent queries the MCP server for restaurant data and uses partner APIs for real-time availability. Time-slot availability is displayed in Advisor Console results, giving advisors current booking options.
Tasks
- Connect Dining Research Agent to Intelligence MCP server
- Implement real-time availability checks via partner APIs
- Build time-slot display in Advisor Console results