- Change listings URL to /wonen/zoeken/heel-nederland/prijs=200000-300000/schiedam/
- Update status extraction to read from card-house__status badge text
- Update detail parser to handle house-features__block HTML structure
- Test verified: successfully fetches Aleidastraat 130 A listing
Van Oord: postcode is in the first .elementor-heading-title on detail pages.
Van Herk: postcode extracted via regex from <title> tag; also pick up kamers
and energielabel from the features list which were previously ignored.
Test output now includes woonoppervlak and energielabel fields.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Split src/adapters/ssr.py (2160 LOC) into ssr/ package grouped by CMS:
realworks.py, sure.py, schiedam.py, denhaag.py, overige.py
- Add _og_detail() to api.py; all OG Online scrapers now fall back to
detail page fetch when energielabel/bouwjaar are missing from the API
- Fix run() to recalculate travel times for existing listings where
fiets_mark IS NULL; upsert() now writes travel cols on existing rows too
- Update tests/cache.py to patch fetch_soup in every ssr submodule
- Update docs to reflect new package structure and mark API enrichment TODO done
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- vandriel (Schiedam): OG Online API, filtered by city=schiedam
- vanherk (Schiedam): SURE WordPress plugin (card-house), detail page kenmerken
- vanoord (Delft + Schiedam): Elementor WordPress, two filtered listing URLs, rw-object-features-list detail parsing
- makelaars.md: mark all three as done, add TODO for API scraper detail page enrichment
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Render energielabel as a coloured EU-style letter badge (A+++ to G)
instead of plain icon text
- Add "Filters uit" toggle button that bypasses all numeric filters
while keeping sort and freetext search active; turns orange when on
- Add freetext search bar that filters across adres, stad, postcode,
source_makelaar and woningtype in real time
- Reset button also clears search and deactivates the disable toggle
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- fetch_vandaal: OG Online API, covers Delft/Rijswijk/Den Haag area,
includes is_bought→verkocht status mapping
- fetch_vansilfhout: HTML scraper, all listings on single page,
extracts postcode from embedded JS variable (objectZipcode)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- fetch_moerman: OG Online realtime-listings API (same platform as bjornd),
includes bouwjaar from dateOfConstruction, energielabel, strips postcode space
- fetch_schielandborsboom: paginated HTML scraper filtered to Schiedam,
fetches #kenmerken detail page for full specs (bouwjaar, kamers, etc.)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fetches 51+ listings from D&S with full details:
- Paginates through /aanbod/koopwoningen
- Extracts property postcode from Google Maps iframe URL
- Parses all kenmerken (features) from detail pages
- Includes price, address, rooms, area, build year, energy label
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>