Ashish · field notes
All notes
← back to the system map
BuildingRevenue & Distribution2 min read

Legacy-history import to PMS BI

I reshaped a decade of legacy exports into the PMS's own templates so old history sits right next to new.

The modern PMS can host pre-migration history, but only in its own business-intelligence template format. My legacy data was in a completely different export shape. Bridging them by hand, per year per property, is tedious and error-prone.

How it works

A Python job using openpyxl reads the legacy forecasting exports, aggregates daily rows to monthly occupancy, ADR, room-nights, and revenue, and writes them into the PMS's HistoricalData templates, one per year per property, matched to each property's space categories.

Building. One property is loaded across multiple years. The method generalizes to the rest, each with its own template hashes and category IDs.

Getting old history into the new system is what makes the PMS's own analytics honest across the migration boundary. It is a one-time reshaping problem that, once scripted, an owner never has to think about again.

Got an idea? Tell me →More field notes