Current feed · Property data

OpenPMX Lite

RSS 2.0 feed for publish-ready property offers, using five categories, ten statuses, and the 102 types in the current catalog. Validate with the XML Schema and category rules.

OpenPMX Lite

RSS 2.0 property feeds.

OpenPMX Lite is an open RSS format for property offers: anyone may publish or read a feed that follows it. Each marketable offer is an RSS <item> with fields in the http://www.propbot.org namespace. Use the opmxl prefix in the examples and validate the feed against the OpenPMX Lite XML Schema and publish rules.

The implementation set is this guide, the property catalog, the XML Schema, the RSS example, and the JSON working file marked engine2-0.2. The JSON format’s public name has not been chosen.

<rss version="2.0"
     xmlns:opmxl="http://www.propbot.org"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.propbot.org https://propbot.org/schemas/openpmxlite.xsd">

Feed categories

CodeCategory
cfsCommercial for Sale
cflCommercial for Lease
lfsLand for Sale
rfsResidential for Sale
rfrResidential for Rent

Apartment complex type IDs 56, 57, 67, and 74 are commercial. Use cfs when offering these properties for sale and rfr when offering them for rent.

Listing statuses

Open-market search includes Active, Pending, Contingent, Pending Accepting Backup Offers, and Contingent Accepting Backup Offers. The other stored statuses are valid feed values and remain outside open-market search.

StatusOpen-market search
IncompleteNo
ActiveYes
ClosedNo
ContingentYes
Contingent Accepting Backup OffersYes
ExpiredNo
PendingYes
Pending Accepting Backup OffersYes
Temporary Off MarketNo
WithdrawnNo

Property types

Set propertytype to the numeric typeId. The public labels are shown in the property catalog. Use the numeric ID in the feed; for example, 60 is Detached, 50 is Zoned Agricultural, and 99 is Agricultural.

Feed fields

Publish-ready offer requirements.

PropBot can save incomplete drafts, but an OpenPMX Lite item describes one marketable offer and must meet the property module’s Save and Publish requirements. For a property with multiple offers or rentable interiors, publish one RSS <item> per offer.

Keep the RSS 2.0 envelope. Channel title, link, and description are required. Each item requires title, link, guid, and description. Standard optional RSS fields such as channel image, item pubDate, and foreign-namespace extensions are accepted.

Required PropBot fieldMeaningRequirement
categoryOffer marketOne of cfs, cfl, lfs, rfs, or rfr
uniqueIdPublisher offer IDStable and unique within the feed
propertytypeProperty typeNumeric ID from the property catalog
statusListing statusOne of the ten supported values; closed and off-market statuses are valid updates
address, locality, province, postalcode, countryComplete addressEvery element is required
price, pricetypeOffer amount and currencyNon-negative decimal and three-character currency code
latitude, longitudeMap locationBoth coordinates are required to publish

Requirements that depend on the offer

Offer typeRequired PropBot fields
cfs, cfl, lfs, rfslotsize and lotsizetype
Commercial rental IDs 56, 57, 67, 74 in rfrlotsize and lotsizetype
Type IDs whose catalog entry requires an interiorinteriorsize and interiorsizetype
Residential offers with a required interiorbedrooms and bathrooms
Rent or lease offers (cfl, rfr)securitydeposit
Residential rentals in rfrapplicationfee

Optional PropBot fields

image1, renttype, yearbuilt, contactname, contactphone, contactemail, and contactdomain are optional. Images and contact details are not required by the platform’s publish checks. The rent period is useful when the amount is not monthly, but the current property module does not block publishing when it is omitted.

Example feed

Use the XML example and schema.

The example is a complete publish-ready residential sale offer. The XSD defines RSS structure and field types; the Schematron file enforces requirements that depend on the category and property type.

Validate a feed in your browser · Open the OpenPMX Lite RSS example · Open the XML Schema · Open the RSS wrapper schema · Open publish rules · Download validator source

Validate a feed locally

The validator runs both the XSD and category-specific Schematron rules. It requires Python and lxml:

python3 -m pip install lxml
python3 schemas/validate-openpmxlite.py my-feed.xml

Running xmllint against the RSS wrapper checks structure and field types only; it does not run the publish rules.

Next transfer shape

JSON · engine2-0.2.

JSON is the next transfer shape. Its public name is not chosen. The realtor site hosts the file and PropBot pulls changes over HTTPS. A listing left out of the file is not deleted. OpenPMX Lite RSS stays the public feed.

Open the JSON working file · Open the JSON Schema