zentraproperty feedv1.0.0-rc.3

reference · 54 mappings

Every public field has a source and a rule.

This catalogue is the shared machine-readable source for required/optional status, constraints, examples and propertyfeedtemplate mappings.

54 of 54
XML pathRequirementType / constraintpropertyfeedtemplate mapping
/@versionfeed · publicrequiredfixed string1.0contract version
/@generated_atfeed · publicrequireddate-timeISO 8601 with timezoneexport timestamp
/@modefeed · publicrequiredfixed stringcompleteexport mode
/provider/@provider_idprovider · publicrequiredstring1-255; stable and uniquefeed/provider configuration
/provider/nameprovider · publicrequiredstring1-1000agency name
/provider/emailprovider · publicoptionalemailpublic syndication addressagency public email
/provider/telephoneprovider · publicoptionalstringpublic syndication numberagency public telephone
/provider/websiteprovider · publicoptionalhttps URLabsolute HTTPSagency public website
/properties/property/listing_ididentity · publicrequiredstringprovider-scoped; immutable; unique in feedstable external ID, not properties.id
/properties/property/referenceidentity · publicoptionalstringdisplay reference; not identityproperties.reference
/properties/property/created_atidentity · publicoptionaldate-timeISO 8601properties.created_at
/properties/property/updated_atidentity · publicrequireddate-timemust change when exported data changesproperties.updated_at
/properties/property/statuslifecycle · publicrequiredenumavailable|reserved|under_offer|sold|rented|withdrawn|draftproperties.status/is_draft
/properties/property/transactioncommercial · publicrequiredenumsale|rent_long_term|rent_short_term|sale_or_rentproperties.department
/properties/property/prices/primarycommercial · publicrequireddecimalnon-negative; currency ID/code must agreeproperties.numeric_price + price_currency
/properties/property/prices/alternatecommercial · publicoptionaldecimal[]maximum 10properties.alt_prices
/properties/property/prices/display_textcommercial · publicoptionalstringnot a replacement for numeric primary priceproperties.price_text
/properties/property/property_type/@idclassification · publicrequiredcontrolled IDactive property_types.idproperties.property_type_id
/properties/property/property_type/@labelclassification · publicrequiredstringdescriptive; ID controlsproperty_types.name_en/name_es
/properties/property/property_type/@source_labelclassification · publicoptionalstringprovider label for diagnosticsraw source type/subtype
/properties/property/location/@country_idlocation · publicrequiredcontrolled IDactive countries.idproperties.country_id
/properties/property/location/@region_idlocation · publicrequiredcontrolled IDactive regions.id belonging to countryproperties.region_id
/properties/property/location/@city_idlocation · publicrequiredcontrolled IDactive cites.id belonging to regionproperties.city_id
/properties/property/location/@country|@region|@citylocation · publicrequiredstringdiagnostic labels; IDs controlcontrolled catalogue labels
/properties/property/location/address/*location · public-sensitiveoptionalstringprivacy and publication policy applyhouse_number, street, district, county, postal_code
/properties/property/location/coordinates/@latitudelocation · public-sensitiveoptionaldecimal-90 to 90; both coordinates required togetherproperties.latitude
/properties/property/location/coordinates/@longitudelocation · public-sensitiveoptionaldecimal-180 to 180; public spelling is longitudeproperties.longtitude (legacy misspelling)
/properties/property/details/bedroomsdetails · publicoptionalinteger>= 0properties.bedrooms
/properties/property/details/bathroomsdetails · publicoptionalinteger>= 0properties.bathrooms
/properties/property/details/living_roomsdetails · publicoptionalinteger>= 0properties.living_rooms
/properties/property/details/constructed_areadetails · publicoptionaldecimal + unitpositive; sqm|sqftproperties.built + metric
/properties/property/details/living_areadetails · publicoptionaldecimal + unitpositive; sqm|sqftproperties.living_area + metric
/properties/property/details/plot_areadetails · publicoptionaldecimal + unitpositive; sqm|sqftproperties.garden/derived plot where explicitly mapped
/properties/property/details/garden_areadetails · publicoptionaldecimal + unitpositive; sqm|sqftproperties.garden
/properties/property/details/parking_spacesdetails · publicoptionalinteger>= 0properties.parking
/properties/property/details/pool_countdetails · publicoptionalinteger>= 0properties.pools
/properties/property/ownership/tenureownership · publicoptionalstringplain controlled provider valueproperties.tenure
/properties/property/ownership/leaseholdownership · publicoptionalbooleantrue|falseproperties.leasehold
/properties/property/ownership/part_ownershipownership · publicoptionalbooleantrue|falseproperties.part_ownership
/properties/property/ownership/new_buildownership · publicoptionalbooleantrue|falseproperties.new_build
/properties/property/texts/headingcontent · publicrequiredlocalized text[]one per locale; plain textproperties.advert_heading/localized content
/properties/property/texts/descriptioncontent · publicrequiredlocalized text[]one per locale; plain text; no HTMLproperties.main_advert_1/localized content
/properties/property/features/featureclassification · publicoptionalcontrolled ID[]unique active features.id; maximum 152properties.features/property_features
/properties/property/energy/*energy · publicoptionalstring/decimalexplicit rating and units where measuredepc, energy_consumption, energy_emission
/properties/property/contact/*contact · public-sensitiveoptionalpublic contactmust be approved for syndicationbroker_name, telephone, public email
/properties/property/links/source_urllinks · publicoptionalhttps URLabsolute HTTPScanonical listing page
/properties/property/links/video_urllinks · publicoptionalhttps URLpublic, embeddable provider URLproperties.video_url
/properties/property/links/virtual_tour_urllinks · publicoptionalhttps URLpublic, embeddable provider URLproperties.virtual_tour
/properties/property/media/itemmedia · public-sensitiveoptionalordered media[]unique ID/order; 200 maximum; see media specificationproperty_images/pictures/listing_image_url
/properties/property/identifiers/permit_numberidentifiers · public-sensitiveoptionalstringpublish only where legally appropriateproperties.permit_number
/properties/property/identifiers/cadastral_referenceidentifiers · public-sensitiveoptionalstringpublish only where legally appropriateexplicit source mapping; never infer
/properties/property/publication/visiblepublication · publicrequiredbooleanfalse for draft/withdrawn where retainedproperties.is_draft/status
/properties/property/publication/networkpublication · publicrequiredbooleanexplicit syndication intentproperties.is_network/portal_export policy
/properties/property/publication/available_frompublication · publicoptionaldateISO 8601 dateproperties.available_from

Explicitly excluded source fields

properties.id

internal zentra property ID is assigned after import and is never provider identity

feed_id, agent_id, batch_id

internal tenancy and processing identifiers

notes_and_commission

confidential operational/commission data

network_reference

internal network reconciliation value

tag

uncontrolled internal value without a public contract

pictures storage paths

publish stable HTTPS media URLs, never internal storage paths

is_draft, portal_export, is_network

mapped into the explicit publication contract; raw flags are not exposed