allhomes_xml 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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>