Caribe Scout
REES v0.1 · draft

Field reference

Every field in REES v0.1, generated from the published JSON Schema — so this page and the validator always agree. Required fields are marked ●.

Jump to: Feed · Listing · Money · Measure · Geo · Provenance · License · Publisher · Contact · LocalizedText · Development · Feature vocabulary

Unknown fields are rejected, not ignored: a typo such as bedrooms at the listing level (it belongs in rooms) is reported rather than silently lost.

Feed (the top level)

Real Estate Exchange Standard v0.1: one publisher, its listings and developments.

FieldTypeValues / rulesMeaning
rees ● "0.1" Spec version this feed follows.
publisher ● Publisher
generated_at ● string (date-time) When this feed was produced (ISO 8601, with timezone).
license License
listings ● array of Listing All current listings, or only changes when since is set.
developments array of Development
since string (date-time) Set when this is a delta feed: only records updated after this instant.
next string (uri) URL of the next page, for large feeds.

Listing

FieldTypeValues / rulesMeaning
id ● string max 128 chars Stable within the publisher. Never reuse; never change when the listing is edited.
url ● string (uri) The listing's canonical page on the publisher's site. Receivers link back here.
status ● one of active reserved sold rented withdrawn
updated_at ● string (date-time)
listed_at string (date)
operation ● one of sale rent_long rent_mid rent_short rent_mid = monthly, 1–11 months; rent_short = nightly/weekly.
property_type ● one of apartment penthouse villa house townhouse land commercial hotel building other
development_id string The development this unit belongs to, when there is one in developments.
unit string Unit label inside a building or development: "A-402".
title ● LocalizedText
description LocalizedText
price ● Money
area object
area.built Measure Interior living area.
area.terrace Measure
area.plot Measure Land. For property_type "land", this is the size.
rooms object
rooms.bedrooms integer ≥ 0 0 = studio.
rooms.bathrooms number ≥ 0 Half baths as .5.
rooms.parking integer ≥ 0
location ● object
location.country ● string pattern ^[A-Z]{2}$ ISO 3166-1 alpha-2.
location.region string Province / parish / state.
location.city ● string
location.area string Neighbourhood, sector or resort: "Cap Cana", "Los Corales".
location.address string Omit when the publisher does not disclose it.
location.postal_code string
location.geo Geo
delivery object
delivery.status ● one of built under_construction off_plan
delivery.year_built integer ≥ 1800 · ≤ 2100
delivery.expected string pattern ^[0-9]{4}(-Q[1-4]|-[01][0-9])?$ Handover: "2027", "2027-Q2" or "2027-06".
features array of string Controlled vocabulary (see the field reference): pool, private_pool, beachfront, ocean_view, gated, furnished, generator, cistern…
media array of objects
media[].url ● string (uri)
media[].type ● one of photo floorplan video tour document
media[].caption LocalizedText
media[].order integer ≥ 0
costs object
costs.hoa Money Condominium / maintenance fee. basis MUST be a period (per_month, per_year) or per_m2 with a period in note.
costs.property_tax Money
costs.transfer_tax_pct number ≥ 0 · ≤ 30
legal object
legal.title_status one of titled titled_individual in_process untitled unknown titled_individual = its own certificate (in the DR, after deslinde).
legal.survey_done boolean Boundary survey registered (deslinde in the DR).
legal.tax_exemption object
legal.tax_exemption.scheme ● string e.g. "CONFOTUR".
legal.tax_exemption.until_year integer ≥ 2000 · ≤ 2100
legal.tax_exemption.provenance Provenance
legal.foreign_buyers one of allowed restricted not_allowed unknown
agent Contact
listing_office object The office that holds the listing, when it is not the publisher (co-brokerage, MLS).
listing_office.name ● string
listing_office.id string
listing_office.website string (uri)
license License

Money

An amount, its currency and what it is a price OF. Never a bare number.

FieldTypeValues / rulesMeaning
amount number ≥ 0 Required unless basis is on_request. For a range, the low end.
max number ≥ 0 High end of a range (basis "range").
currency ● string pattern ^[A-Z]{3}$ ISO 4217 code: USD, DOP, EUR, JMD… Never a symbol.
basis ● one of total per_m2 from range per_month per_week per_night per_year on_request total = the whole property; per_m2 = rate × area; from = lowest unit in a development; range = amount…max.
includes array of one of furniture hoa utilities vat transfer_tax What the amount includes, when it is not bare.
provenance Provenance

Measure

FieldTypeValues / rulesMeaning
value ● number > 0
unit ● one of m2 ft2 ha acre Always stated. No default unit exists.
provenance Provenance

Geo

FieldTypeValues / rulesMeaning
lat ● number ≥ -90 · ≤ 90
lng ● number ≥ -180 · ≤ 180
precision ● one of exact street neighbourhood approximate How close the point is to the property. Use "approximate" for a deliberately blurred pin.
provenance Provenance

Provenance

Where a value came from. Optional everywhere; required on price and area for the Verified level.

FieldTypeValues / rulesMeaning
source ● one of owner agent developer survey registry appraisal estimate
date string (date)
confidence one of verified stated estimated verified = checked against a document; stated = as told; estimated = derived.
note string

License

What a receiver may do with the data. Set once on the feed; override per listing.

FieldTypeValues / rulesMeaning
use ● one of republish-with-credit display-only idx-personal-use no-republish idx-personal-use = MLS/IDX data a portal may NOT republish; no-republish = analysis only.
credit_required boolean
backlink_required boolean
url string (uri) The publisher's terms, if any.

Publisher

FieldTypeValues / rulesMeaning
id ● string pattern ^[a-z0-9][a-z0-9-]{1,62}$ Stable slug for the publisher, chosen once: "cabarete-real-estate".
name ● string
kind one of agency developer owner mls portal
website ● string (uri)
country string pattern ^[A-Z]{2}$
contact Contact
license_number string Local broker licence or registry number, where one exists.

Contact

FieldTypeValues / rulesMeaning
name string
email string (email)
phone string pattern ^\+[0-9 ()-]{7,20}$ E.164-style with country code: +1 809 555 0100.
whatsapp string pattern ^\+[0-9 ()-]{7,20}$

LocalizedText

Text by language, keyed by ISO 639-1 code: {"en": "...", "es": "..."}. At least one language.

Keys are language codes (en, es, fr, pt-BR), values the text. Example: {"en": "Ocean-view condo", "es": "Condo con vista al mar"}

Development

FieldTypeValues / rulesMeaning
id ● string max 128 chars
name ● string
url ● string (uri)
developer string
location ● same as Listing.location
delivery ● same as Listing.delivery
units_total integer ≥ 1
units_available integer ≥ 0
price_from Money
description LocalizedText
media same as Listing.media
features same as Listing.features

Feature vocabulary (v0.1)

Use these values in features. Others are accepted with a warning and kept, but receivers cannot filter on them. Propose additions on the changelog page.

poolprivate_poolshared_poolbeachfrontbeach_accessocean_viewgolf_viewgolf_frontgatedsecurity_24hfurnishedsemi_furnishedair_conditioninggeneratorinvertersolarcisternwater_heaterelevatorgymgardenterracerooftopbbqparkingcovered_parkingstoragepet_friendlyshort_let_allowedhoa_managedmarina_access