rates/backend
jtricerolph 8ccc0e272d Fix max_persons extraction: read from span text not block_id segment 2
Old Stocks block_id has 0 in position 2 (not the persons count) so all
its rates were stored as max_persons=0 and deprioritised in the matrix.

Now reads max_persons from the visible 'Max persons: N' span (matching
the original scrapy spider), with aria-label/title fallback. block_id
segment 2 is unreliable across different hotel layouts.

Also treat max_persons=0 as unknown in the matrix ORDER BY priority.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-10 01:22:51 +00:00
..
api Fix max_persons extraction: read from span text not block_id segment 2 2026-07-10 01:22:51 +00:00
jobs Parity: best-available comparison as default, term-matching optional 2026-07-06 08:04:15 +00:00
services Fix max_persons extraction: read from span text not block_id segment 2 2026-07-10 01:22:51 +00:00
auth.py
database.py
Dockerfile Revert to headed Chrome + Xvfb; add shm_size 256m to fix Xvfb in Docker 2026-07-09 17:36:27 +00:00
main.py
migrate_direct_data.py Restore guestline-monitor features: room stock/occupancy, rate history, room stats 2026-07-06 06:50:37 +00:00
requirements.txt Scraper stealth: headful+xvfb, playwright-stealth, coherent UA, warm-up, click-paginate 2026-07-05 16:26:01 +00:00
scheduler.py Scraper: force-reset endpoint + watchdog to prevent stuck lock 2026-07-09 16:56:35 +00:00
schema.sql Add hotel-page scraper backend with full room/rate plan extraction 2026-07-09 23:08:03 +00:00