# The Card Vault connector (`thecardvault`) - Source: https://thecardvault.co.uk · Glasgow hobby store: TCG singles (BinderPOS-style "Name (number)" titles with Foil / condition variants), sealed Pokémon/MTG/Yu-Gi-Oh!/One Piece/Lorcana, Panini & Topps sports boxes, Funko, Youtooz, Iron Studios statues, Nendoroids and Gunpla. - Country/currency: GB / GBP · type: dealer · engine: api (Shopify storefront products.json (public JSON)) - Records: `listing` only (dealer asking prices; never sales — SPEC §111). One listing per variant (condition / size / finish), out-of-stock variants kept as `ended`. - Refresh: every 12 h (NORMAL class) · historical depth: none (no sold archive). ## How it works Metadata-only connector: `index.ts` instantiates the shared `ShopifyStoreConnector` adapter; everything source-specific lives in `meta.json` `config`: collections → 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. Collections read (17): `singles-all-card-games` (rules decide), `pokemon-tcg-all-products` → pokemon, `magic-the-gathering-all-products` → magic_the_gathering, `sealed-yu-gi-oh-products` → yugioh, `one-piece-tcg-all-products` → one_piece_card_game, `disney-lorcana-all-products` → disney_lorcana, `dragon-ball-super-cg-all-products` → dragon_ball_tcg, `digimon-trading-card-game` → digimon_tcg, `weiss-schwarz-all-products` → weiss_schwarz, `star-wars-unlimited-all-products` → star_wars_tcg, `final-fantasy-tcg-all-products` → final_fantasy_tcg, `sports-cards-all-products` → other_sports_cards, `funko-pop-vinyl-figures` → funko, `youtooz-collectable-vinyl-figures` → designer_toys, `iron-studios-scale-statue` → action_figures, `good-smile-company-nendoroid-figures` → action_figures, `bandai-gunpla` → gundam. ## Access & compliance See `accessNotes` in meta.json (robots findings, endpoints, rate limit, what is not fetched). Host policy: `connectors/domains.d/g4-shops-intl.json`. ## Fixtures & tests `data/fixtures/thecardvault/*.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 thecardvault`.