allhomes_xml 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "libxml-ruby"
4
+
5
+ group :development do
6
+ gem "bundler", "~> 1.0.0"
7
+ gem "jeweler", "~> 1.5.2"
8
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Daniel Cox
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,157 @@
1
+ = AllhomesXml
2
+
3
+ This class generates an XML file compatible with allhomes.com.au XML feed. It is designed to make it easy to produce a compatible XML file from any data.
4
+
5
+ == Listings
6
+
7
+ When defining a listing you can define a SaleListing or RentalListing (see example below). Valid attributes to pass in to either are:
8
+
9
+ - id: String - An id unique to this property
10
+ - property_type: String - House/Apartment/etc. See the allhomes XSD for exact types
11
+ - agency_id: Integer - The Allhomes ID of the agency this property is listed with
12
+ - agents: AllhomesXML::Agents - See example below
13
+ - unit_number: Integer - Unit/Apartment/Door number of property
14
+ - street_number: Integer
15
+ - street_name: String - Street name without the type
16
+ - street_type: String - Street/Circuit/Way/etc. See the allhomes XSD for exact types
17
+ - complex: String - Name of the complex/building this property belongs to
18
+ - suburb: String - See the allhomes XSD for options
19
+ - postcode: Integer
20
+ - state: String
21
+ - country: String
22
+ - hide_address: Boolean - Only display the suburb on allhomes, exclude unit and street information
23
+ - title: String - Copy headline
24
+ - description: String - Property copy
25
+ - eer: Float
26
+ - photos: AllhomesXML::Photos - See example below
27
+ - exhibitions: AllhomesXML::Exhibitions - See example below
28
+ - bedrooms: Integer - Number of Bedrooms
29
+ - bathrooms: Integer - Number of Bathrooms
30
+ - ensuites: Integer - Number of Ensuites
31
+ - carspaces: Integer - Number of Carspaces
32
+ - garagespaces: Integer - Number of Garage spaces
33
+ - attributes: AllhomesXML::Attributes - See example below
34
+
35
+ == SaleListing specific
36
+
37
+ - price: AllhomesXML::Price - See example below for more options (Pass in nil for 'By Negotiation')
38
+ - exchange_date: Date - Required for sold properties
39
+ - sale_price: Integer - Required for sold properties
40
+ - offers_over: Boolean
41
+ - floor_area: Float - Size of house
42
+ - block_size: Float - Size of land
43
+ - core_area: Boolean
44
+ - body_corporate: Boolean - Property is part of a body corporate
45
+ - plans_approved: Boolean
46
+ - block: Integer
47
+ - section: Integer
48
+ - under_offer: Boolean
49
+ - sold: Boolean
50
+ - uv: Integer
51
+ - withdrawn: Boolean
52
+
53
+ == RentalListing specific
54
+
55
+ - price: Integer - Per week
56
+ - available_from: Date
57
+ - available_to: Date
58
+ - pets_allowed: Boolean
59
+ - short_term_lease: Boolean
60
+ - rented: Boolean
61
+ - rented_date: Date - Required for rented properties
62
+ - rented_price: Integer - Required for rented properties (Rent is per week)
63
+ - withdrawn: Boolean
64
+ - under_application: Boolean
65
+
66
+ == Validation
67
+
68
+ A validator is built in allowing you to validate the XML you produce:
69
+
70
+ errors = AllhomesXml::Validator.validate xml_string
71
+
72
+ if errors.blank?
73
+ puts "Validation Successful"
74
+ else
75
+ errors.each { |e| puts e }
76
+ end
77
+
78
+ == Notes
79
+
80
+ Please ensure all strings are XML compatible - use the String#to_xs method.
81
+
82
+ Ensure all line breaks are defined as <br> not <br />
83
+
84
+ == Example
85
+
86
+ # Begin by creating a new allhomes_xml generator
87
+ allhomes_xml = AllhomesXml::Generator.new :username => 'allhomes_xml_username', :password => 'allhomes_xml_password'
88
+
89
+ # Create a class to house the price (See price section above for more options)
90
+ sale_listing_price = AllhomesXml::Price::Fixed.new :price => 999999
91
+ # Other options are:
92
+ # price = AllhomesXml::Price::Auction.new :date => Date.today, :start => Time.now, :estimate => 999999
93
+ # price = AllhomesXml::Price::Tender.new :date => Date.today
94
+ # price = AllhomesXml::Price::EOI.new :date => Date.today
95
+ # price = AllhomesXml::Price::Range.new :low => 888888, :high => 999999
96
+
97
+ # Create a class to house the photos
98
+ sale_listing_photos = AllhomesXml::Photos.new
99
+ sale_listing_photos << {
100
+ :url => "http://www.yourwebsite.com.au/photo.jpg",
101
+ :caption => "Backyard",
102
+ :order => 1
103
+ }
104
+
105
+ # Create a class to house the exhibitions
106
+ sale_listing_exhibitions = AllhomesXml::Exhibitions.new
107
+ sale_listing_exhibitions << {
108
+ :date => Date.today,
109
+ :start => Time.now,
110
+ :finish => Time.now + 3600
111
+ }
112
+
113
+ # Create a class to house listing attributes
114
+ sale_listing_attributes = AllhomesXml::Attributes.new
115
+ # These key/value pairs correspond to the pre-defined options in the allhomes.xsd
116
+ sale_listing_attributes["airConditioning"] = "reverseCycle"
117
+
118
+ # Create a class to house the agent details
119
+ sale_listing_agents = AllhomesXml::Agents.new
120
+ sale_listing_agents.primary :firstname => "Joe", :surname => "Bloggs"
121
+ # Second agent is optional
122
+ sale_listing_agents.secondary :firstname => "Joe", :surname => "Bloggs"
123
+
124
+ # Create a new sale listing
125
+ sale_listing = AllhomesXml::SaleListing.new(
126
+ :property_type => "House",
127
+ :agency_id => 1,
128
+ :unit_number => 1,
129
+ :street_number => 2,
130
+ :street_name => "Test",
131
+ :street_type => "Street",
132
+ :complex => "Lakeview",
133
+ :suburb => "Turner",
134
+ :postcode => 2612,
135
+ :state => "ACT",
136
+ :country => "Australia",
137
+ :hide_address => false,
138
+ :title => "Fantastic Property",
139
+ :description => "This wonderful property...",
140
+ :eer => 3.5,
141
+ :bedrooms => 4,
142
+ :bathrooms => 2,
143
+ :ensuites => 1,
144
+ :carspaces => 0,
145
+ :garagespaces => 2,
146
+ :price => sale_listing_price,
147
+ :photos => sale_listing_photos,
148
+ :exhibitions => sale_listing_exhibitions,
149
+ :attributes => sale_listing_attributes,
150
+ :agents => sale_listing_agents
151
+ )
152
+
153
+ # Add the sale listing to the XML
154
+ allhomes_xml << sale_listing
155
+
156
+ # Generate the XML
157
+ puts allhomes_xml.generate
data/Rakefile ADDED
@@ -0,0 +1,49 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ gem.name = "allhomes_xml"
15
+ gem.homepage = "http://github.com/Averenix/allhomes_xml"
16
+ gem.license = "MIT"
17
+ gem.summary = %Q{A ruby based generator for the allhomes.com.au XML feed}
18
+ gem.description = %Q{Allows easy generation of the allhomes.com.au XML feed by passing in property attributes. Also allows validation of XML}
19
+ gem.email = "dtc@independent.com.au"
20
+ gem.authors = ["Daniel Cox"]
21
+ gem.add_dependency 'libxml-ruby'
22
+ end
23
+ Jeweler::RubygemsDotOrgTasks.new
24
+
25
+ require 'rake/testtask'
26
+ Rake::TestTask.new(:test) do |test|
27
+ test.libs << 'lib' << 'test'
28
+ test.pattern = 'test/**/test_*.rb'
29
+ test.verbose = true
30
+ end
31
+
32
+ # require 'rcov/rcovtask'
33
+ # Rcov::RcovTask.new do |test|
34
+ # test.libs << 'test'
35
+ # test.pattern = 'test/**/test_*.rb'
36
+ # test.verbose = true
37
+ # end
38
+
39
+ task :default => :test
40
+
41
+ require 'rake/rdoctask'
42
+ Rake::RDocTask.new do |rdoc|
43
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
+
45
+ rdoc.rdoc_dir = 'rdoc'
46
+ rdoc.title = "allhomes_xml #{version}"
47
+ rdoc.rdoc_files.include('README*')
48
+ rdoc.rdoc_files.include('lib/**/*.rb')
49
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,79 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{allhomes_xml}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Daniel Cox"]
12
+ s.date = %q{2011-03-11}
13
+ s.description = %q{Allows easy generation of the allhomes.com.au XML feed by passing in property attributes. Also allows validation of XML}
14
+ s.email = %q{dtc@independent.com.au}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "LICENSE.txt",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "allhomes_xml.gemspec",
27
+ "lib/allhomes.xsd",
28
+ "lib/allhomes_xml.rb",
29
+ "lib/allhomes_xml/agents.rb",
30
+ "lib/allhomes_xml/array.rb",
31
+ "lib/allhomes_xml/attributes.rb",
32
+ "lib/allhomes_xml/basic_listing.rb",
33
+ "lib/allhomes_xml/basic_price.rb",
34
+ "lib/allhomes_xml/exhibitions.rb",
35
+ "lib/allhomes_xml/generator.rb",
36
+ "lib/allhomes_xml/photos.rb",
37
+ "lib/allhomes_xml/price/auction.rb",
38
+ "lib/allhomes_xml/price/eoi.rb",
39
+ "lib/allhomes_xml/price/fixed.rb",
40
+ "lib/allhomes_xml/price/range.rb",
41
+ "lib/allhomes_xml/price/tender.rb",
42
+ "lib/allhomes_xml/rental_listing.rb",
43
+ "lib/allhomes_xml/sale_listing.rb",
44
+ "lib/allhomes_xml/validator.rb",
45
+ "test/helper.rb",
46
+ "test/test_allhomes_xml.rb"
47
+ ]
48
+ s.homepage = %q{http://github.com/Averenix/allhomes_xml}
49
+ s.licenses = ["MIT"]
50
+ s.require_paths = ["lib"]
51
+ s.rubygems_version = %q{1.4.2}
52
+ s.summary = %q{A ruby based generator for the allhomes.com.au XML feed}
53
+ s.test_files = [
54
+ "test/helper.rb",
55
+ "test/test_allhomes_xml.rb"
56
+ ]
57
+
58
+ if s.respond_to? :specification_version then
59
+ s.specification_version = 3
60
+
61
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
62
+ s.add_runtime_dependency(%q<libxml-ruby>, [">= 0"])
63
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
64
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
65
+ s.add_runtime_dependency(%q<libxml-ruby>, [">= 0"])
66
+ else
67
+ s.add_dependency(%q<libxml-ruby>, [">= 0"])
68
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
69
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
70
+ s.add_dependency(%q<libxml-ruby>, [">= 0"])
71
+ end
72
+ else
73
+ s.add_dependency(%q<libxml-ruby>, [">= 0"])
74
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
75
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
76
+ s.add_dependency(%q<libxml-ruby>, [">= 0"])
77
+ end
78
+ end
79
+
data/lib/allhomes.xsd ADDED
@@ -0,0 +1,2141 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsd:schema attributeFormDefault="unqualified"
3
+ elementFormDefault="qualified"
4
+ targetNamespace="http://www.allhomes.com.au/2008/v1/listingFeed"
5
+ xmlns:adf="http://www.allhomes.com.au/2008/v1/listingFeed"
6
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
7
+ <xsd:annotation>
8
+ <xsd:documentation>
9
+ Listing synchronisation feed schema for allhomes.com.au.
10
+ Copyright 2008 allhomes.com.au.
11
+ </xsd:documentation>
12
+ </xsd:annotation>
13
+ <!-- This defines the root element of the XML document. -->
14
+ <xsd:element name="listings" type="adf:ListingsType"/>
15
+ <xsd:complexType name="ListingsType">
16
+ <xsd:annotation>
17
+ <xsd:documentation>
18
+ A group of listings for single or multiple agencies.
19
+ </xsd:documentation>
20
+ </xsd:annotation>
21
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
22
+ <xsd:annotation>
23
+ <xsd:documentation>
24
+ There are several types of listing that may be synchronized with allhomes.com.au.
25
+ Any number of listings can be included and they do not need to be in type order.
26
+ </xsd:documentation>
27
+ </xsd:annotation>
28
+ <xsd:element name="residentialSaleListing" type="adf:ResidentialSaleListingType"/>
29
+ <xsd:element name="ruralSaleListing" type="adf:RuralSaleListingType"/>
30
+ <xsd:element name="commercialSaleListing" type="adf:CommercialSaleListingType"/>
31
+ <xsd:element name="businessSaleListing" type="adf:BusinessSaleListingType"/>
32
+ <xsd:element name="residentialRentalListing" type="adf:ResidentialRentalListingType"/>
33
+ <xsd:element name="commercialRentalListing" type="adf:CommercialRentalListingType"/>
34
+ </xsd:choice>
35
+ <xsd:attribute name="feedId" type="xsd:string" use="required">
36
+ <xsd:annotation>
37
+ <xsd:documentation>
38
+ The unique identifier of this particular listing synchronization.
39
+ Each synchronization should have a different feed ID.
40
+ </xsd:documentation>
41
+ </xsd:annotation>
42
+ </xsd:attribute>
43
+ <xsd:attribute name="generated" type="xsd:dateTime" use="required">
44
+ <xsd:annotation>
45
+ <xsd:documentation>
46
+ The time at which this listing synchronization feed was generated.
47
+ </xsd:documentation>
48
+ </xsd:annotation>
49
+ </xsd:attribute>
50
+ <xsd:attribute name="username" use="required">
51
+ <xsd:annotation>
52
+ <xsd:documentation>
53
+ The username given to the user of the data feed.
54
+ </xsd:documentation>
55
+ </xsd:annotation>
56
+ <xsd:simpleType>
57
+ <xsd:restriction base="xsd:string">
58
+ <xsd:maxLength value="32"/>
59
+ </xsd:restriction>
60
+ </xsd:simpleType>
61
+ </xsd:attribute>
62
+ <xsd:attribute name="password" use="required">
63
+ <xsd:annotation>
64
+ <xsd:documentation>
65
+ The password given to the user of the data feed.
66
+ </xsd:documentation>
67
+ </xsd:annotation>
68
+ <xsd:simpleType>
69
+ <xsd:restriction base="xsd:string">
70
+ <xsd:maxLength value="32"/>
71
+ </xsd:restriction>
72
+ </xsd:simpleType>
73
+ </xsd:attribute>
74
+ </xsd:complexType>
75
+ <xsd:complexType name="StreetAddressType">
76
+ <xsd:sequence>
77
+ <xsd:element maxOccurs="1" minOccurs="0" name="unitNumber">
78
+ <xsd:simpleType>
79
+ <xsd:restriction base="xsd:string">
80
+ <xsd:pattern value="[0-9a-zA-Z\-&amp; /]*"/>
81
+ </xsd:restriction>
82
+ </xsd:simpleType>
83
+ </xsd:element>
84
+ <xsd:element maxOccurs="1" minOccurs="0" name="streetNumber" type="xsd:string">
85
+ <xsd:annotation>
86
+ <xsd:documentation>
87
+ Street number takes any arbitrary string.
88
+ </xsd:documentation>
89
+ </xsd:annotation>
90
+ </xsd:element>
91
+ <xsd:element maxOccurs="1" minOccurs="0" name="streetName">
92
+ <xsd:simpleType>
93
+ <xsd:restriction base="xsd:string">
94
+ <xsd:pattern value="[0-9a-zA-Z/\-'&amp;&quot;. ]+"/>
95
+ </xsd:restriction>
96
+ </xsd:simpleType>
97
+ </xsd:element>
98
+ <xsd:element maxOccurs="1" minOccurs="0" name="streetType" type="adf:StreetTypeType"/>
99
+ <xsd:element maxOccurs="1" minOccurs="0" name="propertyName" type="xsd:string">
100
+ <xsd:annotation>
101
+ <xsd:documentation>
102
+ The property, complex or farm name.
103
+ </xsd:documentation>
104
+ </xsd:annotation>
105
+ </xsd:element>
106
+ <!--
107
+ Allhomes business rule: Minimal address information for a listing
108
+ consists of division and postcode or division and state.
109
+ The postCode and state elements are both optional here for simplicity
110
+ and the business rule is validated in application logic.
111
+ -->
112
+ <xsd:element name="suburb">
113
+ <xsd:simpleType>
114
+ <xsd:restriction base="xsd:string">
115
+ <xsd:pattern value="[a-zA-Z' ]+"/>
116
+ </xsd:restriction>
117
+ </xsd:simpleType>
118
+ </xsd:element>
119
+ <xsd:element maxOccurs="1" minOccurs="0" name="postCode">
120
+ <xsd:simpleType>
121
+ <xsd:restriction base="xsd:string">
122
+ <xsd:pattern value="[0-9]{4}"/>
123
+ </xsd:restriction>
124
+ </xsd:simpleType>
125
+ </xsd:element>
126
+ <xsd:element maxOccurs="1" minOccurs="0" name="state">
127
+ <xsd:annotation>
128
+ <xsd:documentation>
129
+ Abbreviated state. ie; ACT, NSW, etc.
130
+ </xsd:documentation>
131
+ </xsd:annotation>
132
+ <xsd:simpleType>
133
+ <xsd:restriction base="xsd:string">
134
+ <xsd:pattern value="[a-zA-Z ]+"/>
135
+ </xsd:restriction>
136
+ </xsd:simpleType>
137
+ </xsd:element>
138
+ <xsd:element maxOccurs="1" minOccurs="0" name="country">
139
+ <xsd:simpleType>
140
+ <xsd:restriction base="xsd:string">
141
+ <xsd:pattern value="[a-zA-Z ]+"/>
142
+ </xsd:restriction>
143
+ </xsd:simpleType>
144
+ </xsd:element>
145
+ <xsd:element default="VISIBLE" name="addressVisibility" type="adf:AddressVisibilityType">
146
+ <xsd:annotation>
147
+ <xsd:documentation>
148
+ A listings address may be partially suppressed.
149
+ </xsd:documentation>
150
+ </xsd:annotation>
151
+ </xsd:element>
152
+ </xsd:sequence>
153
+ </xsd:complexType>
154
+ <xsd:complexType name="FormalAddressType">
155
+ <xsd:annotation>
156
+ <xsd:documentation>
157
+ A formal (or cadastral) address.
158
+ </xsd:documentation>
159
+ </xsd:annotation>
160
+ <xsd:choice>
161
+ <xsd:element name="blockSection" type="adf:BlockSectionType"/>
162
+ <xsd:element maxOccurs="100" minOccurs="1"
163
+ name="lotSectionPlan" type="adf:LotSectionPlanType"/>
164
+ </xsd:choice>
165
+ </xsd:complexType>
166
+ <xsd:complexType name="BlockSectionType">
167
+ <xsd:annotation>
168
+ <xsd:documentation>
169
+ Block and section is generally used in ACT.
170
+ </xsd:documentation>
171
+ </xsd:annotation>
172
+ <xsd:sequence>
173
+ <xsd:element name="block">
174
+ <xsd:simpleType>
175
+ <xsd:restriction base="xsd:string">
176
+ <xsd:pattern value="[0-9a-zA-Z]*"/>
177
+ </xsd:restriction>
178
+ </xsd:simpleType>
179
+ </xsd:element>
180
+ <xsd:element name="section">
181
+ <xsd:simpleType>
182
+ <xsd:restriction base="xsd:string">
183
+ <xsd:pattern value="[0-9a-zA-Z]*"/>
184
+ </xsd:restriction>
185
+ </xsd:simpleType>
186
+ </xsd:element>
187
+ </xsd:sequence>
188
+ </xsd:complexType>
189
+ <xsd:complexType name="LotSectionPlanType">
190
+ <xsd:annotation>
191
+ <xsd:documentation>
192
+ Lot, section, plan number scheme is generally used in NSW.
193
+
194
+ The commonly written format is Lot/Section/Plan, as in 5/21A/DP12345.
195
+ Another common variation excludes the optional Section, using only
196
+ Lot/Plan, 5/12345.
197
+
198
+ The plan number may also be qualified as a Deposited Plan (DP) or a
199
+ Strata Plan (SP), 5/DP12345, and 65/SP12345.
200
+
201
+ The planNumber element accepts both qualified and unqualifed forms.
202
+ If unqualified a deposited plan is assumed.
203
+
204
+ Property identifiers are required to be parsed into the appropriate
205
+ lot, section and planNumber fields. Composite forms including
206
+ slashes are not permitted.
207
+ </xsd:documentation>
208
+ </xsd:annotation>
209
+ <xsd:sequence>
210
+ <xsd:element name="lot">
211
+ <xsd:simpleType>
212
+ <xsd:restriction base="xsd:string">
213
+ <xsd:pattern value="[0-9a-zA-Z]*"/>
214
+ </xsd:restriction>
215
+ </xsd:simpleType>
216
+ </xsd:element>
217
+ <xsd:element name="section">
218
+ <xsd:simpleType>
219
+ <xsd:restriction base="xsd:string">
220
+ <xsd:pattern value="[0-9a-zA-Z]*"/>
221
+ </xsd:restriction>
222
+ </xsd:simpleType>
223
+ </xsd:element>
224
+ <xsd:element name="planNumber">
225
+ <xsd:simpleType>
226
+ <xsd:restriction base="xsd:string">
227
+ <xsd:pattern value="[0-9a-zA-Z]+"/>
228
+ </xsd:restriction>
229
+ </xsd:simpleType>
230
+ </xsd:element>
231
+ </xsd:sequence>
232
+ </xsd:complexType>
233
+ <xsd:simpleType name="AddressVisibilityType">
234
+ <xsd:annotation>
235
+ <xsd:documentation>
236
+ Defines the level of public visibility of a listing address. <br/>
237
+ <br/>
238
+ The options are;
239
+ <ul>
240
+ <li>Hide the street number but display the street name and suburb.</li>
241
+ <li>Hide the street number and street name but display the suburb.</li>
242
+ <li>Hide the entire address.</li>
243
+ <li>Display the whole street address.</li>
244
+ </ul>
245
+ </xsd:documentation>
246
+ </xsd:annotation>
247
+ <xsd:restriction base="xsd:string">
248
+ <xsd:enumeration value="HIDE_STREET_NUMBER"/>
249
+ <xsd:enumeration value="HIDE_STREET_NUMBER_AND_NAME"/>
250
+ <xsd:enumeration value="HIDE_ALL"/>
251
+ <xsd:enumeration value="VISIBLE"/>
252
+ </xsd:restriction>
253
+ </xsd:simpleType>
254
+ <xsd:simpleType name="StreetTypeType">
255
+ <xsd:annotation>
256
+ <xsd:documentation>
257
+ An enumeration of street types.
258
+ </xsd:documentation>
259
+ </xsd:annotation>
260
+ <xsd:restriction base="xsd:string">
261
+ <xsd:enumeration value="ACCESS"/>
262
+ <xsd:enumeration value="ALLEY"/>
263
+ <xsd:enumeration value="APPROACH"/>
264
+ <xsd:enumeration value="ARCADE"/>
265
+ <xsd:enumeration value="ARTERY"/>
266
+ <xsd:enumeration value="AVE"/>
267
+ <xsd:enumeration value="AVENUE"/>
268
+ <xsd:enumeration value="BANK"/>
269
+ <xsd:enumeration value="BASIN"/>
270
+ <xsd:enumeration value="BAY"/>
271
+ <xsd:enumeration value="BEACH"/>
272
+ <xsd:enumeration value="BEND"/>
273
+ <xsd:enumeration value="BLDG"/>
274
+ <xsd:enumeration value="BLVD"/>
275
+ <xsd:enumeration value="BOARDWALK"/>
276
+ <xsd:enumeration value="BOULEVARD"/>
277
+ <xsd:enumeration value="BOWL"/>
278
+ <xsd:enumeration value="BRACE"/>
279
+ <xsd:enumeration value="BRAE"/>
280
+ <xsd:enumeration value="BREAK"/>
281
+ <xsd:enumeration value="BRIDGE"/>
282
+ <xsd:enumeration value="BROADWAY"/>
283
+ <xsd:enumeration value="BROOK"/>
284
+ <xsd:enumeration value="BROW"/>
285
+ <xsd:enumeration value="BUILDING"/>
286
+ <xsd:enumeration value="BYPASS"/>
287
+ <xsd:enumeration value="CANAL"/>
288
+ <xsd:enumeration value="CAUSEWAY"/>
289
+ <xsd:enumeration value="CCT"/>
290
+ <xsd:enumeration value="CENTRE"/>
291
+ <xsd:enumeration value="CENTREWAY"/>
292
+ <xsd:enumeration value="CHASE"/>
293
+ <xsd:enumeration value="CIRCLE"/>
294
+ <xsd:enumeration value="CIRCLET"/>
295
+ <xsd:enumeration value="CIRCUIT"/>
296
+ <xsd:enumeration value="CIRCUS"/>
297
+ <xsd:enumeration value="CL"/>
298
+ <xsd:enumeration value="CLOSE"/>
299
+ <xsd:enumeration value="COMMON"/>
300
+ <xsd:enumeration value="CONCOURSE"/>
301
+ <xsd:enumeration value="COPSE"/>
302
+ <xsd:enumeration value="CORNER"/>
303
+ <xsd:enumeration value="CORSO"/>
304
+ <xsd:enumeration value="COURSE"/>
305
+ <xsd:enumeration value="COURT"/>
306
+ <xsd:enumeration value="COURTYARD"/>
307
+ <xsd:enumeration value="COVE"/>
308
+ <xsd:enumeration value="CRES"/>
309
+ <xsd:enumeration value="CRESCENT"/>
310
+ <xsd:enumeration value="CREST"/>
311
+ <xsd:enumeration value="CRIEF"/>
312
+ <xsd:enumeration value="CROSS"/>
313
+ <xsd:enumeration value="CROSSING"/>
314
+ <xsd:enumeration value="CRT"/>
315
+ <xsd:enumeration value="CULDESAC"/>
316
+ <xsd:enumeration value="CURVE"/>
317
+ <xsd:enumeration value="DALE"/>
318
+ <xsd:enumeration value="DEVIATION"/>
319
+ <xsd:enumeration value="DIP"/>
320
+ <xsd:enumeration value="DOWNS"/>
321
+ <xsd:enumeration value="DR"/>
322
+ <xsd:enumeration value="DRIVE"/>
323
+ <xsd:enumeration value="DRIVEWAY"/>
324
+ <xsd:enumeration value="EASEMENT"/>
325
+ <xsd:enumeration value="EDGE"/>
326
+ <xsd:enumeration value="ELBOW"/>
327
+ <xsd:enumeration value="END"/>
328
+ <xsd:enumeration value="ENTRANCE"/>
329
+ <xsd:enumeration value="ESPLANADE"/>
330
+ <xsd:enumeration value="ESTATE"/>
331
+ <xsd:enumeration value="EXPRESSWAY"/>
332
+ <xsd:enumeration value="EXPWAY"/>
333
+ <xsd:enumeration value="EXTENSION"/>
334
+ <xsd:enumeration value="FAIRWAY"/>
335
+ <xsd:enumeration value="FIRETRAIL"/>
336
+ <xsd:enumeration value="FOLLOW"/>
337
+ <xsd:enumeration value="FORD"/>
338
+ <xsd:enumeration value="FORMATION"/>
339
+ <xsd:enumeration value="FREEWAY"/>
340
+ <xsd:enumeration value="FRONT"/>
341
+ <xsd:enumeration value="FRONTAGE"/>
342
+ <xsd:enumeration value="GAP"/>
343
+ <xsd:enumeration value="GARDEN"/>
344
+ <xsd:enumeration value="GARDENS"/>
345
+ <xsd:enumeration value="GATE"/>
346
+ <xsd:enumeration value="GATES"/>
347
+ <xsd:enumeration value="GATEWAY"/>
348
+ <xsd:enumeration value="GLADE"/>
349
+ <xsd:enumeration value="GLEN"/>
350
+ <xsd:enumeration value="GRANGE"/>
351
+ <xsd:enumeration value="GREEN"/>
352
+ <xsd:enumeration value="GROUND"/>
353
+ <xsd:enumeration value="GROVE"/>
354
+ <xsd:enumeration value="GROVET"/>
355
+ <xsd:enumeration value="HAVEN"/>
356
+ <xsd:enumeration value="HEATH"/>
357
+ <xsd:enumeration value="HEIGHTS"/>
358
+ <xsd:enumeration value="HIGHWAY"/>
359
+ <xsd:enumeration value="HILL"/>
360
+ <xsd:enumeration value="HUB"/>
361
+ <xsd:enumeration value="HWY"/>
362
+ <xsd:enumeration value="INTER"/>
363
+ <xsd:enumeration value="INTERCHANGE"/>
364
+ <xsd:enumeration value="ISLAND"/>
365
+ <xsd:enumeration value="JUNCTION"/>
366
+ <xsd:enumeration value="KEY"/>
367
+ <xsd:enumeration value="KNOLL"/>
368
+ <xsd:enumeration value="LA"/>
369
+ <xsd:enumeration value="LANE"/>
370
+ <xsd:enumeration value="LANEWAY"/>
371
+ <xsd:enumeration value="LINE"/>
372
+ <xsd:enumeration value="LINK"/>
373
+ <xsd:enumeration value="LOOKOUT"/>
374
+ <xsd:enumeration value="LOOP"/>
375
+ <xsd:enumeration value="LOWER"/>
376
+ <xsd:enumeration value="MALL"/>
377
+ <xsd:enumeration value="MEAD"/>
378
+ <xsd:enumeration value="MEANDER"/>
379
+ <xsd:enumeration value="MEWS"/>
380
+ <xsd:enumeration value="MOTORWAY"/>
381
+ <xsd:enumeration value="NOOK"/>
382
+ <xsd:enumeration value="OUTLOOK"/>
383
+ <xsd:enumeration value="OVERPASS"/>
384
+ <xsd:enumeration value="PARADE"/>
385
+ <xsd:enumeration value="PARK"/>
386
+ <xsd:enumeration value="PARKLANDS"/>
387
+ <xsd:enumeration value="PARKWAY"/>
388
+ <xsd:enumeration value="PASS"/>
389
+ <xsd:enumeration value="PATH"/>
390
+ <xsd:enumeration value="PATHWAY"/>
391
+ <xsd:enumeration value="PDE"/>
392
+ <xsd:enumeration value="PIER"/>
393
+ <xsd:enumeration value="PL"/>
394
+ <xsd:enumeration value="PLACE"/>
395
+ <xsd:enumeration value="PLAZA"/>
396
+ <xsd:enumeration value="POCKET"/>
397
+ <xsd:enumeration value="POINT"/>
398
+ <xsd:enumeration value="PORT"/>
399
+ <xsd:enumeration value="PROMENADE"/>
400
+ <xsd:enumeration value="PROPERTY"/>
401
+ <xsd:enumeration value="PURSUIT"/>
402
+ <xsd:enumeration value="QUAD"/>
403
+ <xsd:enumeration value="QUADRANT"/>
404
+ <xsd:enumeration value="QUAY"/>
405
+ <xsd:enumeration value="QUAYS"/>
406
+ <xsd:enumeration value="RAMBLE"/>
407
+ <xsd:enumeration value="RD"/>
408
+ <xsd:enumeration value="REACH"/>
409
+ <xsd:enumeration value="RESERVE"/>
410
+ <xsd:enumeration value="REST"/>
411
+ <xsd:enumeration value="RETREAT"/>
412
+ <xsd:enumeration value="RETURN"/>
413
+ <xsd:enumeration value="RIDE"/>
414
+ <xsd:enumeration value="RIDGE"/>
415
+ <xsd:enumeration value="RING"/>
416
+ <xsd:enumeration value="RISE"/>
417
+ <xsd:enumeration value="RISING"/>
418
+ <xsd:enumeration value="ROAD"/>
419
+ <xsd:enumeration value="ROADWAY"/>
420
+ <xsd:enumeration value="ROTARY"/>
421
+ <xsd:enumeration value="ROUND"/>
422
+ <xsd:enumeration value="ROUTE"/>
423
+ <xsd:enumeration value="ROW"/>
424
+ <xsd:enumeration value="RUN"/>
425
+ <xsd:enumeration value="SERVICEWAY"/>
426
+ <xsd:enumeration value="SERWAY"/>
427
+ <xsd:enumeration value="SIDING"/>
428
+ <xsd:enumeration value="SLOPE"/>
429
+ <xsd:enumeration value="SPUR"/>
430
+ <xsd:enumeration value="SQUARE"/>
431
+ <xsd:enumeration value="ST"/>
432
+ <xsd:enumeration value="STEPS"/>
433
+ <xsd:enumeration value="STRAND"/>
434
+ <xsd:enumeration value="STREET"/>
435
+ <xsd:enumeration value="STRIP"/>
436
+ <xsd:enumeration value="SUBWAY"/>
437
+ <xsd:enumeration value="TARN"/>
438
+ <xsd:enumeration value="TCE"/>
439
+ <xsd:enumeration value="TERRACE"/>
440
+ <xsd:enumeration value="THROUGHWAY"/>
441
+ <xsd:enumeration value="THROWAY"/>
442
+ <xsd:enumeration value="TOLLWAY"/>
443
+ <xsd:enumeration value="TOP"/>
444
+ <xsd:enumeration value="TOR"/>
445
+ <xsd:enumeration value="TRACK"/>
446
+ <xsd:enumeration value="TRAIL"/>
447
+ <xsd:enumeration value="TURN"/>
448
+ <xsd:enumeration value="UNDERPASS"/>
449
+ <xsd:enumeration value="VALE"/>
450
+ <xsd:enumeration value="VALLEY"/>
451
+ <xsd:enumeration value="VIEW"/>
452
+ <xsd:enumeration value="VISTA"/>
453
+ <xsd:enumeration value="WALK"/>
454
+ <xsd:enumeration value="WALKWAY"/>
455
+ <xsd:enumeration value="WAY"/>
456
+ <xsd:enumeration value="WHARF"/>
457
+ <xsd:enumeration value="WYND"/>
458
+ </xsd:restriction>
459
+ </xsd:simpleType>
460
+ <xsd:complexType abstract="true" name="ListingType">
461
+ <xsd:annotation>
462
+ <xsd:documentation>
463
+ Base level listing containing common data for all listings.
464
+ Concrete listing types will extend this.
465
+ </xsd:documentation>
466
+ </xsd:annotation>
467
+ <xsd:sequence>
468
+ <xsd:element name="agentDetails" type="adf:AgentDetailsType">
469
+ <xsd:annotation>
470
+ <xsd:documentation>
471
+ Details of agency and agent contacts for this listing.
472
+ Each listing may have different agent contacts.
473
+ </xsd:documentation>
474
+ </xsd:annotation>
475
+ </xsd:element>
476
+ <xsd:element name="streetAddress" type="adf:StreetAddressType">
477
+ <xsd:annotation>
478
+ <xsd:documentation>
479
+ The street address for the listing.
480
+ </xsd:documentation>
481
+ </xsd:annotation>
482
+ </xsd:element>
483
+ <xsd:element maxOccurs="1" minOccurs="0"
484
+ name="formalAddress" type="adf:FormalAddressType">
485
+ <xsd:annotation>
486
+ <xsd:documentation>
487
+ The formal or cadastral address of the listing. Eg; lot, section and plan number.
488
+ </xsd:documentation>
489
+ </xsd:annotation>
490
+ </xsd:element>
491
+ <xsd:element name="title">
492
+ <xsd:annotation>
493
+ <xsd:documentation>
494
+ A short description that will be displayed at the top of the listing on allhomes.com.au.
495
+ </xsd:documentation>
496
+ </xsd:annotation>
497
+ <xsd:simpleType>
498
+ <xsd:restriction base="xsd:string">
499
+ <xsd:maxLength value="256"/>
500
+ </xsd:restriction>
501
+ </xsd:simpleType>
502
+ </xsd:element>
503
+ <xsd:element name="description">
504
+ <xsd:annotation>
505
+ <xsd:documentation>
506
+ A description of the property/business.
507
+ </xsd:documentation>
508
+ </xsd:annotation>
509
+ <xsd:simpleType>
510
+ <xsd:restriction base="xsd:string">
511
+ <xsd:maxLength value="8000"/>
512
+ </xsd:restriction>
513
+ </xsd:simpleType>
514
+ </xsd:element>
515
+ <xsd:element maxOccurs="1" minOccurs="0" name="originUrl">
516
+ <xsd:annotation>
517
+ <xsd:documentation>
518
+ The original URL of a Listing.
519
+ </xsd:documentation>
520
+ </xsd:annotation>
521
+ <xsd:simpleType>
522
+ <xsd:restriction base="xsd:string">
523
+ <xsd:maxLength value="2048"/>
524
+ </xsd:restriction>
525
+ </xsd:simpleType>
526
+ </xsd:element>
527
+ <xsd:element maxOccurs="1" minOccurs="0" name="eer" type="adf:EerType">
528
+ <xsd:annotation>
529
+ <xsd:documentation>
530
+ Energy efficiency rating. This is mandatory for listing in the ACT.
531
+ </xsd:documentation>
532
+ </xsd:annotation>
533
+ </xsd:element>
534
+ <xsd:element maxOccurs="1" minOccurs="0"
535
+ name="streetDirectoryReference" type="adf:StreetDirectoryType">
536
+ <xsd:annotation>
537
+ <xsd:documentation>
538
+ A street directory reference that will be displayed on the listing.
539
+ </xsd:documentation>
540
+ </xsd:annotation>
541
+ </xsd:element>
542
+ <xsd:element name="listingStatus" type="adf:ListingStatusType">
543
+ <xsd:annotation>
544
+ <xsd:documentation>
545
+ The state of the listing on allhomes.com.au. Eg; active, deleted or hidden.
546
+ </xsd:documentation>
547
+ </xsd:annotation>
548
+ </xsd:element>
549
+ <xsd:element maxOccurs="1" minOccurs="0" name="images" type="adf:ImagesType">
550
+ <xsd:annotation>
551
+ <xsd:documentation>
552
+ A list of references to images for this listing. An image might be a photo or a floor plan.
553
+ </xsd:documentation>
554
+ </xsd:annotation>
555
+ </xsd:element>
556
+ <xsd:element maxOccurs="1" minOccurs="0" name="documents" type="adf:DocumentsType">
557
+ <xsd:annotation>
558
+ <xsd:documentation>
559
+ A list of references to documents for this listing. A document might be a contract or report.
560
+ </xsd:documentation>
561
+ </xsd:annotation>
562
+ </xsd:element>
563
+ <xsd:element maxOccurs="1" minOccurs="0" name="videos" type="adf:VideosType">
564
+ <xsd:annotation>
565
+ <xsd:documentation>
566
+ A list of references to videos for this listing.
567
+ </xsd:documentation>
568
+ </xsd:annotation>
569
+ </xsd:element>
570
+ </xsd:sequence>
571
+ <xsd:attribute name="uniqueId" type="xsd:string" use="required">
572
+ <xsd:annotation>
573
+ <xsd:documentation>
574
+ This id is generated by an agent/broker and must be unique for each of their listings.
575
+ It can be any alphanumeric sequence but commonly it is just a number.
576
+
577
+ This id is used by allhomes.com.au to find and update listings. Therefore, it is important that each
578
+ listing should retain the same id across listing synchronizations.
579
+ </xsd:documentation>
580
+ </xsd:annotation>
581
+ </xsd:attribute>
582
+ </xsd:complexType>
583
+ <xsd:complexType abstract="true" name="PropertyDetailsType">
584
+ <xsd:sequence>
585
+ <!-- Since propertyType will be specialised in PropertyDetailsType sub-types
586
+ it cannot be defined here or we will violate the EDC clause in xml schema by
587
+ redefining the element with the same name and a different type (in the same hierarchy).
588
+ <xsd:element name="propertyType" type="adf:PropertyTypeType"/>
589
+ -->
590
+ <xsd:element maxOccurs="1" minOccurs="0"
591
+ name="buildingDetails" type="adf:BuildingDetailsType"/>
592
+ <xsd:element maxOccurs="1" minOccurs="0" name="landDetails" type="adf:LandDetailsType"/>
593
+ <!-- The same argument as for propertyType above.
594
+ <xsd:element name="features" type="adf:PropertyFeaturesType" minOccurs="0" maxOccurs="1"/>
595
+ -->
596
+ </xsd:sequence>
597
+ </xsd:complexType>
598
+ <xsd:complexType name="SalePropertyDetailsType">
599
+ <xsd:complexContent>
600
+ <xsd:extension base="adf:PropertyDetailsType">
601
+ <xsd:sequence>
602
+ <xsd:element maxOccurs="1" minOccurs="0"
603
+ name="unimprovedLandValue" type="xsd:unsignedInt"/>
604
+ </xsd:sequence>
605
+ </xsd:extension>
606
+ </xsd:complexContent>
607
+ </xsd:complexType>
608
+ <xsd:complexType name="DwellingPropertyDetailsType">
609
+ <xsd:complexContent>
610
+ <xsd:extension base="adf:SalePropertyDetailsType">
611
+ <xsd:sequence>
612
+ <xsd:element maxOccurs="1" minOccurs="0"
613
+ name="councilRates" type="adf:RatesType"/>
614
+ </xsd:sequence>
615
+ </xsd:extension>
616
+ </xsd:complexContent>
617
+ </xsd:complexType>
618
+ <xsd:complexType name="ImagesType">
619
+ <xsd:annotation>
620
+ <xsd:documentation>
621
+ A simple wrapper for a list of image references.
622
+ </xsd:documentation>
623
+ </xsd:annotation>
624
+ <xsd:sequence>
625
+ <xsd:element maxOccurs="unbounded" minOccurs="0"
626
+ name="image" type="adf:ImageReferenceType">
627
+ <xsd:annotation>
628
+ <xsd:documentation>
629
+ A reference to an image file.
630
+ </xsd:documentation>
631
+ </xsd:annotation>
632
+ </xsd:element>
633
+ </xsd:sequence>
634
+ </xsd:complexType>
635
+ <xsd:complexType name="DocumentsType">
636
+ <xsd:sequence>
637
+ <xsd:element maxOccurs="unbounded" minOccurs="0"
638
+ name="document" type="adf:DocumentReferenceType">
639
+ <xsd:annotation>
640
+ <xsd:documentation>
641
+ A reference to a listing document file.
642
+ </xsd:documentation>
643
+ </xsd:annotation>
644
+ </xsd:element>
645
+ </xsd:sequence>
646
+ </xsd:complexType>
647
+ <xsd:complexType name="VideosType">
648
+ <xsd:sequence>
649
+ <xsd:element maxOccurs="1" minOccurs="0" name="video" type="adf:VideoReferenceType">
650
+ <xsd:annotation>
651
+ <xsd:documentation>
652
+ A reference to a video file.
653
+ </xsd:documentation>
654
+ </xsd:annotation>
655
+ </xsd:element>
656
+ </xsd:sequence>
657
+ </xsd:complexType>
658
+ <xsd:complexType name="ImageReferenceType">
659
+ <xsd:annotation>
660
+ <xsd:documentation>
661
+ A reference to an image file.
662
+ </xsd:documentation>
663
+ </xsd:annotation>
664
+ <xsd:sequence>
665
+ <xsd:element name="imageReference">
666
+ <xsd:annotation>
667
+ <xsd:documentation>
668
+ The file or URL location of the image.
669
+ <br/>
670
+ <br/>
671
+ Images may be provided to allhomes.com.au either by:
672
+ <ol>
673
+ <li>including the images in a zip file uploaded via FTP; or</li>
674
+ <li>making each image available via a URL.</li>
675
+ </ol>
676
+ <h3>Images in a zip file</h3>
677
+ If the preferred method is to include images in a zip file then the reference must be relative to
678
+ the root of the zip file.
679
+ <br/>
680
+ For example; <br/>
681
+ If the zip file has the following structure;
682
+ <pre>
683
+ /
684
+ /mylistings.xml
685
+ /images/
686
+ --&gt; photo1.jpg
687
+ --&gt; photo2.jpg
688
+ </pre>
689
+ and this reference is for photo1.jpg then imageReference should have the value;
690
+ <pre>file://images/photo1.jpg</pre>
691
+ <h3>Images via URLs</h3>
692
+ Alternatively, if images are available via a URL then imageReference should have a value similar to;
693
+ <pre>http://www.yourdomain.com.au/images/photo1.jpg</pre>
694
+ </xsd:documentation>
695
+ </xsd:annotation>
696
+ <xsd:simpleType>
697
+ <xsd:restriction base="xsd:string">
698
+ <xsd:pattern value="(file|http)://.+"/>
699
+ </xsd:restriction>
700
+ </xsd:simpleType>
701
+ </xsd:element>
702
+ <xsd:element maxOccurs="1" minOccurs="0" name="caption">
703
+ <xsd:annotation>
704
+ <xsd:documentation>
705
+ A short description of the image. For example; Bedroom 1 or Dining Room.
706
+ The caption will be displayed under the image on the allhomes.com.au website.
707
+ </xsd:documentation>
708
+ </xsd:annotation>
709
+ <xsd:simpleType>
710
+ <xsd:restriction base="xsd:string">
711
+ <xsd:maxLength value="64"/>
712
+ </xsd:restriction>
713
+ </xsd:simpleType>
714
+ </xsd:element>
715
+ <xsd:element maxOccurs="1" minOccurs="0" name="orderIndex" type="xsd:unsignedInt">
716
+ <xsd:annotation>
717
+ <xsd:documentation>
718
+ Order index defines the order in which images are displayed. Each image should have a different index
719
+ and the indexes should be sequential. The main photo should be index 0.
720
+ </xsd:documentation>
721
+ </xsd:annotation>
722
+ </xsd:element>
723
+ </xsd:sequence>
724
+ </xsd:complexType>
725
+ <xsd:complexType name="DocumentReferenceType">
726
+ <xsd:annotation>
727
+ <xsd:documentation>
728
+ A reference to a document file.
729
+ </xsd:documentation>
730
+ </xsd:annotation>
731
+ <xsd:sequence>
732
+ <xsd:element name="fileReference">
733
+ <xsd:annotation>
734
+ <xsd:documentation>
735
+ The file or URL location of the document file.
736
+ <br/>
737
+ Documents must be provided as PDFs.
738
+ <br/>
739
+ <br/>
740
+ Documents may be provided to allhomes.com.au either by:
741
+ <ol>
742
+ <li>including the documents in a zip file uploaded via FTP; or</li>
743
+ <li>making each document available via a URL.</li>
744
+ </ol>
745
+ <h3>Documents in a zip file</h3>
746
+ If the preferred method is to include documents in a zip file then the reference must be relative to
747
+ the root of the zip file.
748
+ <br/>
749
+ For example; <br/>
750
+ If the zip file has the following structure;
751
+ <pre>
752
+ /
753
+ /mylistings.xml
754
+ /documents/
755
+ --&gt; contractForSale.pdf
756
+ --&gt; pestInspectionReport.pdf
757
+ </pre>
758
+ and this reference is for contractForSale.pdf then fileReference should have the value;
759
+ <pre>file://documents/contractForSale.pdf</pre>
760
+ <h3>Documents via URLs</h3>
761
+ Alternatively, if documents are available via a URL then fileReference should have a value similar to;
762
+ <pre>http://www.yourdomain.com.au/documents/contractForSale.pdf</pre>
763
+ </xsd:documentation>
764
+ </xsd:annotation>
765
+ <xsd:simpleType>
766
+ <xsd:restriction base="xsd:string">
767
+ <xsd:pattern value="(file|http)://.*\.[pP][dD][fF]"/>
768
+ </xsd:restriction>
769
+ </xsd:simpleType>
770
+ </xsd:element>
771
+ <xsd:element name="type" type="adf:DocumentTypeType">
772
+ <xsd:annotation>
773
+ <xsd:documentation>
774
+ The type of this document. ie; contract, building inspection report, etc.
775
+ </xsd:documentation>
776
+ </xsd:annotation>
777
+ </xsd:element>
778
+ </xsd:sequence>
779
+ </xsd:complexType>
780
+ <xsd:complexType name="VideoReferenceType">
781
+ <xsd:annotation>
782
+ <xsd:documentation>
783
+ A reference to a video file.
784
+ </xsd:documentation>
785
+ </xsd:annotation>
786
+ <xsd:sequence>
787
+ <xsd:element name="fileReference">
788
+ <xsd:annotation>
789
+ <xsd:documentation>
790
+ The file or URL location of the video file.
791
+ <br/>
792
+ allhomes.com.au can display mp4 videos encoded with the H.264 codec. <br/>
793
+ To play these videos users must have at least version 9.0.115 of the Flash plugin. To cater for users with
794
+ older versions we allow agents to upload the same video in flv format. If users cannot play the mp4 the player
795
+ will fallback on the flv video of the same name.
796
+ <br/>
797
+ Therefore, if you are providing a video you must provide a mp4 and optionally a flv of the same video.
798
+ <br/>
799
+ <br/>
800
+ Videos may be provided to allhomes.com.au either by:
801
+ <ol>
802
+ <li>including the videos in a zip file uploaded via FTP; or</li>
803
+ <li>making each video available via a URL.</li>
804
+ </ol>
805
+ <h3>Videos in a zip file</h3>
806
+ If the preferred method is to include videos in a zip file then the reference must be relative to
807
+ the root of the zip file.
808
+ <br/>
809
+ For example; <br/>
810
+ If the zip file has the following structure;
811
+ <pre>
812
+ /
813
+ /mylistings.xml
814
+ /videos/
815
+ --&gt; listingVideo.mp4
816
+ --&gt; listingVideo.flv
817
+ </pre>
818
+ and this reference is for listingVideo.mp4 then fileReference should have the value;
819
+ <pre>file://videos/listingVideo.mp4</pre>
820
+ <h3>Videos via URLs</h3>
821
+ Alternatively, if videos are available via a URL then fileReference should have a value similar to;
822
+ <pre>http://www.yourdomain.com.au/videos/listingVideo.mp4</pre>
823
+ </xsd:documentation>
824
+ </xsd:annotation>
825
+ <xsd:simpleType>
826
+ <xsd:restriction base="xsd:string">
827
+ <xsd:pattern value="(file|http)://.*\.[mM][pP]4"/>
828
+ </xsd:restriction>
829
+ </xsd:simpleType>
830
+ </xsd:element>
831
+ <xsd:element name="fileReferenceForFallback">
832
+ <xsd:annotation>
833
+ <xsd:documentation>
834
+ The file or URL reference for the fallback flv video.
835
+ </xsd:documentation>
836
+ </xsd:annotation>
837
+ <xsd:simpleType>
838
+ <xsd:restriction base="xsd:string">
839
+ <xsd:pattern value="(file|http)://.*\.[fF][lL][vV]"/>
840
+ </xsd:restriction>
841
+ </xsd:simpleType>
842
+ </xsd:element>
843
+ <xsd:element name="title">
844
+ <xsd:annotation>
845
+ <xsd:documentation>
846
+ A short description of the video. This title will be displayed near the video on allhomes.com.au.
847
+ </xsd:documentation>
848
+ </xsd:annotation>
849
+ <xsd:simpleType>
850
+ <xsd:restriction base="xsd:string">
851
+ <xsd:maxLength value="64"/>
852
+ </xsd:restriction>
853
+ </xsd:simpleType>
854
+ </xsd:element>
855
+ </xsd:sequence>
856
+ </xsd:complexType>
857
+ <xsd:complexType name="InvestmentDetailsType">
858
+ <xsd:annotation>
859
+ <xsd:documentation>
860
+ Contains details that are of interest for an investment listing.
861
+ </xsd:documentation>
862
+ </xsd:annotation>
863
+ <xsd:sequence>
864
+ <xsd:element maxOccurs="1" minOccurs="0"
865
+ name="currentLeaseEndDate" type="xsd:date">
866
+ <xsd:annotation>
867
+ <xsd:documentation>
868
+ The lease end date if the property is currently tenanted.
869
+ </xsd:documentation>
870
+ </xsd:annotation>
871
+ </xsd:element>
872
+ <xsd:element maxOccurs="1" minOccurs="0"
873
+ name="returnPerYear" type="xsd:unsignedInt">
874
+ <xsd:annotation>
875
+ <xsd:documentation>
876
+ An estimate of the return on investment per year for the listing.
877
+ The amount should be in Australian dollars.
878
+ </xsd:documentation>
879
+ </xsd:annotation>
880
+ </xsd:element>
881
+ </xsd:sequence>
882
+ </xsd:complexType>
883
+ <xsd:complexType name="RatesType">
884
+ <xsd:annotation>
885
+ <xsd:documentation>
886
+ Government/council rates details.
887
+ </xsd:documentation>
888
+ </xsd:annotation>
889
+ <xsd:sequence>
890
+ <xsd:element name="amount" type="xsd:unsignedInt">
891
+ <xsd:annotation>
892
+ <xsd:documentation>
893
+ The amount payable for council rates on this listing. The amount may be per quarter or per year.
894
+ </xsd:documentation>
895
+ </xsd:annotation>
896
+ </xsd:element>
897
+ <xsd:element name="period">
898
+ <xsd:annotation>
899
+ <xsd:documentation>
900
+ The time period the rates amount applies to.
901
+ </xsd:documentation>
902
+ </xsd:annotation>
903
+ <xsd:simpleType>
904
+ <xsd:restriction base="xsd:string">
905
+ <xsd:enumeration value="PER_QUARTER"/>
906
+ <xsd:enumeration value="PER_YEAR"/>
907
+ </xsd:restriction>
908
+ </xsd:simpleType>
909
+ </xsd:element>
910
+ </xsd:sequence>
911
+ </xsd:complexType>
912
+ <xsd:complexType name="LandDetailsType">
913
+ <xsd:annotation>
914
+ <xsd:documentation>
915
+ Details of the land dimensions.
916
+ </xsd:documentation>
917
+ </xsd:annotation>
918
+ <xsd:sequence>
919
+ <xsd:choice maxOccurs="1" minOccurs="0">
920
+ <xsd:annotation>
921
+ <xsd:documentation>
922
+ Block or farm dimensions may be specified.
923
+ </xsd:documentation>
924
+ </xsd:annotation>
925
+ <xsd:element name="blockSize" type="xsd:float">
926
+ <xsd:annotation>
927
+ <xsd:documentation>
928
+ The block size in square metres.
929
+ </xsd:documentation>
930
+ </xsd:annotation>
931
+ </xsd:element>
932
+ <xsd:element name="farmSize" type="adf:FarmSizeType">
933
+ <xsd:annotation>
934
+ <xsd:documentation>
935
+ Farm size may be provided in different units.
936
+ </xsd:documentation>
937
+ </xsd:annotation>
938
+ </xsd:element>
939
+ </xsd:choice>
940
+ </xsd:sequence>
941
+ </xsd:complexType>
942
+ <xsd:complexType name="BuildingDetailsType">
943
+ <xsd:annotation>
944
+ <xsd:documentation>
945
+ Describes the size aspects of the building.
946
+ </xsd:documentation>
947
+ </xsd:annotation>
948
+ <xsd:sequence>
949
+ <xsd:choice maxOccurs="1" minOccurs="0">
950
+ <xsd:annotation>
951
+ <xsd:documentation>
952
+ Dimensions may be specified in terms of the building or the available floor area.
953
+ </xsd:documentation>
954
+ </xsd:annotation>
955
+ <xsd:element maxOccurs="1" minOccurs="0"
956
+ name="buildingSize" type="xsd:float">
957
+ <xsd:annotation>
958
+ <xsd:documentation>
959
+ The building size in square metres.
960
+ </xsd:documentation>
961
+ </xsd:annotation>
962
+ </xsd:element>
963
+ <xsd:element maxOccurs="1" minOccurs="0"
964
+ name="floorArea" type="xsd:float">
965
+ <xsd:annotation>
966
+ <xsd:documentation>
967
+ Available floor area in square metres.
968
+ </xsd:documentation>
969
+ </xsd:annotation>
970
+ </xsd:element>
971
+ </xsd:choice>
972
+ </xsd:sequence>
973
+ </xsd:complexType>
974
+ <xsd:complexType name="FarmSizeType">
975
+ <xsd:annotation>
976
+ <xsd:documentation>
977
+ The farm size in either acres or hectares.
978
+ </xsd:documentation>
979
+ </xsd:annotation>
980
+ <xsd:sequence>
981
+ <xsd:element name="farmSize" type="xsd:float">
982
+ <xsd:annotation>
983
+ <xsd:documentation>
984
+ The farm size in either acres or hectares.
985
+ </xsd:documentation>
986
+ </xsd:annotation>
987
+ </xsd:element>
988
+ <xsd:element name="farmSizeUnit">
989
+ <xsd:annotation>
990
+ <xsd:documentation>
991
+ The unit in which the farm size is given. Either acres or hectares.
992
+ </xsd:documentation>
993
+ </xsd:annotation>
994
+ <xsd:simpleType>
995
+ <xsd:restriction base="xsd:string">
996
+ <xsd:enumeration value="acres"/>
997
+ <xsd:enumeration value="hectares"/>
998
+ </xsd:restriction>
999
+ </xsd:simpleType>
1000
+ </xsd:element>
1001
+ </xsd:sequence>
1002
+ </xsd:complexType>
1003
+ <xsd:complexType name="AgentDetailsType">
1004
+ <xsd:annotation>
1005
+ <xsd:documentation>
1006
+ Identifies the listing agency and the agent contacts for the listing.
1007
+ </xsd:documentation>
1008
+ </xsd:annotation>
1009
+ <xsd:sequence>
1010
+ <xsd:element name="agencyId" type="xsd:unsignedInt">
1011
+ <xsd:annotation>
1012
+ <xsd:documentation>
1013
+ The Agencies allhomes.com.au ID.
1014
+
1015
+ Before listing on allhomes.com.au the agency must contact Allhomes to create an account.
1016
+ This number is the unique id for the Agencies account.
1017
+ Please contact Allhomes to find out your Agencies ID for the listing synchronization feed.
1018
+ </xsd:documentation>
1019
+ </xsd:annotation>
1020
+ </xsd:element>
1021
+ <xsd:element maxOccurs="1" minOccurs="0"
1022
+ name="primaryContact" type="adf:AgentType">
1023
+ <xsd:annotation>
1024
+ <xsd:documentation>
1025
+ The details of the primary contact for this listing. The name must match an existing staff member in the Agencies allhomes.com.au account.
1026
+ New staff members can be added to the account by logging onto the agent administrator account or by
1027
+ contacting Allhomes.
1028
+ </xsd:documentation>
1029
+ </xsd:annotation>
1030
+ </xsd:element>
1031
+ <xsd:element maxOccurs="5" minOccurs="0"
1032
+ name="alternativeContact" type="adf:AgentType">
1033
+ <xsd:annotation>
1034
+ <xsd:documentation>
1035
+ The details of alternative contacts for this listing. The name must match an existing staff member in the Agencies allhomes.com.au account.
1036
+ New staff members can be added to the account by logging onto the agent administrator account or by
1037
+ contacting Allhomes.
1038
+ </xsd:documentation>
1039
+ </xsd:annotation>
1040
+ </xsd:element>
1041
+ </xsd:sequence>
1042
+ </xsd:complexType>
1043
+ <xsd:complexType name="AgentType">
1044
+ <xsd:annotation>
1045
+ <xsd:documentation>
1046
+ The name of an Agent staff. The name must match an existing staff member in the Agencies allhomes.com.au account.
1047
+ New staff members can be added to the account by logging onto the agent administrator account or by
1048
+ contacting Allhomes.
1049
+
1050
+ The name will be used to link the staff member and their contact details to the listing.
1051
+ </xsd:documentation>
1052
+ </xsd:annotation>
1053
+ <xsd:sequence>
1054
+ <xsd:choice>
1055
+ <xsd:sequence>
1056
+ <xsd:element name="firstName" type="xsd:string"/>
1057
+ <xsd:element name="lastName" type="xsd:string"/>
1058
+ </xsd:sequence>
1059
+ <xsd:element name="name" type="xsd:string"/>
1060
+ </xsd:choice>
1061
+ <xsd:element maxOccurs="1" minOccurs="0" name="phone" type="xsd:string"/>
1062
+ <xsd:element maxOccurs="1" minOccurs="0" name="mobile" type="xsd:string"/>
1063
+ <xsd:element maxOccurs="1" minOccurs="0" name="email" type="xsd:string"/>
1064
+ </xsd:sequence>
1065
+ </xsd:complexType>
1066
+ <xsd:complexType name="StreetDirectoryType">
1067
+ <xsd:annotation>
1068
+ <xsd:documentation>
1069
+ A street directory reference for the listing.
1070
+ </xsd:documentation>
1071
+ </xsd:annotation>
1072
+ <xsd:sequence>
1073
+ <xsd:element default="GREGORY" name="type" type="adf:StreetDirectoryTypeType">
1074
+ <xsd:annotation>
1075
+ <xsd:documentation>
1076
+ The street directory type. ie; melways, gregory's
1077
+ </xsd:documentation>
1078
+ </xsd:annotation>
1079
+ </xsd:element>
1080
+ <xsd:element name="reference">
1081
+ <xsd:annotation>
1082
+ <xsd:documentation>
1083
+ The street directory reference. ie; 56, J6
1084
+ </xsd:documentation>
1085
+ </xsd:annotation>
1086
+ <xsd:simpleType>
1087
+ <xsd:restriction base="xsd:string">
1088
+ <xsd:maxLength value="32"/>
1089
+ </xsd:restriction>
1090
+ </xsd:simpleType>
1091
+ </xsd:element>
1092
+ </xsd:sequence>
1093
+ </xsd:complexType>
1094
+ <xsd:complexType name="AuctionType">
1095
+ <xsd:annotation>
1096
+ <xsd:documentation>
1097
+ Details of an auction.
1098
+ </xsd:documentation>
1099
+ </xsd:annotation>
1100
+ <xsd:sequence>
1101
+ <xsd:element name="date" type="xsd:date">
1102
+ <xsd:annotation>
1103
+ <xsd:documentation>
1104
+ The date the auction is to be held.
1105
+ </xsd:documentation>
1106
+ </xsd:annotation>
1107
+ </xsd:element>
1108
+ <xsd:element name="startTime" type="xsd:time">
1109
+ <xsd:annotation>
1110
+ <xsd:documentation>
1111
+ Starting time of the auction.
1112
+ </xsd:documentation>
1113
+ </xsd:annotation>
1114
+ </xsd:element>
1115
+ <xsd:element maxOccurs="1" minOccurs="0"
1116
+ name="unpublishedPriceEstimate" type="xsd:unsignedInt">
1117
+ <xsd:annotation>
1118
+ <xsd:documentation>
1119
+ An estimated sale price that will not be displayed on the allhomes.com.au public website.
1120
+ </xsd:documentation>
1121
+ </xsd:annotation>
1122
+ </xsd:element>
1123
+ <xsd:element maxOccurs="1" minOccurs="0"
1124
+ name="offSiteAuctionAddress" type="adf:StreetAddressType">
1125
+ <xsd:annotation>
1126
+ <xsd:documentation>
1127
+ The street address of the off-site auction location.
1128
+ </xsd:documentation>
1129
+ </xsd:annotation>
1130
+ </xsd:element>
1131
+ </xsd:sequence>
1132
+ </xsd:complexType>
1133
+ <xsd:complexType name="TenderType">
1134
+ <xsd:annotation>
1135
+ <xsd:documentation>
1136
+ Details of the tender closing date.
1137
+ </xsd:documentation>
1138
+ </xsd:annotation>
1139
+ <xsd:sequence>
1140
+ <xsd:element name="closingDate" type="xsd:dateTime"/>
1141
+ </xsd:sequence>
1142
+ </xsd:complexType>
1143
+ <xsd:complexType name="ExpressionOfInterestType">
1144
+ <xsd:annotation>
1145
+ <xsd:documentation>
1146
+ Details of the EOI closing date.
1147
+ </xsd:documentation>
1148
+ </xsd:annotation>
1149
+ <xsd:sequence>
1150
+ <xsd:element name="closingDate" type="xsd:dateTime"/>
1151
+ </xsd:sequence>
1152
+ </xsd:complexType>
1153
+ <xsd:complexType name="ExhibitionsType">
1154
+ <xsd:annotation>
1155
+ <xsd:documentation>
1156
+ Wrapper for a list of exhibitions (open times).
1157
+ </xsd:documentation>
1158
+ </xsd:annotation>
1159
+ <xsd:sequence>
1160
+ <xsd:element maxOccurs="unbounded" minOccurs="0"
1161
+ name="exhibition" type="adf:ExhibitionType">
1162
+ <xsd:annotation>
1163
+ <xsd:documentation>
1164
+ Date and time details of an exhibition (open time).
1165
+ </xsd:documentation>
1166
+ </xsd:annotation>
1167
+ </xsd:element>
1168
+ </xsd:sequence>
1169
+ </xsd:complexType>
1170
+ <xsd:complexType name="ExhibitionType">
1171
+ <xsd:annotation>
1172
+ <xsd:documentation>
1173
+ Date and time details of an exhibition (open time).
1174
+ </xsd:documentation>
1175
+ </xsd:annotation>
1176
+ <xsd:sequence>
1177
+ <xsd:element name="date" type="xsd:date"/>
1178
+ <xsd:element name="startTime" type="xsd:time"/>
1179
+ <xsd:element name="endTime" type="xsd:time"/>
1180
+ </xsd:sequence>
1181
+ </xsd:complexType>
1182
+ <xsd:simpleType name="RuralCategoryType">
1183
+ <xsd:annotation>
1184
+ <xsd:documentation>
1185
+ The primary purpose of a rural property.
1186
+ </xsd:documentation>
1187
+ </xsd:annotation>
1188
+ <xsd:restriction base="xsd:string">
1189
+ <xsd:enumeration value="dairy"/>
1190
+ <xsd:enumeration value="hobby"/>
1191
+ <xsd:enumeration value="horticulture"/>
1192
+ <xsd:enumeration value="lifestyle"/>
1193
+ <xsd:enumeration value="livestock"/>
1194
+ <xsd:enumeration value="vineyard"/>
1195
+ <xsd:enumeration value="other"/>
1196
+ </xsd:restriction>
1197
+ </xsd:simpleType>
1198
+ <xsd:simpleType name="DocumentTypeType">
1199
+ <xsd:annotation>
1200
+ <xsd:documentation>
1201
+ Listing document type describes the purpose of a document.
1202
+ </xsd:documentation>
1203
+ </xsd:annotation>
1204
+ <xsd:restriction base="xsd:string">
1205
+ <xsd:enumeration value="contract"/>
1206
+ <xsd:enumeration value="buildingReport"/>
1207
+ <xsd:enumeration value="pestInspectionReport"/>
1208
+ <xsd:enumeration value="energyRatingReport"/>
1209
+ </xsd:restriction>
1210
+ </xsd:simpleType>
1211
+ <xsd:simpleType name="EerType">
1212
+ <xsd:annotation>
1213
+ <xsd:documentation>
1214
+ The energy efficiency rating of the building.
1215
+ Value may be one of; 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6.
1216
+ </xsd:documentation>
1217
+ </xsd:annotation>
1218
+ <xsd:restriction base="xsd:string">
1219
+ <xsd:pattern value="([0-5](\.[05]){0,1}|6(\.0){0,1})"/>
1220
+ </xsd:restriction>
1221
+ </xsd:simpleType>
1222
+ <xsd:simpleType name="PropertyTypeType">
1223
+ <xsd:annotation>
1224
+ <xsd:documentation>
1225
+ The dwelling/property type.
1226
+ Marker interface for property types.
1227
+ </xsd:documentation>
1228
+ </xsd:annotation>
1229
+ <xsd:restriction base="xsd:string"/>
1230
+ </xsd:simpleType>
1231
+ <xsd:simpleType name="ResidentialPropertyTypeType">
1232
+ <xsd:annotation>
1233
+ <xsd:documentation>
1234
+ Describes the type of dwelling/property.
1235
+ </xsd:documentation>
1236
+ </xsd:annotation>
1237
+ <xsd:restriction base="adf:PropertyTypeType">
1238
+ <xsd:enumeration value="apartment"/>
1239
+ <xsd:enumeration value="chalet"/>
1240
+ <xsd:enumeration value="commercialStudio"/>
1241
+ <xsd:enumeration value="cottage"/>
1242
+ <xsd:enumeration value="courtyardHome"/>
1243
+ <xsd:enumeration value="dualOccupancy"/>
1244
+ <xsd:enumeration value="duplex"/>
1245
+ <xsd:enumeration value="flat"/>
1246
+ <xsd:enumeration value="house"/>
1247
+ <xsd:enumeration value="houseAndLandPackage"/>
1248
+ <xsd:enumeration value="investmentProperty"/>
1249
+ <xsd:enumeration value="land"/>
1250
+ <xsd:enumeration value="other"/>
1251
+ <xsd:enumeration value="relocatableHome"/>
1252
+ <xsd:enumeration value="retirementVillage"/>
1253
+ <xsd:enumeration value="rural"/>
1254
+ <xsd:enumeration value="townhouse"/>
1255
+ <xsd:enumeration value="triOccupancy"/>
1256
+ <xsd:enumeration value="unit"/>
1257
+ <xsd:enumeration value="villa"/>
1258
+ </xsd:restriction>
1259
+ </xsd:simpleType>
1260
+ <xsd:simpleType name="CommercialPropertyTypeType">
1261
+ <xsd:annotation>
1262
+ <xsd:documentation>
1263
+ Describes the type of commercial property.
1264
+ </xsd:documentation>
1265
+ </xsd:annotation>
1266
+ <xsd:restriction base="adf:PropertyTypeType">
1267
+ <xsd:enumeration value="commercialLand"/>
1268
+ <xsd:enumeration value="hotel"/>
1269
+ <xsd:enumeration value="industrial"/>
1270
+ <xsd:enumeration value="motel"/>
1271
+ <xsd:enumeration value="office"/>
1272
+ <xsd:enumeration value="otherCommercial"/>
1273
+ <xsd:enumeration value="retail"/>
1274
+ <xsd:enumeration value="warehouse"/>
1275
+ </xsd:restriction>
1276
+ </xsd:simpleType>
1277
+ <xsd:simpleType name="ListingStatusType">
1278
+ <xsd:annotation>
1279
+ <xsd:documentation>
1280
+ The status of the listing on allhomes.com.au.
1281
+ <br/>
1282
+ A listing will be in one of the following states;
1283
+ <ul>
1284
+ <li>Active - the listing is publicly visible.</li>
1285
+ <li>Archived - the listing has been sold/rented and is no longer publicly visible.</li>
1286
+ <li>Deleted - the listing was erroneous so must be no longer be displayed.</li>
1287
+ <li>Hidden - the listing is not publicly visible.</li>
1288
+ </ul>
1289
+ <br/>
1290
+ <h3>Notes about deleted vs. archived</h3>
1291
+ Listings should be deleted if the sale or rental transaction does not take place or if there was a mistake in the listing and it should be removed from the system.
1292
+ <br/>
1293
+ Listings that are sold or rented successfully should be marked archived.
1294
+ <br/>
1295
+ <h3>Things to know</h3>
1296
+ <ul>
1297
+ The first listed date that is displayed on an allhomes.com.au listing is the date the listing was first made
1298
+ visible. The listing status determines when the listing is visible. If the listing is first added to the
1299
+ system in the 'active' state then this is the date first visible. However, if the listing is added in the
1300
+ 'hidden' state and in a later synchronization made 'active' then the date it was made active is the first
1301
+ listed date.
1302
+ </ul>
1303
+ </xsd:documentation>
1304
+ </xsd:annotation>
1305
+ <xsd:restriction base="xsd:string">
1306
+ <xsd:enumeration value="active"/>
1307
+ <xsd:enumeration value="archived"/>
1308
+ <xsd:enumeration value="deleted"/>
1309
+ <xsd:enumeration value="hidden"/>
1310
+ </xsd:restriction>
1311
+ </xsd:simpleType>
1312
+ <xsd:simpleType name="StreetDirectoryTypeType">
1313
+ <xsd:restriction base="xsd:string">
1314
+ <xsd:enumeration value="GREGORY"/>
1315
+ </xsd:restriction>
1316
+ </xsd:simpleType>
1317
+ <xsd:complexType abstract="true" name="PropertyFeaturesType">
1318
+ <xsd:annotation>
1319
+ <xsd:documentation>
1320
+ Marker interface for all property features types.
1321
+ A PropertyFeaturesType is a list of property features.
1322
+ </xsd:documentation>
1323
+ </xsd:annotation>
1324
+ </xsd:complexType>
1325
+ <xsd:complexType abstract="true" name="HouseFeaturesType">
1326
+ <xsd:annotation>
1327
+ <xsd:documentation>
1328
+ Features specific to dwellings.
1329
+ </xsd:documentation>
1330
+ </xsd:annotation>
1331
+ <xsd:complexContent>
1332
+ <xsd:extension base="adf:PropertyFeaturesType">
1333
+ <xsd:sequence>
1334
+ <xsd:element maxOccurs="1" minOccurs="0" name="greyWaterTanks">
1335
+ <xsd:annotation>
1336
+ <xsd:documentation>
1337
+ The number of grey water tanks.
1338
+ </xsd:documentation>
1339
+ </xsd:annotation>
1340
+ <xsd:complexType>
1341
+ <xsd:simpleContent>
1342
+ <xsd:extension base="xsd:unsignedInt">
1343
+ <xsd:attribute name="capacity"
1344
+ type="xsd:unsignedInt" use="optional">
1345
+ <xsd:annotation>
1346
+ <xsd:documentation>
1347
+ The capacity of tanks in litres.
1348
+ </xsd:documentation>
1349
+ </xsd:annotation>
1350
+ </xsd:attribute>
1351
+ </xsd:extension>
1352
+ </xsd:simpleContent>
1353
+ </xsd:complexType>
1354
+ </xsd:element>
1355
+ <xsd:element maxOccurs="1" minOccurs="0" name="locatedOnFloor">
1356
+ <xsd:annotation>
1357
+ <xsd:documentation>
1358
+ Specifies the floor number if the listing is in an apartment block.
1359
+ </xsd:documentation>
1360
+ </xsd:annotation>
1361
+ <xsd:complexType>
1362
+ <xsd:simpleContent>
1363
+ <xsd:extension base="xsd:unsignedShort">
1364
+ <xsd:attribute name="totalFloors"
1365
+ type="xsd:unsignedShort" use="optional">
1366
+ <xsd:annotation>
1367
+ <xsd:documentation>
1368
+ The total number of floors in the apartment block.
1369
+ </xsd:documentation>
1370
+ </xsd:annotation>
1371
+ </xsd:attribute>
1372
+ </xsd:extension>
1373
+ </xsd:simpleContent>
1374
+ </xsd:complexType>
1375
+ </xsd:element>
1376
+ <xsd:element maxOccurs="1" minOccurs="0" name="rainWaterTanks">
1377
+ <xsd:annotation>
1378
+ <xsd:documentation>
1379
+ The number of rain water tanks.
1380
+ </xsd:documentation>
1381
+ </xsd:annotation>
1382
+ <xsd:complexType>
1383
+ <xsd:simpleContent>
1384
+ <xsd:extension base="xsd:unsignedInt">
1385
+ <!-- Capacity in Litres. -->
1386
+ <xsd:attribute name="capacity"
1387
+ type="xsd:unsignedInt" use="optional">
1388
+ <xsd:annotation>
1389
+ <xsd:documentation>
1390
+ The capacity of tanks in litres.
1391
+ </xsd:documentation>
1392
+ </xsd:annotation>
1393
+ </xsd:attribute>
1394
+ </xsd:extension>
1395
+ </xsd:simpleContent>
1396
+ </xsd:complexType>
1397
+ </xsd:element>
1398
+ </xsd:sequence>
1399
+ <xsd:attribute name="airConditioning"
1400
+ type="adf:AirConditioningTypeType" use="optional"/>
1401
+ <xsd:attribute name="alarm" type="adf:AlarmTypeType" use="optional"/>
1402
+ <xsd:attribute name="balconies" type="xsd:unsignedShort" use="optional"/>
1403
+ <xsd:attribute name="bathrooms" type="xsd:unsignedShort" use="optional"/>
1404
+ <xsd:attribute name="bedrooms" type="xsd:unsignedShort" use="optional"/>
1405
+ <xsd:attribute default="false" name="broadband"
1406
+ type="xsd:boolean" use="optional"/>
1407
+ <xsd:attribute name="carportSpaces"
1408
+ type="xsd:unsignedShort" use="optional"/>
1409
+ <xsd:attribute name="cooktop" type="adf:CookingTypeType" use="optional"/>
1410
+ <xsd:attribute default="false" name="diningRoom"
1411
+ type="xsd:boolean" use="optional"/>
1412
+ <xsd:attribute default="false" name="disabilityFriendly"
1413
+ type="xsd:boolean" use="optional"/>
1414
+ <xsd:attribute default="false" name="dishwasher"
1415
+ type="xsd:boolean" use="optional"/>
1416
+ <xsd:attribute default="false" name="ductedVacuum"
1417
+ type="xsd:boolean" use="optional"/>
1418
+ <xsd:attribute name="ensuites" type="xsd:unsignedShort" use="optional"/>
1419
+ <xsd:attribute default="false" name="evaporativeCooling"
1420
+ type="xsd:boolean" use="optional"/>
1421
+ <xsd:attribute default="false" name="exGovernment"
1422
+ type="xsd:boolean" use="optional"/>
1423
+ <xsd:attribute default="false" name="familyRoom"
1424
+ type="xsd:boolean" use="optional"/>
1425
+ <xsd:attribute default="false" name="fullyFurnished"
1426
+ type="xsd:boolean" use="optional"/>
1427
+ <xsd:attribute name="garageSpaces"
1428
+ type="xsd:unsignedShort" use="optional"/>
1429
+ <xsd:attribute default="false" name="gardenShed"
1430
+ type="xsd:boolean" use="optional"/>
1431
+ <xsd:attribute default="false" name="glassHouse"
1432
+ type="xsd:boolean" use="optional"/>
1433
+ <xsd:attribute default="false" name="gym"
1434
+ type="xsd:boolean" use="optional"/>
1435
+ <xsd:attribute name="heating" type="adf:HeatingTypeType" use="optional"/>
1436
+ <xsd:attribute default="false" name="homeTheatreRoom"
1437
+ type="xsd:boolean" use="optional"/>
1438
+ <xsd:attribute name="hotWater"
1439
+ type="adf:HotWaterTypeType" use="optional"/>
1440
+ <xsd:attribute name="insulation"
1441
+ type="adf:InsulationTypeType" use="optional"/>
1442
+ <xsd:attribute default="false" name="intercom"
1443
+ type="xsd:boolean" use="optional"/>
1444
+ <xsd:attribute default="false" name="newConstruction"
1445
+ type="xsd:boolean" use="optional"/>
1446
+ <xsd:attribute default="false"
1447
+ name="outdoorEntertainingArea" type="xsd:boolean" use="optional"/>
1448
+ <xsd:attribute name="oven" type="adf:CookingTypeType" use="optional"/>
1449
+ <xsd:attribute default="false" name="powderRoom"
1450
+ type="xsd:boolean" use="optional"/>
1451
+ <xsd:attribute default="false" name="rumpusRoom"
1452
+ type="xsd:boolean" use="optional"/>
1453
+ <xsd:attribute default="false" name="sauna"
1454
+ type="xsd:boolean" use="optional"/>
1455
+ <xsd:attribute default="false" name="selfContainedFlat"
1456
+ type="xsd:boolean" use="optional"/>
1457
+ <xsd:attribute default="false" name="solarPanels"
1458
+ type="xsd:boolean" use="optional"/>
1459
+ <xsd:attribute default="false" name="spaIndoor"
1460
+ type="xsd:boolean" use="optional"/>
1461
+ <xsd:attribute default="false" name="spaOutdoor"
1462
+ type="xsd:boolean" use="optional"/>
1463
+ <xsd:attribute default="false" name="study"
1464
+ type="xsd:boolean" use="optional"/>
1465
+ <xsd:attribute default="false" name="sunroom"
1466
+ type="xsd:boolean" use="optional"/>
1467
+ <xsd:attribute default="false" name="swimmingPool"
1468
+ type="xsd:boolean" use="optional"/>
1469
+ <xsd:attribute default="false" name="tennisCourt"
1470
+ type="xsd:boolean" use="optional"/>
1471
+ <xsd:attribute default="false" name="walkInRobe"
1472
+ type="xsd:boolean" use="optional"/>
1473
+ <xsd:attribute default="false" name="wineCellar"
1474
+ type="xsd:boolean" use="optional"/>
1475
+ </xsd:extension>
1476
+ </xsd:complexContent>
1477
+ </xsd:complexType>
1478
+ <xsd:complexType name="ResidentialSaleFeaturesType">
1479
+ <xsd:annotation>
1480
+ <xsd:documentation>
1481
+ Features specific to residential sales.
1482
+ </xsd:documentation>
1483
+ </xsd:annotation>
1484
+ <xsd:complexContent>
1485
+ <xsd:extension base="adf:HouseFeaturesType">
1486
+ <xsd:attribute default="false" name="bodyCorporate"
1487
+ type="xsd:boolean" use="optional"/>
1488
+ <xsd:attribute default="false" name="coreArea"
1489
+ type="xsd:boolean" use="optional"/>
1490
+ <xsd:attribute default="false" name="plansApproved"
1491
+ type="xsd:boolean" use="optional"/>
1492
+ </xsd:extension>
1493
+ </xsd:complexContent>
1494
+ </xsd:complexType>
1495
+ <xsd:complexType name="RuralSaleFeaturesType">
1496
+ <xsd:annotation>
1497
+ <xsd:documentation>
1498
+ Features specific to rural sales.
1499
+ </xsd:documentation>
1500
+ </xsd:annotation>
1501
+ <xsd:complexContent>
1502
+ <xsd:extension base="adf:HouseFeaturesType">
1503
+ <xsd:attribute name="fencing"
1504
+ type="adf:FeatureDescriptionType" use="optional"/>
1505
+ <xsd:attribute name="irrigation"
1506
+ type="adf:FeatureDescriptionType" use="optional"/>
1507
+ <xsd:attribute default="false" name="plansApproved"
1508
+ type="xsd:boolean" use="optional"/>
1509
+ <xsd:attribute name="rainfall"
1510
+ type="adf:FeatureDescriptionType" use="optional"/>
1511
+ <xsd:attribute name="services"
1512
+ type="adf:FeatureDescriptionType" use="optional"/>
1513
+ </xsd:extension>
1514
+ </xsd:complexContent>
1515
+ </xsd:complexType>
1516
+ <xsd:complexType name="ResidentialRentalFeaturesType">
1517
+ <xsd:annotation>
1518
+ <xsd:documentation>
1519
+ Features specific to residential rentals.
1520
+ </xsd:documentation>
1521
+ </xsd:annotation>
1522
+ <xsd:complexContent>
1523
+ <xsd:extension base="adf:HouseFeaturesType">
1524
+ <xsd:attribute default="false" name="petsAllowed"
1525
+ type="xsd:boolean" use="optional"/>
1526
+ <xsd:attribute default="false" name="shortTermLease"
1527
+ type="xsd:boolean" use="optional"/>
1528
+ </xsd:extension>
1529
+ </xsd:complexContent>
1530
+ </xsd:complexType>
1531
+ <xsd:complexType abstract="true" name="CommercialFeaturesType">
1532
+ <xsd:annotation>
1533
+ <xsd:documentation>
1534
+ Features specific to commercial listings. Specific listing type features types will extend this.
1535
+ </xsd:documentation>
1536
+ </xsd:annotation>
1537
+ <xsd:complexContent>
1538
+ <xsd:extension base="adf:PropertyFeaturesType">
1539
+ <xsd:attribute default="false" name="airConditioning"
1540
+ type="xsd:boolean" use="optional"/>
1541
+ <xsd:attribute name="alarm" type="adf:AlarmTypeType" use="optional"/>
1542
+ <xsd:attribute name="bathrooms" type="xsd:unsignedShort" use="optional"/>
1543
+ <xsd:attribute name="boardrooms"
1544
+ type="xsd:unsignedShort" use="optional"/>
1545
+ <xsd:attribute default="false" name="fullyFurnished"
1546
+ type="xsd:boolean" use="optional"/>
1547
+ <xsd:attribute name="heating" type="adf:HeatingTypeType" use="optional"/>
1548
+ <xsd:attribute default="false" name="hopper"
1549
+ type="xsd:boolean" use="optional"/>
1550
+ <xsd:attribute default="false" name="kitchen"
1551
+ type="xsd:boolean" use="optional"/>
1552
+ <xsd:attribute default="false" name="networkCabling"
1553
+ type="xsd:boolean" use="optional"/>
1554
+ <xsd:attribute default="false" name="newConstruction"
1555
+ type="xsd:boolean" use="optional"/>
1556
+ <xsd:attribute name="outsideCarSpaces"
1557
+ type="xsd:unsignedShort" use="optional"/>
1558
+ <xsd:attribute default="false" name="PABX"
1559
+ type="xsd:boolean" use="optional"/>
1560
+ <xsd:attribute default="false" name="selfContainedFlat"
1561
+ type="xsd:boolean" use="optional"/>
1562
+ <xsd:attribute default="false" name="shower"
1563
+ type="xsd:boolean" use="optional"/>
1564
+ <xsd:attribute name="undercoverCarSpaces"
1565
+ type="xsd:unsignedShort" use="optional"/>
1566
+ </xsd:extension>
1567
+ </xsd:complexContent>
1568
+ </xsd:complexType>
1569
+ <xsd:complexType name="CommercialRentalFeaturesType">
1570
+ <xsd:annotation>
1571
+ <xsd:documentation>
1572
+ Features specific to commercial rental.
1573
+ </xsd:documentation>
1574
+ </xsd:annotation>
1575
+ <xsd:complexContent>
1576
+ <xsd:extension base="adf:CommercialFeaturesType">
1577
+ <xsd:sequence>
1578
+ <!-- No additional features for rental. -->
1579
+ </xsd:sequence>
1580
+ </xsd:extension>
1581
+ </xsd:complexContent>
1582
+ </xsd:complexType>
1583
+ <xsd:complexType name="CommercialSaleFeaturesType">
1584
+ <xsd:annotation>
1585
+ <xsd:documentation>
1586
+ Features specific to commercial sales.
1587
+ </xsd:documentation>
1588
+ </xsd:annotation>
1589
+ <xsd:complexContent>
1590
+ <xsd:extension base="adf:CommercialFeaturesType">
1591
+ <xsd:attribute name="bodyCorporate" type="xsd:boolean" use="optional"/>
1592
+ </xsd:extension>
1593
+ </xsd:complexContent>
1594
+ </xsd:complexType>
1595
+ <xsd:simpleType name="AirConditioningTypeType">
1596
+ <xsd:annotation>
1597
+ <xsd:documentation>
1598
+ The type of air conditioning.
1599
+ </xsd:documentation>
1600
+ </xsd:annotation>
1601
+ <xsd:restriction base="xsd:string">
1602
+ <xsd:enumeration value="reverseCycle"/>
1603
+ <xsd:enumeration value="splitSystem"/>
1604
+ <xsd:enumeration value="other"/>
1605
+ </xsd:restriction>
1606
+ </xsd:simpleType>
1607
+ <xsd:simpleType name="AlarmTypeType">
1608
+ <xsd:annotation>
1609
+ <xsd:documentation>
1610
+ The type of alarm system.
1611
+ </xsd:documentation>
1612
+ </xsd:annotation>
1613
+ <xsd:restriction base="xsd:string">
1614
+ <xsd:enumeration value="standard"/>
1615
+ <xsd:enumeration value="backToBase"/>
1616
+ </xsd:restriction>
1617
+ </xsd:simpleType>
1618
+ <xsd:simpleType name="HeatingTypeType">
1619
+ <xsd:annotation>
1620
+ <xsd:documentation>
1621
+ The type of heating.
1622
+ </xsd:documentation>
1623
+ </xsd:annotation>
1624
+ <xsd:restriction base="xsd:string">
1625
+ <xsd:enumeration value="central"/>
1626
+ <xsd:enumeration value="reverseCycle"/>
1627
+ <xsd:enumeration value="wood"/>
1628
+ <xsd:enumeration value="gas"/>
1629
+ <xsd:enumeration value="inSlab"/>
1630
+ </xsd:restriction>
1631
+ </xsd:simpleType>
1632
+ <xsd:simpleType name="InsulationTypeType">
1633
+ <xsd:annotation>
1634
+ <xsd:documentation>
1635
+ The type of insulation. Insulation may be in the walls only or the ceiling only or both.
1636
+ </xsd:documentation>
1637
+ </xsd:annotation>
1638
+ <xsd:restriction base="xsd:string">
1639
+ <xsd:enumeration value="ceiling"/>
1640
+ <xsd:enumeration value="walls"/>
1641
+ <xsd:enumeration value="both"/>
1642
+ </xsd:restriction>
1643
+ </xsd:simpleType>
1644
+ <xsd:simpleType name="CookingTypeType">
1645
+ <xsd:annotation>
1646
+ <xsd:documentation>
1647
+ Defines the types for cooking appliances.
1648
+ </xsd:documentation>
1649
+ </xsd:annotation>
1650
+ <xsd:restriction base="xsd:string">
1651
+ <xsd:enumeration value="gas"/>
1652
+ <xsd:enumeration value="electric"/>
1653
+ <xsd:enumeration value="woodFire"/>
1654
+ </xsd:restriction>
1655
+ </xsd:simpleType>
1656
+ <xsd:simpleType name="HotWaterTypeType">
1657
+ <xsd:annotation>
1658
+ <xsd:documentation>
1659
+ Defines the types of hot water services.
1660
+ </xsd:documentation>
1661
+ </xsd:annotation>
1662
+ <xsd:restriction base="xsd:string">
1663
+ <xsd:enumeration value="gas"/>
1664
+ <xsd:enumeration value="electric"/>
1665
+ <xsd:enumeration value="solar"/>
1666
+ </xsd:restriction>
1667
+ </xsd:simpleType>
1668
+ <xsd:simpleType name="FeatureDescriptionType">
1669
+ <xsd:annotation>
1670
+ <xsd:documentation>
1671
+ Defines constraints of a free-form feature description.
1672
+ </xsd:documentation>
1673
+ </xsd:annotation>
1674
+ <xsd:restriction base="xsd:string">
1675
+ <xsd:maxLength value="100"/>
1676
+ </xsd:restriction>
1677
+ </xsd:simpleType>
1678
+ <xsd:complexType abstract="true" name="RentalListingType">
1679
+ <xsd:annotation>
1680
+ <xsd:documentation>
1681
+ Common attributes of a rental listing. Specific rental listing types will extend the RentalListingType.
1682
+ </xsd:documentation>
1683
+ </xsd:annotation>
1684
+ <xsd:complexContent>
1685
+ <xsd:extension base="adf:ListingType">
1686
+ <xsd:sequence>
1687
+ <xsd:element minOccurs="0" name="availability" type="adf:AvailabilityType"/>
1688
+ <xsd:element name="price" type="adf:RentalPriceType"/>
1689
+ <xsd:element minOccurs="0" name="exhibitions" type="adf:ExhibitionsType"/>
1690
+ </xsd:sequence>
1691
+ <xsd:attribute name="rentalStatus" type="adf:RentalStatusType">
1692
+ <xsd:annotation>
1693
+ <xsd:documentation>
1694
+ The rental status of the listing. ie; for rent or rented.
1695
+ </xsd:documentation>
1696
+ </xsd:annotation>
1697
+ </xsd:attribute>
1698
+ <xsd:attribute name="rentedPrice" type="xsd:unsignedInt" use="optional">
1699
+ <xsd:annotation>
1700
+ <xsd:documentation>
1701
+ The price the listing rented for. The rented price must be provided upon marking the listing rented.
1702
+ </xsd:documentation>
1703
+ </xsd:annotation>
1704
+ </xsd:attribute>
1705
+ <xsd:attribute name="rentedDate" type="xsd:date">
1706
+ <xsd:annotation>
1707
+ <xsd:documentation>
1708
+ The date the property was rented. Generally this will be the date the lease was signed.
1709
+ Rented date must be specified when marking a listing rented.
1710
+ </xsd:documentation>
1711
+ </xsd:annotation>
1712
+ </xsd:attribute>
1713
+ </xsd:extension>
1714
+ </xsd:complexContent>
1715
+ </xsd:complexType>
1716
+ <xsd:complexType name="ResidentialRentalListingType">
1717
+ <xsd:annotation>
1718
+ <xsd:documentation>
1719
+ A residential rental listing.
1720
+ </xsd:documentation>
1721
+ </xsd:annotation>
1722
+ <xsd:complexContent>
1723
+ <xsd:extension base="adf:RentalListingType">
1724
+ <xsd:sequence>
1725
+ <xsd:element default="residential" minOccurs="0"
1726
+ name="rentalPurpose" type="adf:RentalPurposeType"/>
1727
+ <xsd:element name="propertyDetails">
1728
+ <xsd:complexType>
1729
+ <xsd:complexContent>
1730
+ <xsd:extension base="adf:PropertyDetailsType">
1731
+ <xsd:sequence>
1732
+ <xsd:element name="propertyType" type="adf:ResidentialPropertyTypeType"/>
1733
+ <xsd:element minOccurs="0"
1734
+ name="features" type="adf:ResidentialRentalFeaturesType"/>
1735
+ </xsd:sequence>
1736
+ </xsd:extension>
1737
+ </xsd:complexContent>
1738
+ </xsd:complexType>
1739
+ </xsd:element>
1740
+ </xsd:sequence>
1741
+ </xsd:extension>
1742
+ </xsd:complexContent>
1743
+ </xsd:complexType>
1744
+ <xsd:complexType name="CommercialRentalListingType">
1745
+ <xsd:annotation>
1746
+ <xsd:documentation>
1747
+ A commercial rental listing.
1748
+ </xsd:documentation>
1749
+ </xsd:annotation>
1750
+ <xsd:complexContent>
1751
+ <xsd:extension base="adf:RentalListingType">
1752
+ <xsd:sequence>
1753
+ <xsd:element name="propertyDetails">
1754
+ <xsd:complexType>
1755
+ <xsd:complexContent>
1756
+ <xsd:extension base="adf:PropertyDetailsType">
1757
+ <xsd:sequence>
1758
+ <xsd:element name="propertyType" type="adf:CommercialPropertyTypeType"/>
1759
+ <xsd:element minOccurs="0"
1760
+ name="features" type="adf:CommercialRentalFeaturesType"/>
1761
+ </xsd:sequence>
1762
+ </xsd:extension>
1763
+ </xsd:complexContent>
1764
+ </xsd:complexType>
1765
+ </xsd:element>
1766
+ </xsd:sequence>
1767
+ </xsd:extension>
1768
+ </xsd:complexContent>
1769
+ </xsd:complexType>
1770
+ <xsd:complexType name="AvailabilityType">
1771
+ <xsd:annotation>
1772
+ <xsd:documentation>
1773
+ The availability dates for a rental.
1774
+ </xsd:documentation>
1775
+ </xsd:annotation>
1776
+ <xsd:sequence>
1777
+ <xsd:element minOccurs="0" name="from" type="xsd:date"/>
1778
+ <xsd:element minOccurs="0" name="to" type="xsd:date"/>
1779
+ </xsd:sequence>
1780
+ </xsd:complexType>
1781
+ <xsd:complexType name="RentalPriceType">
1782
+ <xsd:annotation>
1783
+ <xsd:documentation>
1784
+ The rental price may consist of a;
1785
+ <ul>
1786
+ <li>Only a lower price</li>
1787
+ <li>A price range defined by specifying the lower and upper prices</li>
1788
+ <li>A displayed price which is a arbitrary description of price. ie; "Make us an offer".
1789
+ Any of the above may also be specified when specifying a displayed price, however, they
1790
+ will not be publicly visible.</li>
1791
+ <li>The bond amount and/or any of the above.</li>
1792
+ </ul>
1793
+ </xsd:documentation>
1794
+ </xsd:annotation>
1795
+ <xsd:sequence>
1796
+ <xsd:element minOccurs="0" name="lower" type="xsd:unsignedInt"/>
1797
+ <xsd:element minOccurs="0" name="upper" type="xsd:unsignedInt"/>
1798
+ <xsd:element minOccurs="0" name="priceText" type="xsd:string">
1799
+ <xsd:annotation>
1800
+ <xsd:documentation>
1801
+ The price text field is added later it is different from the displayed price as it is an actual price in addition to the lower/upper prices. E.g. "Mid to high $700's".
1802
+ </xsd:documentation>
1803
+ </xsd:annotation>
1804
+ </xsd:element>
1805
+ <xsd:element minOccurs="0" name="displayedPrice" type="xsd:string"/>
1806
+ <xsd:element minOccurs="0" name="bond" type="xsd:unsignedInt"/>
1807
+ <xsd:element minOccurs="0" name="paymentPeriod" type="adf:RentalPaymentPeriodType"/>
1808
+ </xsd:sequence>
1809
+ <xsd:attribute name="isPricePublicVisible" type="xsd:boolean" use="optional">
1810
+ <xsd:annotation>
1811
+ <xsd:documentation>
1812
+ Describes a business rule regarding whether the price should be displayed to customers.
1813
+ If this attribute is not specified, public visibility is assumed to be true.
1814
+ </xsd:documentation>
1815
+ </xsd:annotation>
1816
+ </xsd:attribute>
1817
+ </xsd:complexType>
1818
+ <xsd:simpleType name="RentalPurposeType">
1819
+ <xsd:annotation>
1820
+ <xsd:documentation>
1821
+ The primary purpose of a residential rental property.
1822
+ </xsd:documentation>
1823
+ </xsd:annotation>
1824
+ <xsd:restriction base="xsd:string">
1825
+ <xsd:enumeration value="holiday"/>
1826
+ <xsd:enumeration value="residential"/>
1827
+ </xsd:restriction>
1828
+ </xsd:simpleType>
1829
+ <xsd:simpleType name="RentalPaymentPeriodType">
1830
+ <xsd:annotation>
1831
+ <xsd:documentation>
1832
+ The rental payment period: weekly or monthly.
1833
+ </xsd:documentation>
1834
+ </xsd:annotation>
1835
+ <xsd:restriction base="xsd:string">
1836
+ <xsd:enumeration value="weekly"/>
1837
+ <xsd:enumeration value="monthly"/>
1838
+ <xsd:enumeration value="annually"/>
1839
+ </xsd:restriction>
1840
+ </xsd:simpleType>
1841
+ <xsd:simpleType name="RentalStatusType">
1842
+ <xsd:annotation>
1843
+ <xsd:documentation>
1844
+ The listings rental status. Either: for rent or rented.
1845
+ </xsd:documentation>
1846
+ </xsd:annotation>
1847
+ <xsd:restriction base="xsd:string">
1848
+ <xsd:enumeration value="forRent"/>
1849
+ <xsd:enumeration value="rented"/>
1850
+ <xsd:enumeration value="appraisal"/>
1851
+ <xsd:enumeration value="underApplication"/>
1852
+ <xsd:enumeration value="withdrawn"/>
1853
+ <xsd:enumeration value="potentialListing"/>
1854
+ </xsd:restriction>
1855
+ </xsd:simpleType>
1856
+ <xsd:complexType abstract="true" name="SaleListingType">
1857
+ <xsd:annotation>
1858
+ <xsd:documentation>
1859
+ Common attributes of a sale listing. Specific sale listing types will extend the SaleListingType.
1860
+ </xsd:documentation>
1861
+ </xsd:annotation>
1862
+ <xsd:complexContent>
1863
+ <xsd:extension base="adf:ListingType">
1864
+ <xsd:sequence>
1865
+ <xsd:element name="saleAuthority" type="adf:SaleAuthorityType">
1866
+ <xsd:annotation>
1867
+ <xsd:documentation>
1868
+ Defines who has authority over the sale.
1869
+ </xsd:documentation>
1870
+ </xsd:annotation>
1871
+ </xsd:element>
1872
+ <xsd:choice>
1873
+ <xsd:element name="price" type="adf:SalePriceType">
1874
+ <xsd:annotation>
1875
+ <xsd:documentation>
1876
+ The sale price.
1877
+ </xsd:documentation>
1878
+ </xsd:annotation>
1879
+ </xsd:element>
1880
+ <xsd:element name="auction" type="adf:AuctionType">
1881
+ <xsd:annotation>
1882
+ <xsd:documentation>
1883
+ Auction details if this listing is to be auctioned.
1884
+ </xsd:documentation>
1885
+ </xsd:annotation>
1886
+ </xsd:element>
1887
+ <xsd:element name="tender" type="adf:TenderType">
1888
+ <xsd:annotation>
1889
+ <xsd:documentation>
1890
+ Tender closing date if this listing is to be sold by tender.
1891
+ </xsd:documentation>
1892
+ </xsd:annotation>
1893
+ </xsd:element>
1894
+ <xsd:element name="expressionOfInterest" type="adf:ExpressionOfInterestType">
1895
+ <xsd:annotation>
1896
+ <xsd:documentation>
1897
+ Expression of interest closing date if this expressions of
1898
+ interest are being accepted for this listing.
1899
+ </xsd:documentation>
1900
+ </xsd:annotation>
1901
+ </xsd:element>
1902
+ </xsd:choice>
1903
+ <xsd:element minOccurs="0" name="investmentDetails" type="adf:InvestmentDetailsType"/>
1904
+ <xsd:element minOccurs="0" name="exhibitions" type="adf:ExhibitionsType"/>
1905
+ </xsd:sequence>
1906
+ <xsd:attribute name="saleStatus"
1907
+ type="adf:SaleStatusType" use="required">
1908
+ <xsd:annotation>
1909
+ <xsd:documentation>
1910
+ The current sale status of this listing. Either: for sale, under offer or sold.
1911
+ </xsd:documentation>
1912
+ </xsd:annotation>
1913
+ </xsd:attribute>
1914
+ <xsd:attribute name="salePrice" type="xsd:unsignedInt" use="optional">
1915
+ <xsd:annotation>
1916
+ <xsd:documentation>
1917
+ The price the listing sold for. The sale price must be provided upon marking the listing sold.
1918
+ </xsd:documentation>
1919
+ </xsd:annotation>
1920
+ </xsd:attribute>
1921
+ <xsd:attribute name="saleDate" type="xsd:date" use="optional">
1922
+ <xsd:annotation>
1923
+ <xsd:documentation>
1924
+ The date the listing sold. This should be the exchange date (the date the contracts were exchanged between vendor and buyer).
1925
+ Sale date must be provided upon marking the listing sold.
1926
+ </xsd:documentation>
1927
+ </xsd:annotation>
1928
+ </xsd:attribute>
1929
+ </xsd:extension>
1930
+ </xsd:complexContent>
1931
+ </xsd:complexType>
1932
+ <xsd:complexType name="ResidentialSaleListingType">
1933
+ <xsd:annotation>
1934
+ <xsd:documentation>
1935
+ A residential sale listing.
1936
+ </xsd:documentation>
1937
+ </xsd:annotation>
1938
+ <xsd:complexContent>
1939
+ <xsd:extension base="adf:SaleListingType">
1940
+ <xsd:sequence>
1941
+ <xsd:element name="propertyDetails" type="adf:ResidentialSalePropertyDetailsType"/>
1942
+ </xsd:sequence>
1943
+ </xsd:extension>
1944
+ </xsd:complexContent>
1945
+ </xsd:complexType>
1946
+ <xsd:complexType name="RuralSaleListingType">
1947
+ <xsd:annotation>
1948
+ <xsd:documentation>
1949
+ A rural sale listing.
1950
+ </xsd:documentation>
1951
+ </xsd:annotation>
1952
+ <xsd:complexContent>
1953
+ <xsd:extension base="adf:SaleListingType">
1954
+ <xsd:sequence>
1955
+ <xsd:element name="propertyDetails" type="adf:RuralSalePropertyDetailsType"/>
1956
+ </xsd:sequence>
1957
+ </xsd:extension>
1958
+ </xsd:complexContent>
1959
+ </xsd:complexType>
1960
+ <xsd:complexType name="CommercialSaleListingType">
1961
+ <xsd:annotation>
1962
+ <xsd:documentation>
1963
+ A commercial sale listing.
1964
+ </xsd:documentation>
1965
+ </xsd:annotation>
1966
+ <xsd:complexContent>
1967
+ <xsd:extension base="adf:SaleListingType">
1968
+ <xsd:sequence>
1969
+ <xsd:element name="propertyDetails" type="adf:CommercialSalePropertyDetailsType"/>
1970
+ </xsd:sequence>
1971
+ </xsd:extension>
1972
+ </xsd:complexContent>
1973
+ </xsd:complexType>
1974
+ <xsd:complexType name="BusinessSaleListingType">
1975
+ <xsd:annotation>
1976
+ <xsd:documentation>
1977
+ A business sale listing.
1978
+ </xsd:documentation>
1979
+ </xsd:annotation>
1980
+ <xsd:complexContent>
1981
+ <xsd:extension base="adf:SaleListingType">
1982
+ <xsd:sequence>
1983
+ <xsd:element name="businessCategory" type="xsd:string"/>
1984
+ <xsd:element name="takings" type="xsd:unsignedInt"/>
1985
+ <xsd:element name="franchise" type="xsd:boolean"/>
1986
+ <xsd:element name="propertyDetails" type="adf:BusinessSalePropertyDetailsType"/>
1987
+ </xsd:sequence>
1988
+ </xsd:extension>
1989
+ </xsd:complexContent>
1990
+ </xsd:complexType>
1991
+ <xsd:complexType name="ResidentialSalePropertyDetailsType">
1992
+ <xsd:complexContent>
1993
+ <xsd:extension base="adf:DwellingPropertyDetailsType">
1994
+ <xsd:sequence>
1995
+ <xsd:element name="propertyType" type="adf:ResidentialPropertyTypeType">
1996
+ <xsd:annotation>
1997
+ <xsd:documentation>
1998
+ The dwelling/property type.
1999
+ </xsd:documentation>
2000
+ </xsd:annotation>
2001
+ </xsd:element>
2002
+ <xsd:element minOccurs="0" name="features" type="adf:ResidentialSaleFeaturesType">
2003
+ <xsd:annotation>
2004
+ <xsd:documentation>
2005
+ A list of this properties features.
2006
+ </xsd:documentation>
2007
+ </xsd:annotation>
2008
+ </xsd:element>
2009
+ </xsd:sequence>
2010
+ </xsd:extension>
2011
+ </xsd:complexContent>
2012
+ </xsd:complexType>
2013
+ <xsd:complexType name="RuralSalePropertyDetailsType">
2014
+ <xsd:complexContent>
2015
+ <xsd:extension base="adf:DwellingPropertyDetailsType">
2016
+ <xsd:sequence>
2017
+ <xsd:element name="propertyType" type="adf:ResidentialPropertyTypeType">
2018
+ <xsd:annotation>
2019
+ <xsd:documentation>
2020
+ The dwelling/property type.
2021
+ </xsd:documentation>
2022
+ </xsd:annotation>
2023
+ </xsd:element>
2024
+ <xsd:element name="ruralCategory" type="adf:RuralCategoryType">
2025
+ <xsd:annotation>
2026
+ <xsd:documentation>
2027
+ The primary purpose of this rural property.
2028
+ </xsd:documentation>
2029
+ </xsd:annotation>
2030
+ </xsd:element>
2031
+ <xsd:element minOccurs="0" name="features" type="adf:RuralSaleFeaturesType">
2032
+ <xsd:annotation>
2033
+ <xsd:documentation>
2034
+ A list of this properties features.
2035
+ </xsd:documentation>
2036
+ </xsd:annotation>
2037
+ </xsd:element>
2038
+ </xsd:sequence>
2039
+ </xsd:extension>
2040
+ </xsd:complexContent>
2041
+ </xsd:complexType>
2042
+ <xsd:complexType name="CommercialSalePropertyDetailsType">
2043
+ <xsd:complexContent>
2044
+ <xsd:extension base="adf:SalePropertyDetailsType">
2045
+ <xsd:sequence>
2046
+ <xsd:element name="propertyType" type="adf:CommercialPropertyTypeType"/>
2047
+ <xsd:element minOccurs="0" name="features" type="adf:CommercialSaleFeaturesType">
2048
+ <xsd:annotation>
2049
+ <xsd:documentation>
2050
+ A list of this properties features.
2051
+ </xsd:documentation>
2052
+ </xsd:annotation>
2053
+ </xsd:element>
2054
+ </xsd:sequence>
2055
+ </xsd:extension>
2056
+ </xsd:complexContent>
2057
+ </xsd:complexType>
2058
+ <xsd:complexType name="BusinessSalePropertyDetailsType">
2059
+ <xsd:complexContent>
2060
+ <xsd:extension base="adf:SalePropertyDetailsType">
2061
+ <xsd:sequence>
2062
+ <xsd:element minOccurs="0" name="features" type="adf:CommercialSaleFeaturesType">
2063
+ <xsd:annotation>
2064
+ <xsd:documentation>
2065
+ A list of this business's features.
2066
+ </xsd:documentation>
2067
+ </xsd:annotation>
2068
+ </xsd:element>
2069
+ </xsd:sequence>
2070
+ </xsd:extension>
2071
+ </xsd:complexContent>
2072
+ </xsd:complexType>
2073
+ <xsd:complexType name="SalePriceType">
2074
+ <xsd:annotation>
2075
+ <xsd:documentation>
2076
+ The sale price may consist of a;
2077
+ <ul>
2078
+ <li>Only a lower price</li>
2079
+ <li>A price range defined by specifying the lower and upper prices</li>
2080
+ <li>A price with offers above defined by specifying the lower and offersAbove</li>
2081
+ <li>A displayed price which is a arbitrary description of price. ie; "Make us an offer".
2082
+ Any of the above may also be specified when specifying a displayed price, however, they
2083
+ will not be publicly visible.</li>
2084
+ </ul>
2085
+ </xsd:documentation>
2086
+ </xsd:annotation>
2087
+ <xsd:sequence>
2088
+ <xsd:element minOccurs="0" name="lower" type="xsd:unsignedInt"/>
2089
+ <xsd:element minOccurs="0" name="offersAbove" type="xsd:boolean"/>
2090
+ <xsd:element minOccurs="0" name="upper" type="xsd:unsignedInt"/>
2091
+ <xsd:element minOccurs="0" name="priceText" type="xsd:string">
2092
+ <xsd:annotation>
2093
+ <xsd:documentation>
2094
+ The price text field is added later it is different from the displayed price as it is an actual price in addition to the lower/upper prices. E.g. "Mid to high $700's".
2095
+ </xsd:documentation>
2096
+ </xsd:annotation>
2097
+ </xsd:element>
2098
+ <xsd:element minOccurs="0" name="displayedPrice" type="xsd:string"/>
2099
+ </xsd:sequence>
2100
+ <xsd:attribute name="isPricePublicVisible" type="xsd:boolean" use="optional">
2101
+ <xsd:annotation>
2102
+ <xsd:documentation>
2103
+ Describes a business rule regarding whether the price should be displayed to customers.
2104
+ If this attribute is not specified, public visibility is assumed to be true.
2105
+ </xsd:documentation>
2106
+ </xsd:annotation>
2107
+ </xsd:attribute>
2108
+ </xsd:complexType>
2109
+ <xsd:simpleType name="SaleStatusType">
2110
+ <xsd:annotation>
2111
+ <xsd:documentation>
2112
+ The listings sale status. Either: for sale, under offer or sold.
2113
+ </xsd:documentation>
2114
+ </xsd:annotation>
2115
+ <xsd:restriction base="xsd:string">
2116
+ <xsd:enumeration value="forSale"/>
2117
+ <xsd:enumeration value="underOffer"/>
2118
+ <xsd:enumeration value="sold"/>
2119
+ <xsd:enumeration value="potentialListing"/>
2120
+ <xsd:enumeration value="appraisal"/>
2121
+ <xsd:enumeration value="withdrawn"/>
2122
+ </xsd:restriction>
2123
+ </xsd:simpleType>
2124
+ <xsd:simpleType name="SaleAuthorityType">
2125
+ <xsd:annotation>
2126
+ <xsd:documentation>
2127
+ The sale authority defines who can sell the listing.
2128
+ <ul>
2129
+ <li>Exclusive - One agency has exclusive rights to sell the listing.</li>
2130
+ <li>Multi - Mulitple agencies have the right to sell the listing.</li>
2131
+ <li>Open - Any party may sell the listing.</li>
2132
+ </ul>
2133
+ </xsd:documentation>
2134
+ </xsd:annotation>
2135
+ <xsd:restriction base="xsd:string">
2136
+ <xsd:enumeration value="exclusive"/>
2137
+ <xsd:enumeration value="multi"/>
2138
+ <xsd:enumeration value="open"/>
2139
+ </xsd:restriction>
2140
+ </xsd:simpleType>
2141
+ </xsd:schema>