Houzez Property Feed WordPress Plugin Logo

XML

If you have a link to an XML file containing your property data, and it doesn’t belong to one of the CRM’s that we support by default (Alto, 10ninety etc), you can import it using Houzez Property Feed.

To create an XML import you will need to first follow the instructions on how to create an import.

When you select ‘XML‘ from the list of available formats you’ll be asked to enter the URL to the XML feed.

If you have an XML file locally that you’re looking to import, we recommend you upload it to the WordPress media library and use that as the URL.

As each XML file can be wildly different in terms of the layout and the field names, you’ll then need to click the ‘Fetch XML‘ button. This will look at the XML provided and obtain the layout and the fields included in the XML so they can be used in future steps.

If the XML can’t be obtained we’ll show the reason why, otherwise the two dropdowns below will become prefilled with the fields we found.

You’ll need to select which element/node from the XML we should use for each property record from the ‘Repeating Property Node‘ dropdown field, and which field denotes the unique property ID from the ‘Unique Property ID Node‘ dropdown field. We’ll use this unique property ID each time an import runs to determine whether a property has been imported previously or not.

At this point the XML is ready to be imported, however we don’t know which fields in the XML relate to which fields in Houzez.

Mapping XML Fields to Houzez Fields

We can configure this by clicking the ‘Field Mapping‘ tab:

During this step we’ll be able to specify a set of rules to determine the link between fields in the XML to the fields in Houzez.

On the left hand side you can see the list of rules we’ll be setting up, and on the right hand side, a list of fields that we managed to obtain from the XML earlier on in the process when you clicked ‘Fetch XML‘:

Let’s begin by mapping the post title (also known as the display address).

In this example, on the right hand side there is a field called ‘/displayAddress‘ (Note that the field names used here and in the rules themselves use the XPath syntax):

We can drag and drop this into our rule so our rule looks like so:

In this case you’ll notice we’ve used the wildcard character (*) to denote it being equal to anything. This rule now essentially says: if the display address field in the XML is equal to anything, then set the post title in Houzez to whatever value is sent.

The list of fields shown in the ‘Houzez Field’ dropdown will pull in all core property meta fields, taxonomies (property type, status etc), as well as any custom fields created using the Houzez Fields Builder.

Another, more advanced, example would be where there is a ‘Property Type‘ field sent in the XML, but it’s sent as a number/ID:

Assuming you know what these numbers mean (if you’re not sure you’ll need to find out from whoever has provided the XML), a rule to import and set this accordingly might look something like so:

Repeat this process for each field by clicking ‘Add Field Mapping Rule‘:

You can hopefully see that our ‘Field Mapping‘ tool gives you total control over the fields and how they get imported into Houzez based on a set of rules.

Importing Media (Images, Floorplans and Documents)

Once the core property fields are mapped and you’ve done as many as you can, the remaining step is to configure how images, floorplans and documents are sent in the XML. Click the ‘Media’ tab to get started:

You’ll then be presented with text fields for each media type where you can enter the fields we should use from the XML:

Some examples are provided by default to demonstrate how this might be configured, again using the XPath syntax. Enter one URL per line and separate with a pipe character (|) to specify the media caption/description.

The final option available on this page is used to determine when media should be imported. Importing media is slow so ideally we only want to download and import files when absolutely necessary:

By default it will be set to only import files if the media URL has changed since last time a property was imported, however you do have the option to just download media every time regardless. Note that this will be much slower, depending on the number of properties and media files sent.

If media is re-downloaded at any point we do then automatically delete any files no longer referenced from the media library to prevent your server getting full with old files.