Caribe Scout
REES v0.1 · draft

From OpenImmo, RESO, Kyero and WordPress

You don't need to rebuild your export. We accept these formats directly and map them to REES — here is exactly how, so you can see what carries over and what to add.

Jump to: OpenImmo · RESO Data Dictionary · Kyero XML · WordPress themes

OpenImmo (XML, Germany/Europe)

OpenImmo 1.2.x is XML shipped as ZIP over FTP. We accept the file as it is; this is how its fields land in REES.

Their fieldREESNotes
verwaltung_techn/objektnr_externidStable per agency; openimmo_obid is the cross-system id
verwaltung_techn/aktion @aktionartstatusDELETE → withdrawn (keep the record, do not drop it)
objektkategorie/vermarktungsart KAUF / MIETE_PACHToperationKAUF → sale; MIETE_PACHT → rent_long
objektkategorie/objektart (wohnung, haus, grundstueck…)property_typewohnung → apartment; haus → house/villa; grundstueck → land
freitexte/objekttiteltitle.<lang>OpenImmo has one language per file; REES keeps them together
freitexte/objektbeschreibungdescription.<lang>
preise/kaufpreis, preise/kaltmieteprice.amountbasis total (sale) or per_month (rent)
preise/waehrung @iso_waehrungprice.currencySame ISO code
preise/hausgeldcosts.hoabasis per_month
flaechen/wohnflaechearea.builtunit m2
flaechen/grundstuecksflaechearea.plotunit m2
flaechen/anzahl_schlafzimmerrooms.bedroomsanzahl_zimmer (total rooms) has no REES equivalent
flaechen/anzahl_badezimmerrooms.bathrooms
geo/land @iso_landlocation.countryAlpha-3 (DOM) → alpha-2 (DO)
geo/ort, geo/plz, geo/strasselocation.city, postal_code, address
geo/geokoordinaten @breitengrad @laengengradlocation.geo.lat / lngAdd precision; OpenImmo has none
zustand_angaben/baujahrdelivery.year_built
anhaenge/anhang/daten/pfadmedia[].urlFiles from the ZIP are published at URLs instead
kontaktpersonagent

RESO Data Dictionary (North America)

Mostly one-to-one. The important difference is rights: MLS data under IDX rules is not republishable by a portal, and REES says so explicitly.

Their fieldREESNotes
ListingKeyid
StandardStatusstatusActive → active; Pending → reserved; Closed → sold; Withdrawn/Canceled/Expired → withdrawn
PropertyType / PropertySubTypeoperation + property_typeResidential Lease → rent_long
ListPriceprice.amountcurrency from the market; RESO assumes one
LivingArea + LivingAreaUnitsarea.builtSquare Feet → ft2
LotSizeArea + LotSizeUnitsarea.plotAcres → acre
BedroomsTotal, BathroomsTotalIntegerrooms.bedrooms, rooms.bathrooms
Latitude, Longitudelocation.geoprecision exact unless the MLS masks it
City, StateOrProvince, Country, PostalCodelocation.*
PublicRemarksdescription.en
AssociationFee + AssociationFeeFrequencycosts.hoaMonthly → per_month; Annually → per_year
YearBuiltdelivery.year_built
ModificationTimestampupdated_at
ListOfficeNamelisting_office.name
ListAgentFullName, ListAgentEmailagent
Media[].MediaURL, Ordermedia[].url, order
(IDX participation rules)license.use = "idx-personal-use"Unless the MLS grants portal display rights in writing

Kyero XML (Spain, Portugal, Caribbean agencies)

Common among European agencies selling abroad. Very close in spirit; REES adds units, basis and provenance.

Their fieldREESNotes
id / refid
dateupdated_at
price + currencyprice.amount + currency
price_freq (sale / month / week)operation + price.basissale → total; month → per_month; week → per_week
new_builddelivery.status1 → under_construction or off_plan: ask
type (apartment, villa, town house, plot…)property_type
town, province, country, location/latitude, longitudelocation.*Kyero country is a name; convert to ISO
beds, bathsrooms.*
poolfeatures: pool
surface_area/built, surface_area/plotarea.built, area.plotKyero implies m²; REES states it
desc/<lang>description.<lang>Same shape
features/featurefeaturesFree text → our vocabulary where it matches
images/image/urlmedia[].url
url/<lang>urlThe canonical-language page

WordPress themes (schema.org JSON-LD)

What we read today when an agency has no feed. It works, with the corrections below — each one found on a live site.

Their fieldREESNotes
schema.org offers.price + priceCurrencypriceCheck the currency: themes default to USD
offers.seller (RealEstateAgent)agent
geo.latitude / longitudelocation.geoOften the theme default — Houzez ships 25.68654,-80.431345 (Miami). Omit rather than send it.
floorSize.unitTextarea.built.unitThemes mislabel m² as SQFT; trust the spec table on the page
@type LandParcelproperty_type: land
Price postfix "/m2"—Usually decoration on the total, not a per-m² price; check against the area
/es/, /fr/, /de/ page copiestitle / description languagesOne listing, many languages — not many listings

What none of them carry

Whatever the source, these REES fields have no equivalent and are what lift a listing to Verified and Complete: price.basis, provenance, location.geo.precision, license, legal.title_status, legal.survey_done, legal.tax_exemption, and developments as their own objects.

Mappings describe OpenImmo 1.2.x, RESO Data Dictionary 2.x and Kyero feed v3 as commonly implemented. Found a mistake? Tell us.