TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1# HODINKEE Shop connector (`hodinkee-shop`)23- Source: https://shop.hodinkee.com · HODINKEE's authorised-retail and pre-owned/vintage watch shop (New York): pre-owned Rolex, Cartier, Omega, Grand Seiko, vintage chronographs (Universal Genève, Zenith, Heuer, Patek, AP) and limited editions for HODINKEE. Rich structured tags (approximate_age, case_size, materials, box/papers). Straps, accessories, books and Apple Watch are excluded.4- Country/currency: US / USD · type: dealer · engine: api (Shopify storefront products.json (public JSON))5- Records: `listing` only (dealer asking prices; never sales — SPEC §111). One listing per variant (condition / size / finish), out-of-stock variants kept as `ended`.6- Refresh: every 24 h (NORMAL class) · historical depth: none (no sold archive).78## How it works9Metadata-only connector: `index.ts` instantiates the shared `ShopifyStoreConnector` adapter; everything source-specific lives in `meta.json` `config`:10collections → taxonomy slug (with brand/franchise/series), title/tag `rules` (first match wins), an `exclude` regex for accessories/apparel/events, a `titlePattern` that extracts name/set/number, and the shop currency. Anything unmapped is skipped, never guessed.1112Collections read (19): `vintage-watches` (rules decide), `vintage-rolex` (rules decide), `rolex-brand` (rules decide), `omega-brand` (rules decide), `vintage-omega-watches` (rules decide), `cartier-brand` (rules decide), `grand-seiko-brand` (rules decide), `vintage-patek-philippe` (rules decide), `vintage-audemars-piguet-watches` (rules decide), `vintage-tudor-watches` (rules decide), `vintage-tag-heuer-watches` (rules decide), `vintage-universal-geneve-watches` (rules decide), `vintage-zenith-watches` (rules decide), `vintage-vacheron-constantin-watches` (rules decide), `pre-owned-new-additions` (rules decide), `dress-watches` (rules decide), `chronograph-watches` (rules decide), `aviation-watches` (rules decide), `avant-garde-watches` (rules decide).1314## Access & compliance15See `accessNotes` in meta.json (robots findings, endpoints, rate limit, what is not fetched). Host policy: `connectors/domains.d/g4-shops-intl.json`.1617## Fixtures & tests18`data/fixtures/hodinkee-shop/*.json` are live captures made with `connectors/api/_g4-shops-intl-lib/capture.ts` (trimmed payloads, expectations derived from the live record). `index.test.ts` runs the framework fixture suite, the g4 store invariants and a mapping unit test on titles observed live. Live probe: `pnpm tsx connectors/api/_g4-shops-intl-lib/smoke.ts hodinkee-shop`.19