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>
28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { Routes, Route, Navigate } from 'react-router-dom'
|
|
import AuthGate from './components/AuthGate'
|
|
import Layout from './components/Layout'
|
|
import Bookability from './pages/Bookability'
|
|
import MarketView from './pages/MarketView'
|
|
import DirectRates from './pages/DirectRates'
|
|
import RateAnalysis from './pages/RateAnalysis'
|
|
import Settings from './pages/Settings'
|
|
|
|
export default function App() {
|
|
return (
|
|
<AuthGate>
|
|
<Layout>
|
|
<Routes>
|
|
<Route path="/" element={<Navigate to="/bookability" replace />} />
|
|
<Route path="/bookability" element={<Bookability />} />
|
|
<Route path="/market" element={<MarketView />} />
|
|
<Route path="/direct" element={<DirectRates />} />
|
|
<Route path="/direct/:hotelId" element={<DirectRates />} />
|
|
<Route path="/analysis" element={<RateAnalysis />} />
|
|
<Route path="/settings" element={<Settings />} />
|
|
<Route path="/settings/:tab" element={<Settings />} />
|
|
<Route path="*" element={<Navigate to="/bookability" replace />} />
|
|
</Routes>
|
|
</Layout>
|
|
</AuthGate>
|
|
)
|
|
}
|