rates/backend
jtricerolph 5462773dd7 Add rate snapshot to modal and room-type history chart improvements
Modal now shows two sections:
- Current availability: all room types with rooms-left count, then each rate
  plan (meal plan × cancel policy × price) from the latest scrape batch
- Rate history chart: one line per room type, cheapest 2-adult rate per
  scrape run (max_persons filter added to exclude 1-adult variants)

New endpoint: GET /competitors/hotels/{id}/rate-snapshot/{date}
Returns all rate plan variants grouped by room type from the latest batch.
Handles legacy single-row data (pre hotel-page scraper) gracefully.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 23:17:00 +00:00
..
api Add rate snapshot to modal and room-type history chart improvements 2026-07-09 23:17:00 +00:00
jobs Parity: best-available comparison as default, term-matching optional 2026-07-06 08:04:15 +00:00
services Add hotel-page scraper backend with full room/rate plan extraction 2026-07-09 23:08:03 +00:00
auth.py Fix require_cap TypeError, rewrite /analysis/comparison, add room category sync 2026-07-05 13:47:10 +00:00
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