Morning Flash
Every morning I wake up to one report: last night's numbers and where each property lands this month versus target.
The question I actually ask each morning is simple. How did we do last night, and are we going to make the month? Answering it by hand across the portfolio every day is a non-starter.
How it works
A Python job on the mini runs around 7am. It pulls last-night occupancy and ADR from PMS exports, month-landing forecast from Atomize snapshots against a targets file, and P&L context. It renders an owner report and auto-publishes it behind Cloudflare Access. A companion Monthly Flash builds a full-year projection from closed-month actuals plus open-month forecast.
- Last-night occupancy comes from the same inventory feed the rate shop uses, so the two reports agree.
- Exception-only surfacing: a night flags when it is off its own four-week same-weekday pattern by more than a threshold.
- Sorted worst-versus-target first, so my eye goes straight to the problem.
Live and publishing every morning. A real bug shaped the design. It once showed a stale night as 'last night' when an export was missing, so a gap now shows an explicit warning badge instead of silently filling in old data.
The Morning Flash is the clearest embodiment of the bet. It is a whole morning meeting's worth of prep, done overnight by an agent and delivered exception-first. I read it in two minutes and act only on what is flagged.