PMS Data
How property management system data is ingested, validated, and kept current in BubbleGum BI.
Data Quality
How we clean and validate PMS data before it reaches your dashboards.
Raw PMS data often contains gaps, inconsistencies, and edge cases that would skew your analytics. BubbleGum BI applies a series of validation rules and derivation logic to ensure the metrics you see are accurate and actionable.
Lease Sign Date Validation
Catching data entry errors and system migration artifacts
Lease sign dates must fall within a reasonable window relative to the lease start date.
- Sign date cannot be more than 150 days before lease start
- Sign date cannot be more than 60 days after lease start
- If outside this window, we fall back to the lease start date
The flag complete_lease = true indicates the sign date passed validation.
Rent Derivation
Priority-based approach to find the most accurate rent value
Priority 1: Exact Date Match
Match rent charges where the charge start date aligns exactly with the lease start date.
Priority 2: Lease File Amount
Use the monthly rent amount from the lease file when available.
Priority 3: Tenant Sequence Match
Match by tenant lease sequence number when date alignment isn't possible.
Concession Aggregation
How concessions are summed from qualifying charge codes
- Charge must occur between lease start and lease end dates
- Only recognized concession charge codes are included
- Both one-time and recurring concessions are captured
Availability Status
Unit status inferred from gaps in availability data
Application
Unit went off market with a gap greater than 2 days, or hasn't returned to market. Indicates an application is in progress.
Cancel/Denial
Unit returned to market within 3-45 days of going off market. Indicates a failed application that needs to be re-leased.
Available
Unit is currently on market and available for leasing.
Historical Renewal Derivation
Deriving renewal status for leases that expired before live API data
Step 1: Find the Next Lease
Look at each expiring lease and find the next lease on that same unit.
Step 2: Compare Tenant Codes
Check if the next lease has the same tenant_code AND is marked as a "Renewal" type.
Step 3: Assign Status
- Renewed — Same tenant_code + Renewal lease type
- Notice — Different tenant_code (new resident moved in)
- Notice — No next lease found (unit went vacant)
Data Priority
When you have multiple data sources for the same property, here's how we decide which to use.
Not all data sources are created equal. A direct API connection to your property management system provides real-time, transaction-level data that's more accurate and timely than report uploads. DataPipe automatically uses the highest-fidelity source available for each property.
Priority Order
Highest priority sources are used when available
Priority 1: PMS API
Direct integration with your property management system. The gold standard for data quality.
- Real-time data synced daily
- Full transaction history and audit trail
- Automatic detection of changes
Priority 2: Reports (Excel / CSV)
Report uploads in Excel or CSV format. Used when PMS API isn't available.
- Processed daily when uploaded
- Standardized format across properties
How It Works
Automatic source selection and switching
Step 1: Source Detection
When processing data for a property, DataPipe checks which sources have data available.
Step 2: Priority Evaluation
The system selects the highest-priority source with current data. PMS API always wins if available.
Step 3: Automatic Switching
If you upgrade from reports to API, DataPipe automatically starts using the higher-quality source. No manual intervention required.
Refresh Pipeline
The journey from your PMS to your BubbleGum BI dashboard.
All data sources are processed daily. Properties with direct API connections sync automatically, while report-based properties are processed when new reports are uploaded.
Data Flow Timeline
From PMS change to dashboard visibility
Step 1: Change Made in PMS
A change is made in your property management system. This is the source of truth.
Step 2: Data Sync (Overnight)
For API-connected properties, DataPipe syncs with your PMS overnight, pulling the latest data.
Step 3: Data Processing (Early Morning)
Raw data is transformed, validated, and loaded into our data warehouse. Historical records are preserved for trend analysis.
Step 4: Dashboard Updated (By 12 PM)
Your dashboard reflects the new data. Changes from yesterday are now visible in today's dashboard.
Refresh Summary by Source
How quickly changes appear based on your data source
PMS API Properties
~24 Hours — Changes made today appear in tomorrow's dashboard.
Syncs run overnight to minimize impact on your PMS.
Report-Based Properties
Daily — Data is processed daily when new reports are uploaded.
Historical Data
We preserve history for trend analysis
- Daily snapshots for key metrics
- Complete transaction history
- Week-over-week and year-over-year comparisons