RESO is the Real Estate Standards Organization, and its Data Dictionary is the shared vocabulary that MLSs use to name listing data. It is the reason a plugin can read 800 different feeds without a separate integration for each one.
What it does not do is guarantee that two MLSs publish the same fields, or the same values inside them. This page covers the fields you actually work with and where the standard stops.
The fields that carry the listing
These arrive on almost every feed and are the ones your property page is built from.
ListingKeyis the listing’s unique identifier inside the feed. MLSImport stores it on every property and uses it to decide whether an incoming listing is new or an update, so it is the field that prevents duplicates.ListingIdis the MLS number people quote, the one printed on a yard sign. It is not the same asListingKeyand is not always unique across time.ListPriceis the asking price, andStandardStatusis the state of the listing. Together they decide most of what visitors see.PropertyTypeis the broad class, such as Residential or Residential Lease.PropertySubTypeis the specific one, such as Single Family Residence or Condominium.PublicRemarksis the marketing description written for consumers. MLSImport writes it into the property’s content, which is why it is the text you see in the body of the page.UnparsedAddress,City,CountyOrParish,StateOrProvinceandPostalCodeplace the listing, andLatitudeandLongitudeput the pin on the map.BedroomsTotal,BathroomsTotalInteger,LivingArea,LotSizeAcresandYearBuiltare the counts every search form filters on.Mediais the photo collection. MLSImport reads the image URLs from it rather than copying files into your media library.ModificationTimestampis when the listing last changed. The hourly sync asks for listings by this field, which is why it is always imported.
Status, and why it is two fields
StandardStatus is the RESO value, drawn from a fixed list: Active, Active Under Contract, Pending, Closed, Expired, Canceled, Withdrawn, Coming Soon, Hold, Delete and Incomplete. MlsStatus is your board’s own wording for the same thing, which can be anything from “Back on Market” to “Temporarily Off Market”.
MLSImport filters and deletes on StandardStatus because it is the value that means the same thing on every feed. Import MlsStatus as well when your market uses wording that visitors expect to see.
The Data Dictionary defines which values a field may hold, not which values your MLS uses. A board that never publishes Coming Soon still lists the field. Always check the values your own feed returns before building a filter around one.
Agent, office and compliance fields
These are separate fields that are never merged or substituted for each other. ListAgentFullName, ListAgentMlsId, ListAgentKey, ListOfficeName, ListOfficeMlsId and ListOfficeKey identify who holds the listing. BuyerAgentMlsId and its siblings identify the other side of a closed sale.
AttributionContact is the field most MLSs designate for the courtesy of line that display rules require. Some boards use a locally named field instead, and some populate none of them.
Fields such as ShowingInstructions, PrivateRemarks and AccessCode also exist in the standard. They are for MLS members and must never be printed on a public page.
Where the standard stops
Each MLS may extend the Data Dictionary with its own fields, and most do. They usually appear with a board prefix, so a Triad MLS feed can carry both AttributionContact and TRIADMLS_ListingAttributionContact. Both are real fields, and only one of them may be populated.
Local fields work exactly like standard ones in MLSImport: they show in Select Import fields, they can be labelled, and they can be mapped. Nothing is lost by using them. What you give up is portability, since another MLS will not have that field.
The full definitions live at the RESO Data Dictionary wiki. Use it to understand what a field is meant to hold, then confirm against your own feed what it actually holds. The two are different questions.
Frequently asked questions
Why does one field hold several values separated by commas?
Fields such as InteriorFeatures, Appliances and WaterfrontFeatures are collections, so the MLS returns a list. MLSImport stores the list as one value with the entries separated by commas, unless the field is routed to a taxonomy, where each entry becomes its own term.
My MLS calls a field something completely different. Is that allowed?
Yes. Boards may rename, extend and restrict fields, and the Data Dictionary version they certify against also varies. That is why the field list in the plugin is generated from your feed rather than shipped with the plugin.
Which fields does MLSImport always import regardless of my selection?
The ones the system cannot work without: the listing key, the modification timestamp, the status and the address and coordinate fields that place the property. Everything else is your choice.
Do I need to understand RESO to use MLSImport?
No. The wizard turns on the fields your theme needs and the rest of the catalogue can stay off. This page matters when you want a specific field on your property page and need to know which one holds it.
Related
- The Select Import fields screen
- What RESO Web API access is and why you need it
- Attribution fields and courtesy of text
- Filtering on multi value fields
Tell us what you want on the property page and we will name the field on your feed that carries it.