Plain-English data dictionary for ops
Last reviewed
For: An ops lead, finance partner, or analyst who reads PropSocket data — in the dashboard, a CSV, or a webhook payload — without writing code.
You’ll accomplish: understanding the five things PropSocket syncs, why money and IDs look the way they do, how to tell a removed record from a real one, and what the status labels mean.
PropSocket takes the data from your PMS (like Entrata) and reshapes it into one consistent structure called the Common Data Model, or CDM. The point of the CDM is that the same kind of information always looks the same, no matter which PMS it came from. This article is your glossary for that structure — in plain terms, focused on meaning, not technical types.
1. The five things PropSocket syncs
Everything in the CDM is built from five connected pieces:
- Property — a physical place you manage: a building, a community, a complex, or a standalone rental home. This is the top of the tree. Everything else hangs off a property.
- Unit — one rentable space inside a property: an apartment, a suite, a single-family home, even a single bed in student housing. A property has many units.
- Resident — a person who is a current, past, or future tenant. This holds their contact and identity information. A resident can be tied to more than one lease over time.
- Lease — the rental agreement: which unit, which residents, the term, the rent, the deposit. This is the piece that connects people to spaces and carries the money.
- LeaseResident — the link between a lease and the residents on it. A lease can have several residents (a primary tenant, a co-resident, a guarantor), and this is what records who is on which lease. You’ll mostly see it as the resident list attached to a lease rather than as its own row.
How they relate, in one sentence: a Property has many Units; a Lease ties one Unit to one or more Residents; LeaseResident is the list of who’s on each lease.
2. Why money looks like {amount: 125000, currency: "USD"}
When you see a money value in a PropSocket export or payload, it won’t say $1,250.00. It’ll look like this:
{ "amount": 125000, "currency": "USD" }
That is $1,250.00. Two things are going on:
- The amount is in cents (the smallest unit of the currency), as a whole number.
125000cents is $1,250.00. To read it as dollars, divide by 100. So125000→ 1250.00,99900→ 999.00,50→ 0.50. - The currency is stored next to it so the number is never ambiguous.
"USD"means US dollars.
Why cents instead of dollars? Because storing money as whole cents avoids the rounding errors that creep in when computers do math on decimals. It’s the standard way financial systems handle money — it’s there to keep your rent and balance figures exact.
Reading it in a CSV: if a column shows 125000 for rent, that’s $1,250.00 — divide by 100. If your spreadsheet needs dollars, add a column that divides the cents column by 100.
3. What x_id means
Every record has two identifiers:
id— PropSocket’s own ID for the record. It’s how PropSocket and its API refer to that exact property, unit, resident, or lease.x_id— the record’s original ID in your PMS. Thex_is just a label meaning “external” — it’s the same number Entrata uses for that record.
When ops folks need to care: the x_id is your bridge back to your PMS. If you’re reconciling a PropSocket record against Entrata — “is this the same lease?” — the x_id is the value that matches what you’ll find in Entrata. When you report a data question to support, giving both the PropSocket id and the x_id lets us trace a record from your PMS all the way through the sync. See What if our data looks wrong?.
4. Soft delete: what deleted_at tells you
When a record is removed in your PMS — a resident moves out and is purged, a unit is retired — PropSocket does not erase its copy. Instead it stamps the record with a deleted_at time and hides it from your normal views. This is called a soft delete.
So when you look at a record’s deleted_at:
deleted_atis empty (null) → the record is active. It’s a live record reflecting something that still exists in your PMS.deleted_athas a date and time → the record was removed in your PMS at that moment, and PropSocket is keeping it for your records rather than deleting it.
This is why a resident or lease can “disappear” from your normal lists but still be retrievable — it wasn’t lost, it was soft-deleted because it went away in the PMS. If you want to see soft-deleted records in an export or API pull, that’s an option an engineer can include; by default they’re hidden so your everyday views show only what’s current.
5. What the status labels mean per record
Most entities carry a status — a single word describing where it stands. Here’s what they mean in plain terms. (Your PMS may not use every value; PropSocket only fills in what Entrata provides.)
Property status — the operational state of the property:
| Status | Plain meaning |
|---|---|
active |
Open and operating. |
inactive |
Not currently operating. |
lease_up |
New property still filling up its first leases. |
under_construction |
Being built; not yet operating. |
demolished |
No longer exists. |
other |
Doesn’t fit the labels above. |
Unit status — whether a unit is occupied or available:
| Status | Plain meaning |
|---|---|
occupied |
Someone lives there now. |
vacant |
Empty. |
vacant_ready |
Empty and ready to move into. |
vacant_not_ready |
Empty but needs turn work first. |
notice |
Occupied, but the resident has given notice to leave. |
down |
Out of service (maintenance, damage). |
model |
A show unit, not rented. |
employee |
Used by staff. |
other |
Doesn’t fit the labels above. |
Resident status — where a person stands in their tenancy:
| Status | Plain meaning |
|---|---|
current |
A current tenant. |
past |
A former tenant. |
future |
Approved and moving in later. |
applicant |
Applied but not yet approved. |
notice |
Currently leasing, has given notice to move out. |
evicted |
Removed through eviction. |
guarantor |
Guarantees the lease but doesn’t live there. |
other |
Doesn’t fit the labels above. |
Lease status — where the agreement stands:
| Status | Plain meaning |
|---|---|
draft |
Being prepared, not yet in effect. |
pending |
Set up but not yet started. |
active |
In effect now. |
renewed |
Was renewed into a new term. |
expired |
Reached its end date. |
terminated |
Ended early. |
eviction |
Ended through eviction. |
cancelled |
Called off before it started. |
other |
Doesn’t fit the labels above. |
A note on dates: dates in PropSocket are written
YYYY-MM-DD(e.g.,2026-05-21is May 21, 2026), and timestamps are in UTC, a single global time zone. If a timestamp looks “off by a few hours” from your local clock, that’s why — your dashboard shows times in your Organization’s time zone, but raw exports and payloads use UTC. See Reading the sync status dashboard for how this affects sync times.
If this didn’t work
If a value doesn’t match what you expect, a status label is unfamiliar, or a record you’re sure exists in your PMS isn’t showing, work through What if our data looks wrong? first — it walks the most common explanations.
If it’s still unclear, open a support ticket by emailing support@propsocket.io and include:
- Organization slug (the short name in your dashboard URL, e.g.
acme-residential) - Integration Name (shown on the integration’s page)
- The record’s PropSocket
idand itsx_id(the PMS ID), and which entity it is (property, unit, resident, lease) - The field or status you’re asking about
- What you expected vs. what you saw
Please do not paste full resident personal information (Social Security numbers, full payment details, unredacted contact lists) into the ticket. Reference the record by its IDs and name the one field in question — that’s enough for us to find it safely.
For engineers on your team: this article is the non-technical glossary. The field-level schema, data types, and exact API field names live in the developer documentation — point engineers there rather than to this page.
Didn't solve it?Talk to us — a real engineer replies within one business day. Or browse therest of the help center.