Schema reference

Property feed formats, ready to use.

OpenPMX Lite is PropBot’s current RSS 2.0 feed. JSON is the next transfer shape, with version marker engine2-0.2; its public name is not chosen.

Current formats

OpenPMX Lite RSS is the current feed.

OpenPMX Lite uses RSS 2.0. Each marketable offer is an RSS item with PropBot fields in the http://www.propbot.org namespace. Use the opmxl prefix shown in the example and validate against both the XML Schema and publish rules.

i

Type and status values
Use one of the five feed categories, one of the ten supported statuses, and a numeric property type ID from the property catalog.

Validate a feed in your browser · OpenPMX Lite XML Schema · OpenPMX Lite publish rules · RSS example feed · Property catalog

Categories

Five 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 category cfs for sale listings and rfr for rental listings.

Statuses

Ten supported values.

Open-market search includes Active, Pending, Contingent, Pending Accepting Backup Offers, and Contingent Accepting Backup Offers. All ten values are valid stored statuses.

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

Property types

Use the numeric type ID.

The property catalog contains 102 numeric IDs. Set the RSS propertytype value to the ID. The accompanying labels are for people reading the catalog.

Examples: ID 60 is Detached, ID 50 is Zoned Agricultural, and ID 99 is Agricultural. The engine 2 catalog includes every supported ID and label.

Browse all property types and statuses

Next transfer shape

JSON · engine2-0.2.

JSON is the next transfer shape. The public name is not chosen. A realtor site hosts the document and PropBot pulls it over HTTPS. The access token is sent on the request. It is not a field in the file.

Serve GET /propbot/feed.json. Accept since as an update time and return listings newer than that time. Answer 304, or return an empty properties array, when nothing changed. A listing left out of the file is not deleted. Set status to Closed or Withdrawn to take a listing off the market.

Each changed listing needs externalId, updatedAt, status, category, and numeric typeId. A listing on the market also needs a title, address, and map pin. A sale needs a price. Photos, public contact, size, and interiors are optional. Leave out account ids, advertising, rank, and private financials.

Open the JSON working file · Open the JSON Schema

OpenPMX · Open Property Management Exchange

Open specification for private property files.

OpenPMX defines a full-property XML exchange between property systems. The specification is open; a real file is confidential and is sent only to the organization named in Recipient, over HTTPS. The current PropBot importer does not ingest OpenPMX XML.

Element names follow the established OpenPMX section outline. Categories, statuses, and numeric type IDs use the current property catalog. OpenPMX Lite remains the public RSS feed; government details, financials, obligations, and direct partner contacts belong in the private exchange.

OpenPMX XML Schema · Schematron publish rules · Validate a file in your browser · Download the command-line validator · Fictional XML example · Full field list

File structure

OpenPMXFile
  FileInfo                  Version, Sender, Recipient, MessageId, Created
  Government                optional confidential property facts
  SaleInformation           optional sale and contact facts
  Location                  full address and usable coordinates
  ExteriorResidential | ExteriorCommercial
    interiors               zero or more

One file contains one residential or commercial exterior and zero or more matching interiors. Land and vacation-style stays use catalog TypeIds in these exterior forms. OpenPMX has no separate Land or Vacation XML family.

Fields in the exchange

SectionSpecified fields
FileInfoRequired profile token propbot-openpmx-2026, sender and recipient organization names, a message ID unique for that sender, and creation time.
GovernmentOptional confidential legal description and zoning.
SaleInformationOptional contact name, phone, email, and website; price with optional currency; MLS number; description; financing details; NOI, GOI, and CAP.
LocationAddress line 1 and optional line 2, locality, province or state, postal code, country, latitude, and longitude.
Exterior and interiorsTitle, up to three numeric TypeIds, category, status, sale and rent flags, supported property facts, and listing images. Each image has a URL and optional caption, order, and primary flag. Residential interiors include type, beds, baths, and size. Commercial interiors include size. A leased interior includes rent and security deposit.

Categories are cfs, cfl, lfs, rfs, and rfr. IDs 56, 57, 67, and 74 use cfs for sale and rfr for rent. Statuses and type labels are listed in the property catalog. Rent cadence values are $/Day, $/Week, $/BiWeek, $/Month, $/Year, $/SF/Year, and $/SF/Month. Garage values are 0, 1, 2, 3+, 4+, and detached. Lot area units are acres, sqfeet, and meters; building and interior area units are sqfeet and meters.

The OpenPMX page contains the complete field list for each section and element.

Conditional publish rules

RecordRequired for a publishable file
Every file and exteriorNamed sender and recipient, message ID, creation time, title, full address, usable coordinates, a supported numeric type ID, category, and status.
Residential exteriorA non-empty description.
Sale offerPrice and lot size.
Residential rentalApplication fee.
Included residential interiorTitle, description, type ID, beds, baths, and size.
Included commercial interiorTitle, description, and size.
Leased interiorRent and security deposit.

Contact fields are optional. Status Temporary Off Market expresses the off-market state; the format does not add an off-market flag. XSD and Schematron define the accepted fields and conditional requirements.

Use the public OpenPMX Lite RSS feed when a listing is meant to be published openly. Send real OpenPMX files only to their named recipient over HTTPS.