Documentation for import feed 2.0.0
In the following document we describe the XML structure that can be used to synchronize property listings from external sources in Indomio.portals.
This document has been structured to break down the information by topics to make it more streamlined and easy to consult.
Important Icons
We have introduced some conventions for the benefit of summary.
Icon | Meaning | Position on page |
---|---|---|
Listing | On the left side | |
Auction | On the left side | |
Property up for auction | On the left side | |
Mandatory | Next to the XPath | |
Deprecated | On the left side of a note | |
Direct link to section of the page | Next to the title | |
In-depth link | On the right side of the paragraph | |
Link to section of the page | On the right side of the paragraph | |
Back to main page | On the right side of the paragraph | |
Downloadable resource | On the right side of the paragraph | |
External page | On the right side of the paragraph |
XML format
Indomio allows agencies' listings to be imported automatically, subject to commercial agreement, from management systems or franchises.
How to submit information is discussed in more detail on a dedicated page.
The following sections describe the information with which you can integrate listings, we recommend validating the resulting feed with the XSD schema available to you for development. Validation is applied on every incoming listing, if it fails this step the listing is discarded. It is therefore advisable to validate the feed after each change.
Each piece of information, complete with compatible values, is contained in the XSD schema. This documentation can therefore be considered a readable translation of the schema itself.
Standard formats
Whenever it has been necessary to use a specific unit of magnitude, we have used universal and well-known standards, possibly applying ISO specifications or W3C guidelines on XML format.
With this in mind, to confidently identify the position each element should occupy within the feed we use the notation known as XPath:
//property/building/@IDType
In general
XML node and attribute names should be written as they are given, respecting upper and lower case letters. Over time we have tried to group information into logical groups, for example geographic attributes are organized within a //location
container.
XML header
Each XML call or feed must have indicated the version of the standard itself (1.0), and by the document encoding UTF-8
.
<?xml version="1.0" encoding="UTF-8"?>
Numbers
Whole numbers or decimals are expressed without thousand separators. According to the XML standard the dot .
should be used as a decimal separator.The sign is needed only for negative numbers
-41.8968348
Flag
Several nodes and attributes can only take the values True or False (fields of type boolean
). For them, the allowed values are
true
false
it is important that they all occur in lower case, it is not necessary to use CDATA
and it is not recommended to insert spaces or carriage returns before or after these values, ideally:
<price currency="EUR" reserved="false">1000000</price>
...
<workshop>false</workshop>
The treatment of boolean fields conforms to the W3C-defined XML standard.
Date and time
Date and time (fields of type dateTime
) are expressed according to ISO 8601 format:
2013-01-30T12:01:07
In other words: specify year in 4 digits, hyphen, 2-digit month, hyphen, 2-digit day, capital T
, 2 digits for hour (00-23), colon, 2 digits for minutes (00-59), colon, 2 digits for seconds (00-59).
Note the T
character as separator between date and time. It is not necessary to specify the Timezone. As a quick reference we refer you to the Wikipedia page.
Currency
Although Indomio provides only Euro as a permitted currency, you are always required to specify the currency according to the ISO 4217 standard, consisting of three capital characters.
EUR
Specific fields
Going into the specific details of a property you will find information peculiar to certain property categories. In other words you will find fields that make sense only for certain types of properties and not for others. These nodes are marked with the following icons:
Category | Expected | Unscheduled |
---|---|---|
Residential | ||
Buildings / buildings | ||
Garages / parking spaces | ||
Lands | ||
Offices / coworking | ||
Warehouses | ||
Sheds | ||
Stores / commercial premises | ||
Construction sites / new construction |
Batch streams (obsolete)
Follow these instruction but add a /feed/properties
XML node container.
All XPath notations are valid in both modes.
Property insertion or update
The following are specifications of the xml nodes to be sent to describe the characteristics of a property listing. Where not explicitly stated the absence of an element or attribute in a feed is interpreted to mean that the relevant information is to be removed.
//property
Container node of the property to be posted or updated.
Attribute | Description | Status |
---|---|---|
@operation | Type of operation required | |
@ID | id listing on Indomio | Optional |
possible values for @operation
:
- write
- archive
The write value updates the property information. If the property is not found a new listing will be created. The archive value updates the property information and archives it.
For Real Time REST calls this node has root function, so each REST call can contain one and only one listing:
<property ID="12345" operation="write">
...
</property>
In Batch mode it is necessary to send the entire set of listings, so we will have a variable number of
property
nodes structured like this:<feed> <properties> <property ID="12345" operation="write"> .... </property> <property ID="54321" operation="write"> .... </property> ... </properties> </feed>
//property/unique-id
id of the property in the management, is used to identify the listing. When paired with the agency email, under the responsibility of the sender, it must be unique.
//property/published-on
date of first publication of the property.
//property/date-updated
date the property was last updated, must always be updated after each change to the listing.
//property/agent
agency requesting publication of the listing
//property/location
Node container of the geographic data of the property.
//property/pictures
Container of images of the property.
//property/videos
Container of videos of the property.
//property/estates
Container of housing units for sale.
//property/reference-code
Agency reference code (max 255 characters), this is a free text field at the client's discretion. There is no need to guarantee its uniqueness
//property/publish
Visibility status, within the Real Estate portal.
To guarantee visibility on Real Estate, submit the Publish node. If the status equals true, the listing is published and therefore visible on the Real Estate portal. If the status equals false, it remains visible on the management, but not on the Real Estate portal.
<publish>
<portal id="immobiliare.it" status="true" />
</publish>
//property/publish/portal
container of extra-visibility information (the agency must be enabled to submit). In the absence of the known publish
the visibility of the listing remains unchanged.
Attribute | Description | Status |
---|---|---|
@id | the id of the portal for which you want to set the extra-visibilities | |
@status | specifies whether the listing should be published (true) or should only be available on the management (false) |
possible values for @id
:
- immobiliare.it
Example xml:
<publish>
<portal id="immobiliare.it" status="true">
<visibilities>
<visibility op="active">premium</visibility>
<visibility op="active">top</visibility>
<visibility op="remove">showcase</visibility>
</visibilities>
</portal>
</publish>
//property/publish/portal/visibilities
container of portal-specific extra-visibilities (they are scaled, if diponible, from the agency's ceiling).
//property/publish/portal/visibilities/visibility
specifies a single extra-visibility to be added or removed
Attribute | Description | Status |
---|---|---|
@op | specifies the type of operation required for a specific extra-visibility (default: active) |
possible values for @op
:
- active
- remove
possible values for the node:
- basic
- premium
- top
- showcase
- star
//property/transactions
container of information about price and type of contract (sale or rent)
Below is an example:
<transactions>
<transaction type="S">
<price currency="EUR" reserved="false">140000</price>
</transaction>
</transactions>
//property/transactions/transaction
Attribute | Description | Status |
---|---|---|
@type | specifies the contract (rent or sale) under which the property is offered | |
@on-redeem | lease with redemption | |
@ownership | contract model | |
@ownership-quota | ownership share |
possible values for @type
:
- S (sale - sale)
- R (rent - lease)
possible values for @ownership
:
- intera proprietà
- nuda proprietà
- parziale proprietà
- usufrutto
- multiproprietà
- diritto di superficie
@ownership-quota
represents the ownership share and is a free text field.
//property/transactions/transaction/price
property price
Attribute | Description | Status |
---|---|---|
@currency | currency (pass 'EUR') | |
@reserved | specifies whether price is confidential, if true price will be hidden |
//property/building
container of information about the type of the property
Attribute | Description | Status |
---|---|---|
@IDType | id of the type of the property. |
The list of possible values, and explanation of each, is available here
<building IDType="14" />
//property/building/status
status of the property.
Possible values:
- in costruzione
- nuovo
- abitabile
- ottimo
- buono
- ristrutturato
- da ristrutturare
- discreto
- nd
//property/building/class
class of the property.
Possible values:
- di lusso
- signorile
- medio
- economico
//property/features
This container is intended for the main descriptive features of the property.
//property/extra-features
Container intended for more specific features of the property.
//property/extended
Extension of features of the property.
//property/documents
Container of the property's documents.
//property/blueprints
Container of the property's floor plans.
//property/raw-360s
Node containers of the listing's spherical images.
//property/registrar-data/section
cadastral data: section
//property/registrar-data/sheet
cadastral data: sheet
//property/registrar-data/parcel
cadastral data: parcel
//property/registrar-data/sub-parcel
cadastral data: subparticle
//property/registrar-data/sub
cadastral data: subaltern
//property/registrar-data/sub-2nd
cadastral data: subaltern 2
//property/registrar-data/attached
cadastral data: stapled
//property/registrar-data/revenue
cadastral data: cadastral rent. Decimal value expressed in Euros.
2025 Indomio.com
- XML format
- Property insertion or update
- //property
- //property/agent
- //property/location
- //property/pictures
- //property/videos
- //property/estates
- //property/publish
- //property/publish/portal
- //property/transactions
- //property/building
- //property/features
- //property/extra-features
- //property/extended
- //property/documents
- //property/blueprints
- //property/raw-360s