- RateAnalysis: null guard on price_incl in timeline trace - Layout: explicit null check on alertCount, use ?? for user.name Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add direct_hotel_id to Hotel and RateMatrixResponse interfaces, remove as-any casts. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Combines Booking.com Playwright scraper (from forecasting), direct booking engine scraper (ported from laptop-archive/guestline-monitor), and Newbook own-hotel rates into one focused tool. Four views: Bookability, Market View (with price index badges + direct rate sub-rows), Direct Rates (per-competitor room breakdown, min-stay flags, hotel config/discovery), Rate Analysis (advance purchase curve, DOW chart, rate timeline, comparison table). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>