Domain Bulk Upload Information

Last Updated: 25 June 2010

Important

This documentation is for the information of companies uploading to domain.com.au.

If you wish to upload to domain.com.au you may be able to do so through an intermediary who already offers this facility. Contact us for further information if required.

For companies wishing to bulk upload to Domain directly, please write to webmaster@domain.com.au

Please note that this service attracts a monthly fee.



Information for Uploaders

Completed files are transferred from the FTP host to Domain every 20 minutes, 24x7.  The parser will run hourly, on the hour.  The listings should be visible on the site once the job has run.

Technical information


Upload package structure

The BU uses XML and image files which are zipped and uploaded via FTP.  Valid image formats are JPG and GIF. 

Only one Zip file per uploader is required.  Each zip file contains:
             one XML file per Domain agency
             all images pertaining to the ads in the XML file(s)

Zip and XML files are processed in chronological order oldest first. 
Please do not use folders within your zip files.
File names should be kept simple, spaces and 'unusual' characters should be avoided.
Distinct filenames should be used (perhaps with an embedded date/timestamp e.g. "MyUploadFile_2002_11_04_1330.ZIP").  You may reuse the same filename but only the last uploaded will be kept making it difficult for us to resolve feed problems.

Upload transport

The transport medium is FTP.  Uploaders are assigned an FTP point and user credentials.

XML structure

The XML format is validated against a DTD (Document Type Definition).  The latest DTD can be found here

XML parse errors

The parser will fail a file if it doesn't conform to the rules specified in the DTD file.  The error email will have the error message returned by the parser complete with the line number and line position of the error.

The parser will also fail if exotic ASCII characters (ie those with a character value of greater than 127) are not coded (sometimes referred to as escaping). 

On the MS platform a method such as Server.HTMLEncode(string) will do this.

An alternative is to leave the characters as they are and specify an 8 bit encoding scheme e.g. 
  <?xml version="1.0" encoding= "iso-8859-1" ?> 

For more information seehttp://www.w3.org/TR/html401/sgml/entities.html also MSDN article Q238833.

Images

Images that do not satisfy these specifications, or appear pixelated or distorted, may be rejected.

  • - Images of the property must be in JPG format
  • - Floor plans must be in GIF format
  • - All images must be 800 x 600 pixels
  • - All images must be a resolution of 72dpi
  • - Size ratio should be 4:3. Other size ratios may appear distorted
  • - The first image you submit will be the main image and used as the thumbnail on the search results page
  • - Portrait images are acceptable but cannot be the main image
  • - Up to 27 images are permitted

Price ranges and searching

A property can be searched for by price range.  The price ranges where a listing is searchable are determined by the SearchFrom and SearchTo attributes of the Price tag.

Price ranges and searching - backward compatibility

Search price can be set using the Price tag in it's original format, or using the PriceHidden tag. For example:

<Price>800000</Price> sets the search price to $800,000.

<PriceHidden Low="200000" High="300000" Show="No" /> sets the search price range to $200,000 to $300,000. Note that the Price and PriceHidden tags should be used as alternatives. If both are specified, the Price tag will take precedence and values in the PriceHidden tag will be ignored.

Refer to details of these tags at the foot of this page.

Suburb Validation

The BU will attempt to validate Suburb/State/Postcode combinations at upload time.  If a suburb is not found in our location table the region and area cannot be set (postcode may be used to attempt a region/area match however searches that include suburbs will not find the property).  Region and Area categorization is required due to the structure of the Domain search.

Domain uses the Australia Post postcode locality database (www.auspost.com.au) as a starting point.  All spellings need to concur with this list e.g. "Mount Pleasant" not "Mt Pleasant". 

Reporting

An email will be sent to the address specified in the XML file detailing the results of processing that file.

Data dictionary

This should be read in conjunction with the Domain Bulk Uploader XML DTD.

Header Information
Field Description
ListingProvider A string identifying the data provider i.e. you - this will be assigned to you.
DomainAgencyID The Domain agency ID number, a list of Agency ID's can be supplied.
AgencyName No longer used.  Full agency name derived from DomainAgencyID.Included for backward compatibility. 
Report Email address for feed report. As this is a technical report it's better that this isn't the agencies email address rather the technical contact for the feed process.
N.B. The attribute ReportFormat (see DTD) is ignored.  Emails are sent for all XML files unless an email address is not supplied.
Property Information
Field Description
AdType Type of ad.  Must be either "Sale" or "Rent".

Example:
<AdType Type="Sale" />
RentalMethod attr: Type Type of rental.  Must be either "Standard" or "Holiday".  Currently optional.  If missing Rental Method defaults to "Standard".
AgencyContact Domain ID of the contact person at the agency.  Must be the ID as used by Domain in the Agent Admin section of the site.  A list of ID's can be supplied on request.
Property attr: ProviderAdID Your ad ID up to 30 characters will be stored.  This value is used to identify your ad for updates.

Example:
<Property ProviderAdID="Test1234" />
DataAction Action must be either "Insert" or "Delete".  If an "Insert" record is received with the same ProviderAdID as an exisitng record then the transaction will be run as an update of that record.

Example:
<DataAction Action="Insert" />
PublicationDate No longer used - all ads assumed to go live immediately
UnitNumber String max 10 characters.  Can be used in conjunction with Address DisplayOption when hiding address from users. 
PropertyNumber String max 10 characters.  Can be used in conjunction with Address DisplayOption when hiding address from users. 
Street Max. 100 characters
Suburb Max. 25 characters
Postcode 4 character Australia Post postcode
State 3 character abbrevation e.g. ACT NSW NT QLD SA TAS VIC WA
Address
  attribute:
  DisplayOption 
"FullAddress", "StreetAndSuburb" or "SuburbOnly" defaults to "FullAddress"
PropertyType Must be one of the types specified in the PropertyType ATTLIST. Valid Property Types are: "House", "Semi-Detached", "Terrace", "Apartment", "Studio", "Townhouse", "Villa", "Warehouse", " Land", "Retirement", "Rural", "Commercial".
PropertyDescription

3000 characters max.  "Well behaved" HTML permitted.  HTML must be well-formed e.g. use <BR /> not <BR>.
Foreign characters must be HTML encoded e.g. fa&#231;ade for façade and &#171; for ½

PropertySummary 'Headline' Any HTML stripped out.  If the Summary is less than 80 characters long then the description is concatenated to it and the total trimmed to 250 characters.
Bedrooms Integer value only. Optional
Bathrooms Integer value only. Optional
Carspaces Integer value only
ConjunctionAgency Text string. Optional
Area

Building area in square metres, Optional
Land Area
  Attributes:
  Value
  Unit
"Value" must be an integer. "Unit" must be one of "Square Metres", "Acres", "Hectares", "Square Feet", "Square Yards", "Square Miles", "Square Km", "Squares". Optional

e.g. <LandArea Value="200" Unit="Square Metres"></LandArea>
Auction
  Attributes:
  Date
  Time
Optional, ignored for rental properties.

Date attribute format: dd/mm/yyyy
Must be in day month year order and use numeric values.  It is highly recommended that 4 digit years are used. 
e.g. "03/03/2009" for the third of March 2009.

Time attribute format: hh:mmAM|PM
e.g. <Auction Date="4/04/2009" Time="1:30pm" />

If these guidelines are not followed the results may be unpredictable.
AuctionLocation Optional. Venue for the Auction. String max 100 characters
Bond Optional.  Ignored for sale properties.

Price 
  Attributes:
  SearchFrom
  SearchTo
  DisplayText

Used to specifiy the price range for searching and set the display price. For residential Rentals set the price as Weekly. For Commercial Leases set the price as ANNUAL

Use the lowest and highest prices the property is expected to sell/rent for to set search price.

e.g. <Price SearchFrom="400000" SearchTo="500000" DisplayText="Offers over $450K considered"></Price>  

"SearchFrom" and "SearchTo" must be integers. "DisplayText" takes a text string.
Inspection
  Attributes:
  Date
  Time
Optional.

Date attribute format: dd/mm/yyyy
Must be in day month year order and use numeric values.  It is highly recommended that 4 digit years are used. 
e.g. "03/04/2009" for the third of April 2009.

Time attribute format: hh:mmAM|PM
e.g. <Inspection Date="14/03/2009" Time="1:30pm" />

e.g.
<Inspections>
  <Inspection Date="12/03/2009" TimeFrom="1:30pm" TimeTo="2:30pm" />
  <Inspection Date="13/03/2009" TimeFrom="2:30pm" TimeTo="3:30pm" />
  <Inspection Date="14/03/2009" TimeFrom="3:30pm" TimeTo="4:30pm" />
</Inspections>
VirtualTourURL Optional.  URL of the virtual tour for the property.
Features Comma-separated list of features. Features are searchable but must be spelt correctly. Searchable Features and spelling - Swimming Pool, Secure Parking, Pets allowed, Internal Laundry, Gas, Floorboards, Ensuite, Cable, Built in wardrobes, Air conditioning
VideoURL Optional.  URL of the video for the property.
SustainabilityDeclarationURL Optional.  URL to access the Sustainability Declaration form for the property. Required only for QLD Sale Listings from 1 January 2010.

e.g. <SustainabilityDeclarationURL>www.sdform.com.au</SustainabilityDeclarationURL>.

Note: If the Sustainability Declaration form is not available to be uploaded online, please provide information in the listing description text regarding where potential buyers can get a copy of the sustainability declaration.
UnderOfferOrContract Optional.  Must be either "True" or "False". Set for Sale listings only and must follow the "AdType" tag.
EnergyEfficiencyRating Optional.  Valid values range from 0 to 6 inclusive, in increments of 0.5.
IsNew Optional.  Takes no value. Include this tag to upload a Listing as a New Development

e.g. <IsNew />
Files Format attribute must be either "Photograph" or "FloorPlan"
File name in ZIP file of image e.g. "XYZ108.jpg"
No '&' or space characters in filenames

Example:
<Files>
   <File Format="Photograph">1.jpg</File>
   <File Format="Photograph">2.jpg</File>
   <File Format="Photograph">3.jpg</File>
   <File Format="Photograph">4.jpg</File>
   <File Format="Floorplan">5.jpg</File>
</Files>
Contacts
  attributes:
  Firstname
  Lastname
  Phone
  Mobile
  Email
  Fax

Up to 3 contacts for the listing.  Minimum required attibutes: Firstname and Lastname

N.B. Supersedes the AgencyContact tag if used.

Example:
<Contacts>
   <Contact FirstName="Calvin" LastName="Brodie" Phone="5555 5555" Mobile="041 555 555" Fax="02 4444 4444" Email="cbrodie@myisp.com.au"/>
   <Contact FirstName="John" LastName="Brown" Email="john@myisp.com.au"/>
   <Contact FirstName="Joe" LastName="Connor" Phone = "5555 5555" />
</Contacts>

Sold Details
Field Description
SoldDate The date of the sold contract.

Date attribute format: dd/mm/yyyy
Must be in day month year order and use numeric values.  It is highly recommended that 4 digit years are used. 
e.g. "14/08/2008" for the fourteenth of August 2008.
Example: <SoldDate>14/08/2008 </SoldDate>

SoldPrice
  Attributes:
  display
The price the property was sold for.

The "display" attribute indicates how the price will be displayed for free to the general public, including on Domain.com.au and in newspaper publications. The value can be:
"yes" or "true": will display the price as provided.
"no" or "false": The price will be stored but will not be displayed.
"range": the exact price will be stored but will be displayed as a range.

example:
<SoldPrice display="range">500000</SoldPrice>

SoldType
  Attributes:
  type
The type of the sale.

The attribute "type" can have the value "Auction", "PrivateTreaty" or "PriorToAuction"

Example:
<SoldType type="PrivateTreaty" />

Code Example <SoldDetails>
  <SoldDate>09/11/2008</SoldDate>
  <SoldPrice display="range">525000</SoldPrice>
  <SoldType type="PrivateTreaty"></SoldType>
</SoldDetails>

Leased Details
Field Description
LeasedDate Optional. The lease start date.

Date attribute format: dd/mm/yyyy
Must be in day month year order and use numeric values.  It is highly recommended that 4 digit years are used. 
e.g. "14/08/2008" for the fourteenth of August 2008.
Example: <LeasedDate>14/08/2008 </LeasedDate>

LeasedPrice Optional. The weekly rental price.

The weekly rental price is displayed when provided. Example:
<LeasedPrice>500</LeasedPrice>

LeasedDuration The duration of the lease in weeks.

Example:
<LeasedDuration>26</LeasedDuration>

Code Example <LeasedDetails>
  <LeasedDate>23/11/2008</LeasedDate>
  <LeasedPrice>950</LeasedPrice>
  <LeasedDuration>26</LeasedDuration>
</LeasedDetails>

Withdrawn Details
Field Description
Withdrawn
  Attributes:
  status
Optional. Indicate if the listing is withdrawn.

The "status" attribute indicates if the listing is withdrawn or not. The value can be:
"yes" or "true": will mark the listing as withdrawn.
"no" or "false": will mark the listing as not withdrawn.

<Withdrawn status="yes" />


Backward Compatibility

The previous format for the Price tag, PricePrefix and PriceHidden tags, and LandArea and InspctionDetails tags, are still supported. Details are as follows: 

Price Upload - Backward Compatibility
Field Description
Price Optional.  Sale price for sale properties, weekly rental price for residential rental properties. ANNUAL rental for Commercial rental properties. If a Price is provided for sale properties, the property will be treated as a "Sale", and the searchable price range will be based on this Price. Consequently, any details entered in Price Prefix, PriceHidden or Auction Date, will be ignored.
Price Prefix  String max 30 characters.  Appears before the displayed price e.g. "Offers from", "Price guide", where the price is set using the "PriceHidden" tag and the "Display" attribute is set to "Yes".

PriceHidden 
  attributes:
  Low
  High
  Show

Optional.  Used to specifiy the price range for searching and enabling hidden price range to be shown on ad display page.
Use the lowest and highest prices the property is expected to sell for.
e.g. <PriceHidden Low="310000" High= "370000" Show="Yes" />   N.B. "Show" attribute default = "No"
LandArea String max 20 characters. Specify units. If no units specified defaults to sqm.  Optional
InspectionDetails Max. 500 characters.  Free text setting out the Open for Inspection dates and times.