用途:研究 Resy 和 OpenTable 公开展示的餐厅发现信息与当前可订位情况,产出带日期的快照和候选清单。该技能为只读研究,不创建、保留、修改或取消预订,不购买活动门票,也不保证桌位仍可用。
主要能力:先确定餐厅与请求上下文(地点、人数、当地用餐日期时间、菜系/价格/无障碍偏好)。消歧时优先用服务商 ID,其次用名称加街道地址或街区;不得混用 Resy 的 restaurant_id 与 OpenTable 的 restaurant_id。Resy 侧可用 GET /resy/locations(q、country)发现城市,再用返回的 location 代码/ID 调用 GET /resy/cuisines(location)和 GET /resy/events(location,可选 date、limit、offset);用 GET /resy/search(latitude、longitude,可选 term、date、party_size、size)搜索,带 date 时结果含当前时段。OpenTable 侧用 GET /opentable/search(必填 term、latitude、longitude,可选 date_time、party_size、size),再用返回 ID 调用 GET /opentable/restaurant(restaurant_id,可选 date_time、party_size)刷新资料与时段。需要时可用 GET /resy/restaurant、GET /resy/availability(restaurant_id、date,可选 party_size)、GET /opentable/restaurant/menus、GET /opentable/restaurant/reviews(restaurant_id,可选 page、size)。菜单与评论仅辅助发现,不能证明有位。
时间与价格:Resy 日期为 YYYY-MM-DD;OpenTable 的 date_time 为 RFC3339 分钟级本地格式。调用前把请求时刻归一到餐厅已验证的当地时区,输出保留原始本地日期时间与时区,不得把无偏移本地时间标为 UTC。每次可用性调用立即记录 retrieved_at,并附来源、服务商 ID、请求日期时间、人数及返回的规范 URL。返回时段视为观测快照,可能变化且不锁定库存。人数在可用性/搜索/详情调用中省略时默认 2;应使用用户实际人数,某一规模的结果不能推广到其他规模。搜索结果上限 Resy 与 OpenTable 默认 10,Resy 活动列表默认 10,OpenTable 评论默认第 1 页 20 条;不要暗示未记录的最大值。价格档位只是可负担性信号,不是菜单总额;仅在返回时使用实际菜单价格,保留币种与范围,不推断税费、服务费、订金、最低消费或预订费用。
活动与普通预订需区分:Resy GET /resy/events 列出的是售票、固定价格/固定容量的餐饮活动,不是普通预订时段。单个活动用 GET /resy/event,传入结果的 event_url_slug、restaurant_url_slug 及相同 location(可选 party_size)查看票档与实时可用性。活动可用性、档位价格、包含内容与活动日说明须与餐厅预订可用性分开报告。这是只读研究,绝不购票。
交付与边界:返回对比,含餐厅名、服务商与服务商 ID、已验证地址/街区、菜系、价格信号、请求的本地日期时间/时区、人数、观测到的时段或明确无时段、来源 URL 与 retrieved_at。说明哪些是发现/资料数据,哪些是特定时间可用性快照。只比较同等人数的同一本地时间;缺少时段不等于售罄、停业或需求不足。除非独立验证餐厅身份,否则保持来源分离。