🗄️ Data Source: Supabase
All occupancy and revenue data served live from Supabase (project: 175east-dashboard). Numbers on this page update automatically when the database is updated.
Original source: Lodgify API exports (lodgify-monthly-historical.json + lodgify-bookings-all-v1.json). Migrated to Supabase: 7 April 2026.
📐 Data Workings & Methodology
How every number on the dashboard is calculated. Data served live from Supabase.
📁 Data Sources
| Source | Contains | Used For |
| Supabase — occupancy table | Monthly + full-year occupancy by property | All dashboard KPIs, charts, YoY comparisons |
| Supabase — tasks table | Kanban tasks with column state | Tasks/Kanban board |
| lodgify-bookings-all-v1.json | 783 individual booking records (archived) | Original source for occupancy data |
| lodgify-monthly-historical.json | Monthly aggregates by property 2021–2026 (archived) | Original source for revenue data |
Revenue comes from monthly aggregates because individual booking records don't contain revenue data in the Lodgify export.
🚫 Exclusion Rules
The following are excluded from occupancy calculations:
| Rule | Reason | Count |
| No guest name AND no source | Calendar blocks (owner-closed periods) | 83 entries |
| Richard Cawson test booking | Test/admin booking | 1 entry |
Calendar blocks have status "Booked" in Lodgify but represent owner-blocked dates, not real guest stays. "OH" source = Lodgify direct website (real bookings, included). "GGB" = Go Great Barrier agent. "HH" = Holiday Houses.
📊 Occupancy by Year — Live from Supabase
Calendar blocks excluded. Data updates automatically when Supabase is updated.
2024 Full Year
| Property | Nights | Available | Occupancy |
| Loading from Supabase... |
2025 Full Year
| Property | Nights | Available | Occupancy |
| Loading from Supabase... |
2026 Confirmed
| Property | Nights | Available | Occupancy |
| Loading from Supabase... |
Occupancy % = (Guest nights in year ÷ available nights) × 100
Portfolio % = (Total guest nights across 3 properties ÷ total available nights) × 100
Calendar block nights excluded. Available nights = days in year per property.
💰 Revenue by Year — Live from Supabase
| Year | Pitokuku | Ruru | Tree House | Total |
| Loading from Supabase... |
* 2026 = confirmed bookings revenue to date. 2021/2022/2023 data from historical Lodgify exports (not in Supabase — static below).
⚠️ 2026 revenue = confirmed bookings only — not cash in bank.
This is the total value of reservations already made, regardless of whether they've checked in yet. It excludes: future bookings not yet made, bookings that might cancel, and any unconfirmed enquiries. The $156K full-year figure on the main dashboard is all confirmed bookings Jan–Dec 2026.
📉 Why is 2026 occupancy higher than 2025 but revenue lower?
Loading…
Why the rate fell:
• 2026 has a much higher proportion of winter bookings (May–Sep at $225–$325/night) — great for occupancy but drags the avg rate down hard
• 2025 was weighted toward peak season (mostly summer/shoulder at $400–$600+)
• Tree House particularly affected: lower rate structure vs Pitokuku/Ruru
Key takeaway: Occupancy % alone doesn't tell the full story. Revenue per available night (RevPAN) is the metric to watch. The goal is to push winter rates up over time, not just fill the nights.
Historical Revenue (pre-Supabase, static)
| Year | Pitokuku | Ruru | Tree House | Total |
| 2021 | $5,053 | $19,216 | $18,375 | $42,644 |
| 2022 | $53,504 | $83,149 | $38,821 | $175,474 |
| 2023 | $71,554 | $77,803 | $38,939 | $188,295 |
💲 Current Pricing Structure
Confirmed Ian Cawson, March 2026. Set in Lodgify and pushed to all OTA channels.
Direct Rates (base)
| Season | Dates | Pitokuku | Ruru | Tree House |
| Winter | 1 May – 30 Sep | $325/n | $275/n | $225/n |
| Shoulder | Oct–Dec 22, Feb–Apr | $400/n | $350/n | $300/n |
| High | Dec 23 – Jan 31 | $600/n | $600/n | $500/n |
Extra guests: +$50/person over 4 (all seasons, all properties)
OTA Markups
| Platform | Markup | Rationale |
| Airbnb | +20% | Highest commission platform |
| Booking.com | +18% | High commission |
| Vrbo | +10% | Lower commission |
| Holiday Houses | +10% | Consistency with "save 10%+" claim |
📡 Booking Source Key
| Source Code | Platform | Notes |
| OH | Lodgify Direct Website | Real bookings via 175east.nz |
| AirbnbIntegration | Airbnb | Auto-synced |
| BookingCom | Booking.com | Auto-synced. Guest emails anonymised. |
| HomeAway | Vrbo | Auto-synced. Guest emails anonymised. |
| Manual / blank | Holiday Houses / Direct | Manually entered (HH doesn't sync to Lodgify) |
| GGB prefix | Go Great Barrier | Agent bookings at base rate |
| HH prefix | Holiday Houses | Guest name prefixed with "HH -" |
| No name + No source | Calendar block | EXCLUDED from all calculations |
📝 Dashboard Change Log
| Date | Change |
| 7 Apr 2026 | Migrated all data to Supabase. Workings, Dashboard, and Kanban all now live from database. Workings page updated to pull occupancy/revenue dynamically. Cloudflare Access added (4 approved users). Kanban realtime sync enabled. |
| 7 Apr 2026 | YoY comparison extended to Jan–Mar (was Jan–Feb). 2026 Jan–Mar: 81.5% portfolio vs 73.7% in 2025. |
| 1 Mar 2026 | Added Monthly Summary section (Jan vs Feb). Built monthly-occupancy-report.py script. |
| 27 Feb 2026 | Fixed avg nightly rate. Fixed revenue chart. Added Workings tab. Restructured YoY comparison. |
| 26 Feb 2026 | Dashboard rebuilt from scratch. Added YoY comparisons, stripped calendar blocks, deployed. |