rates/backend
jtricerolph 349236cd7e Rate Analysis: fix hotel detail 500 + timeline 422, match frontend shapes; signed % delta badge
- /analysis/hotel/{id}: lead_bucket alias in ORDER BY CASE broke Postgres; replaced
  bucketed curve with per-days_ahead curve and reshaped response to the frontend
  HotelAnalysis interface (strategy/advance_curve/dow_breakdown/sold_out_pattern)
- /analysis/hotel/{id}/timeline: accept ?date= (was rate_date, 422) and return
  flat TimelineEntry array
- /analysis/hotels: alias to hotel_id/hotel_name/date_count for the selector
- strategy pcts default 0 (frontend calls .toFixed), added peak_months
- Market View badge now shows +/-% vs our rate instead of 100-index

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 15:01:57 +00:00
..
api Rate Analysis: fix hotel detail 500 + timeline 422, match frontend shapes; signed % delta badge 2026-07-05 15:01:57 +00:00
jobs Port occupancy sync + category ordering from the forecasting version 2026-07-05 14:18:03 +00:00
services Flag hotels absent from successful scrapes as 'not_listed' + widen booking_com_id 2026-07-05 14:44:02 +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 Add Rate Monitor app — Booking.com + direct booking engine competitor rates 2026-07-05 12:06:30 +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 Add Rate Monitor app — Booking.com + direct booking engine competitor rates 2026-07-05 12:06:30 +00:00
scheduler.py Port occupancy sync + category ordering from the forecasting version 2026-07-05 14:18:03 +00:00
schema.sql Flag hotels absent from successful scrapes as 'not_listed' + widen booking_com_id 2026-07-05 14:44:02 +00:00