Listings and matching
The marketplace layer answers one question the reference layer cannot: what is this watch actually selling for, right now. It is populated from the dealers and platforms Dials tracks, and every listing stays attributed and linked to its source.
What a listing records
- The source: which provider published it, with a link back. Price, condition, availability, shipping and returns are always the seller's to answer.
- The claim: the brand, reference and title exactly as the seller stated them. These are kept verbatim and separate from the match, so what the listing says it is and what Dials concluded it is can always be compared.
- The ask: the listed price in its original currency. Prices are whole currency units, and each listing also carries a USD conversion used for sorting and filtering across currencies.
- Pictures: re-hosted and normalised like every image on the site, never hotlinked from the source.
Matching
A listing is linked to a catalogue model by brand plus reference number.
- Where the reference is exact and unambiguous, the match is automatic.
- Where it is ambiguous, a person decides.
- Where nothing matches, the listing is kept, unmatched, and queued for review. Unmatched listings are frequently watches the catalogue was missing, so the queue feeds the catalogue rather than a bin.
A matched listing appears on its model's page and in
GET /v1/listings?modelId=…; an unmatched one stays out of
the catalogue views until a person has resolved it.
Lifecycle
Two states live on every listing, deliberately independent of each other:
- The seller's stock state: what the source says about availability (in stock, on request, sold).
- The marketplace lifecycle: what Dials has verified. Listings are revisited regularly; one that disappears from its source is marked delisted (with a timestamp) rather than deleted, and one that comes back is reactivated. The history of what was asked, and when, survives the listing itself.
Currency conversion
Cross-currency prices use the European Central Bank's daily reference rates,
published unmodified at GET /v1/rates. The site and the
API convert with the same table, so a price you compute from the API agrees
with the one rendered on dials.co.