Changelog
The CatchTable shop operation previously returned a 9-field subset (identity, address, phone, description, images, rating, review count), while its include_reviews and review_limit inputs were accepted but ignored. Users asking about 영업시간, 주차, 메뉴, or 취소 정책 could not get answers from this operation.
shop output gains additive fields: optional strings biz_hours, holidays, parking, cancel_policy, reservation_note, lunch_price, dinner_price, optional facilities (string array), open_schedules (array of {schedule_type, open_time}), required menu ({menu_boards, categories[{name, description, items[{name, min_price, max_price, description, is_recommended, is_representative, image_url}]}], kids_menu_guide, allergy_guide}), and required subways (array of {station, lines, distance}). The previously accepted-but-ignored inputs include_reviews/review_limit are now honored: with include_reviews=true the output additionally carries reviews in the same {reviews[], total} shape as the reviews operation, limited to review_limit. Error behavior changed from partial tolerance to fail-closed: if required detail, menu, subway, or requested review data cannot be loaded, the operation now fails with UPSTREAM_ERROR instead of silently returning the legacy 9-field subset. Callers that only read the original 9 fields need no changes.