RevParPro / Woz

The Email Roadmap

What the daily emails actually became, what a hotel management company wants landing in its inbox, and a phased plan to make RPP's email layer a real piece of the secret sauce.

Generated 2026-07-19 · Sources: revparpro repo (scripts/hourp-flash-email.mjs, scripts/market-flash.mjs, git log), live Mac Mini cron/launchd + send logs, 2 industry research sweeps (sources footnoted)
Correction

The daily emails did not stay stopped. They were held the night of Jul 16, then resumed by Jul 18, team included (send logs: /tmp/houston-market-flash.log, /tmp/hourp-flash.log). As of today they are paused to you + Alyssa only.

The mutation

A payroll/labor block was added to the flashes on Jul 16 (commits 60ea500, 4a1c833). It only ever reached you and Alyssa; the team always got the plain version. The market flash half was reverted Jul 17 (commit a9ebc17).

The real defect

Email content has been evolving commit by commit with no preview step and no sign-off gate. That is a process hole, not a one-off bug. Phase 0 closes it.

The plan

One daily ownership email, a leaner GM email, a Friday portfolio projection, a monthly owner pack, exceptions in between. Nearly all of it runs on data RPP already collects.

01What actually happened

Reconstructed from git history and the live scheduler on the Mac Mini. There are two daily email systems: the per-property Flash (scripts/hourp-flash-email.mjs, sent 9:00 AM and 3:30 PM CT for HOURP, HOUZN, HOUUS via cron) and the Houston Market Flash ownership rollup (scripts/market-flash.mjs, once per day, gated on night audits with a 10:30 AM CT fallback deadline).

Root cause, plainly

The email is a product surface, but it has been treated like an internal script: content and recipients changed in normal commits, sends resumed without approval, and the only gate (LABOR_REVIEW) covered one feature, not the email itself. The fix is change control on the whole surface, not a better version of any one section.

02The current email surface

Everything RPP or the runtime sends on a schedule today. Source: crontab + launchd on the Mac Mini, verified 2026-07-19.

EmailSchedule (CT)RecipientsContentStatus
Property Flash x3
scripts/hourp-flash-email.mjs
9:00 AM + 3:30 PM (cron) Owners; property teams on hold
HOURP: Michael, Ivan, George · HOUZN: Sam Xie +1 · HOUUS: Kareem +1
Tonight's occupancy/left-to-sell/ADR, compset rate grid (8h freshness guard), OTB + pickup, projection vs budget vs SMART, sales focus dates, labor (owner variant only) LIVE TEAM HELD
Houston Market Flash
scripts/market-flash.mjs
1x daily, by 10:30 AM Ace + Alyssa; Salim/Rahil/Zabir on hold Portfolio revenue banner, MTD vs budget, Occ/ADR/RevPAR vs LY + budget, per-property cards, adjustments & refunds, 7-night forward pace strip LIVE TEAM HELD
Dallas Market Flash
scripts/market-flash.mjs --market dallas
1x daily Ace only Same rollup; 3 of 4 hotels are placeholders awaiting automated OnQ/Opera feeds (market-flash.mjs config) LIVE
Freshness monitor
scripts/freshness-monitor.mjs
9:15 AM + 3:45 PM, only if stale Ace only Night-audit / rate / OTB staleness alert LIVE
STR request + reminder
scripts/str-request-monthly.mjs
17th monthly + weekly chase Zabir, Rahil, Ace Missing STR file requests, threaded ingest acknowledgements LIVE
GM Market Audit
scripts/gm-market-audit-emails.ts
Monthly (draft only) Never sends; composes drafts Per-GM compset market audit built on the compset engine DRAFT ONLY
Morning brief
agents-runtime/scripts/morning-brief
6:10 AM Mon-Fri Ace only Private phone ops brief (separate system, not part of this roadmap) LIVE

03What a management company wants

Distilled from an industry sweep (hotel ops and revenue-management publications, HSMAI meeting standards, asset-management practice, practitioner threads). Full source list in the footer.

FindingWhat it meansSource
The 7 AM daily flash is the one universal artifactYesterday's Occ/ADR/RevPAR + revenue, MTD block, today's arrivals/departures/OOO, auto-delivered before anyone arrives. It replaces the night auditor's printed packet.OnlineHotelier manager-report guide; Cloudbeds night-audit reports
Comparisons ARE the reportEvery number appears three times: actual, vs budget, vs last year (and often vs same day last week). A number without its comparison is noise.OnlineHotelier; Hotel Financial Coach; Docyt
Pickup is daily for the RM, pace is weekly for everyone else1/7/30-day pickup windows are the tactical grain; executives should see pace vs same-time-last-year, not daily pickup volatility. Formal strategy review runs over 7/30/90-day horizons.Lighthouse pickup-and-pace; Demand Calendar; HSMAI revenue meeting agenda (PDF)
RGI is the owner metricRevPAR index is written into management agreements and can trigger operator termination. Weekly STAR lands Wednesday; monthly around the 18th. "Beating budget with RGI under 100 still reads as leaving money on the table."RevPARGenius; SiteMinder STAR guide; str.com processing dates
Friday weekly flash with month-end projectionActuals-to-date + forecast-to-finish vs budget, green/red per property, one consolidated portfolio view: four correction windows per month instead of one.Docyt GM weekly workflows; Global Asset Solutions
Monthly owner pack = P&L + flow-through + CPOR + narrativeFlow-through and labor cost per occupied room expose problems GOP hides. Every variance answers: what changed, why, what happens next. Forecast accuracy standard: within 5% (3% for sharp shops).Hotel Financial Coach; Hospitality Net CPOR; Xotels forecast accuracy
Volume kills reports, thresholds kill alertsAt ~50% alert rates people learn to ignore everything. Mobile email viewing averages ~10 seconds: one primary message, exceptions first, hierarchy over detail.Atlassian alert-fatigue; Mailchimp mobile engagement; Agilence exception reporting

04What competitors ship, and the gap

Scanned: Otelier (DigiAudit/IntelliSight), Actabl (ProfitSword, Hotel Effectiveness), M3 Insight, HotStats, Lighthouse (+ ex-Kriya BI), Duetto ScoreBoard, IDeaS G3, FLYR, Cloudbeds, Mews, STR/CoStar itself.

Table stakes (every serious platform): a daily morning flash after night audit, often portfolio-rolled into one email; self-serve scheduled report subscriptions; threshold/exception alerts (overtime risk, competitor rate moves, parity leaks, missing night audit); and a fixed-calendar benchmark ritual (STR Wednesday weekly, ~18th monthly).

Differentiators (the 2025-26 battleground): AI narrative on top of the numbers. Lighthouse BI sends daily inbox insights where "AI Smart Summaries explain which channels, segments and signals drove the variance." Legacy players still send raw tables or download links.

What operators complain about (review sites): schedulers gated behind vendor support, link-not-content emails that force a login from your phone, stale data behind a fresh-looking morning email, and alert frequency you cannot tune.

The defensible combination nobody fully ships

A portfolio-rollup morning flash that leads with exceptions, carries an AI variance narrative in the email body (no login, no link-chase), renders per-audience versions (owner digest vs GM detail), and sends missing-data compliance alerts so silence never reads as "all good." RPP already owns the hard parts: the night-audit pipeline, rate scans, tax-receipt market intel, QBO actuals, and an AI narrative engine (alert-narrative). This is the secret sauce framing: competitors sell dashboards; RPP delivers the answer into the inbox.

05The data we already have

13 data domains live in RPP today (full inventory from the repo sweep, 2026-07-19). Mapped to the emails they can feed.

DomainFreshnessFeeds
Night audit (Occ/ADR/RevPAR/revenue per property-day)nightly, on arrivalDaily flash, weekly, monthly
Forward booking pace / OTB (booking_pace)dailyDaily flash, pace views
Rate shopping vs compset (DataForSEO scans)2x daily, 8h freshness guardGM rate email, rate-move alerts
STR benchmarking (monthly; daily variant supported)monthly ~mid-monthMonthly owner pack, RGI scoreboard
TX hotel tax receipts (SIFT: competitor actual revenue)daily sync, monthly grainMonthly market share, fair-share gap
QBO financials (P&L by property, daily JE)daily syncWeekly projection, monthly owner pack
Budget vs actual + AI narratives (alert-narrative)monthly + on demandVariance narrative in weekly/monthly
Labor (Homebase timecards, CPOR)near-real-timeOwner flash labor block, monthly CPOR trend
Guest reviews (TripAdvisor + Google, classified)weekly scrapeWeekly digest candidate
Pipeline red alerts + freshness (heartbeats, month-close evals)hourly checksCompliance/exception alerts
Property tax / CAD, dual-brand splits, CC reconnightly / monthly / manualMonthly and ad-hoc packs

06The roadmap

Four phases. Each phase is shippable on its own; nothing resumes to the team until Phase 1 is signed off.

Phase 0 · This week

Trust reset + change control

Phase 1 · On your sign-off

The daily pair, resumed deliberately

Phase 2 · Next 2-4 weeks

The weekly layer

Phase 3 · Month-close rhythm

The monthly owner pack

Phase 4 · Product-ize (external RPP)

Email as the secret sauce

07The target inbox, end state

When (CT)EmailAudienceLeads with
Daily, by 10:30 AMOwnership Market FlashAce, Alyssa (+corp on approval)Yesterday + MTD vs budget/LY, exceptions on top
Daily, 9:00 AMGM Property FlashGM + property teamRate position, OTB, sales focus dates
Daily, 3:30 PMRate-move exceptionGM, only when triggeredWhat changed since morning
Event-drivenFreshness / red alertsAce (Woz ops)What is broken, what is being done
WednesdaySTR / market scoreboardOwnership + GMsRGI, rank, fair-share gap
FridayPortfolio weeklyOwnership + corpMonth-end projection vs budget, green/red
Monthly, ~18thOwner packOwnershipP&L flow-through, CPOR, RGI, AI narrative
Monthly, 17thSTR chaseZabir, RahilMissing files (already live)

08Decisions I need from you

1

Who comes back on, and when?

Property teams (GMs + staff) on the 9:00 AM flash, and Salim/Rahil/Zabir on the Market Flash, are all held right now.

Recommendation: resume GMs first once you lock the v1 template (they act on the rate grid daily); corp team resumes with the Friday weekly instead of the daily.

2

Labor block: owner-only or roll to GMs?

It is currently in your and Alyssa's variant only, behind the LABOR_REVIEW gate.

Recommendation: keep owner-only through Phase 1; revisit for GMs once the daily CPOR numbers have a few weeks of trust behind them.

3

Keep the 3:30 PM second send as-is, or make it exception-only?

Recommendation: exception-only. Two identical daily emails is the fastest route to both being ignored (alert-fatigue research is unambiguous).

4

Weekly STAR subscription?

The Wednesday RGI scoreboard needs weekly STAR data; today RPP holds monthly (plus a supported daily variant). Weekly STAR is a paid CoStar add-on per property (cost unverified, needs a quote).

Recommendation: get the quote for the 3 fed Houston properties first; monthly RGI + SIFT market share covers the interim.

5

Adopt the change-control rule?

No email content or recipient change ships without a preview to you and an explicit OK, logged in an EMAIL-CHANGELOG.

Recommendation: yes. This is the fix for "I don't know how it mutated" ever happening again.