rates/frontend
jtricerolph 2743b0e877 Add occupancy pick-up history + bookability history popup
Schema: migrate newbook_occupancy_report_data from single-row upsert to
snapshot model (drop unique constraint, add valid_from / last_verified_at)
matching the pattern used by newbook_current_rates.

Backend: sync_occupancy now inserts a new row only when occupied/available/
maintenance figures change, otherwise bumps last_verified_at. New endpoint
GET /bookability/occupancy-history/{category_id}/{date} returns the timeline.
Rate matrix query updated to DISTINCT ON for the multi-row table.

Frontend: clicking any cell in the Bookability matrix opens a modal with
two stacked Plotly charts — rate history per tariff (step lines, green/red
markers for available/unavailable) and occupancy pick-up over time.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 12:38:02 +00:00
..
public/icons Replace letter icons with Lucide PWA icons 2026-07-11 20:30:12 +00:00
src Add occupancy pick-up history + bookability history popup 2026-07-12 12:38:02 +00:00
Dockerfile
index.html
nginx.conf Make rates installable as a PWA 2026-07-11 11:27:00 +00:00
package-lock.json Make rates installable as a PWA 2026-07-11 11:27:00 +00:00
package.json Make rates installable as a PWA 2026-07-11 11:27:00 +00:00
tsconfig.json
vite.config.ts Replace letter icons with Lucide PWA icons 2026-07-11 20:30:12 +00:00