rates/backend
jtricerolph 74ae94671b Wire up direct-rates column; remove dormant pause-on-block flow
Direct-rates sub-row in Market View was dead: the frontend filters
competitors on direct_hotel_id but /matrix and /hotels never returned it.
Add direct_hotel_id to both queries (+ HotelResponse), and only render the
"Direct" sub-row when a hotel actually has a non-null direct rate (was
rendering all-dashes on an empty {} object).

Remove the pause-on-block flow entirely — dormant since rotate-on-block
replaced it (nothing set booking_scraper_paused=true after set_scraper_paused
was dropped): is_scraper_paused, /config/unpause, the /scrape paused guard,
ScraperStatusResponse.paused/pause_until, and the frontend Paused badge +
Unpause button. Trim now-unused datetime import.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 06:01:56 +00:00
..
api Wire up direct-rates column; remove dormant pause-on-block flow 2026-07-06 06:01:56 +00:00
jobs Port occupancy sync + category ordering from the forecasting version 2026-07-05 14:18:03 +00:00
services Wire up direct-rates column; remove dormant pause-on-block flow 2026-07-06 06:01:56 +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 Add Rate Monitor app — Booking.com + direct booking engine competitor rates 2026-07-05 12:06:30 +00:00
Dockerfile Fix backend startup: launch Xvfb directly, not via xvfb-run 2026-07-05 16:35:03 +00:00
main.py Add Rate Monitor app — Booking.com + direct booking engine competitor rates 2026-07-05 12:06:30 +00:00
migrate_direct_data.py Add Rate Monitor app — Booking.com + direct booking engine competitor rates 2026-07-05 12:06:30 +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 Port occupancy sync + category ordering from the forecasting version 2026-07-05 14:18:03 +00:00
schema.sql Pin Booking.com search to a dest_id 2026-07-05 21:49:57 +00:00