rates/backend
jtricerolph 9fa4c15081 Fix parity check: always compare lead-in rate + auto-resolve past alerts
- DISTINCT ON tiebreaker was undefined when scraper writes multiple room
  types in one batch (same scraped_at); adding rate_gross ASC ensures we
  always pick the cheapest (lead-in / best available) rate, matching like
  for like against the Newbook BAR tariff
- Past-date active alerts were never touched (start = today meant they
  fell outside the query window); now resolved at the top of each run

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-15 08:59:14 +00:00
..
api Use text-search approach for rate conditions (breakfast/cancel/payment) 2026-07-14 18:10:00 +00:00
jobs Fix parity check: always compare lead-in rate + auto-resolve past alerts 2026-07-15 08:59:14 +00:00
services Use text-search approach for rate conditions (breakfast/cancel/payment) 2026-07-14 18:10:00 +00:00
auth.py
database.py
Dockerfile Revert Firefox: root cause was broken DataImpulse nodes not fingerprinting 2026-07-10 09:54:50 +00:00
main.py Add Power BI reporting endpoints — flat tabular data via API key auth 2026-07-14 17:27:50 +00:00
migrate_direct_data.py
requirements.txt
scheduler.py Scraper: force-reset endpoint + watchdog to prevent stuck lock 2026-07-09 16:56:35 +00:00
schema.sql Use text-search approach for rate conditions (breakfast/cancel/payment) 2026-07-14 18:10:00 +00:00