Schema Name: IDX.xsd
Target Namespace: http://rets.org/xsd/IDX/2007-08
Documentation:
Elements related to listing IDX documents.
Collapse XSD Schema Code:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:idx="http://rets.org/xsd/IDX/2007-08" targetNamespace="http://rets.org/xsd/IDX/2007-08" elementFormDefault="qualified" attributeFormDefault="unqualified">

	<!--
		(C)2007 National Association of REALTORS(R). All Rights Reserved

		Tab stops
		:set ts=3

		File History
		======================
		$Header: IDX.xsd, 20, 2/21/08 2:32:26 PM EST, Gina Accawi$
		

		$Log:
		 20   055_RETS_Standard 1.19        2/21/08 2:32:26 PM EST Gina Accawi
		      Significant changes to update the Properties portion of the IDX
		      payload to more accurately reflect the current Properties schema.
		      Added annotation documentation to include the XPath to the Properties
		      element each IDX element maps to in the Properties schema
		 19   055_RETS_Standard 1.18        2/6/08 10:26:19 AM EST Gina Accawi
		      Significant changes to update the Listings portion of the IDX payload
		      to more accurately reflect the current Listings schema. Added
		      annotation documentation to include the XPath to the Listing element
		      each IDX element maps to in the Listing schema.
		 18   055_RETS_Standard 1.17        1/24/08 2:30:33 PM EST Paul Stusiak
		      correct copyright notice language
		 17   055_RETS_Standard 1.16        10/8/07 4:22:12 PM EDT Paul Stusiak
		      Update version timestamp
		 16   055_RETS_Standard 1.15        7/9/07 3:37:04 PM EDT  Paul Stusiak
		      Update versionTimestamp to 2007-07-09T19:21:00Z
		 15   055_RETS_Standard 1.14        7/5/07 8:58:14 PM EDT  Paul Stusiak
		      use pattern of xs:nonNegativeInteger for elements or types with a name
		       <Property.Total> and a data type of decimal or integer
		 14   055_RETS_Standard 1.13        6/26/07 3:40:29 PM EDT Gina Accawi
		      Rename Agent to Member. This affects namespaces, element names, type
		      references, and attribute names.
		 13   055_RETS_Standard 1.12        6/26/07 2:59:37 PM EDT Gina Accawi
		      Rename items that are TotalBlah to BlahTotal for consistency
		      throughout.
		 12   055_RETS_Standard 1.11        5/2/07 4:12:35 PM EDT  Paul Stusiak
		      change namespace reference, clean up unused imports, continue relaxing
		       the type information, update version time stamp
		 11   055_RETS_Standard 1.10        4/3/07 7:59:29 PM EDT  Paul Stusiak
		      use url resolution for include, import to test schema validation
		 10   055_RETS_Standard 1.9         4/3/07 4:43:56 AM EDT  Paul Stusiak
		      change namespace to remote location (www.ftc2.com) for testing
		 9    055_RETS_Standard 1.8         4/2/07 2:26:54 PM EDT  Paul Stusiak
		      change namespace to match responding server and to use the URI
		      versioning suggested by both HP and XFront
		 8    055_RETS_Standard 1.7         3/30/07 9:20:29 PM EDT Paul Stusiak
		      Update of the versionTimestamp and the namespace (namespace to
		      200704). Change formating to a standard format
		 7    055_RETS_Standard 1.6         3/28/07 5:09:32 PM EDT Gina Accawi
		      Split shallow and deep IDX into two separate files. Add root level IDX
		       element.
		 6    055_RETS_Standard 1.5         3/8/07 3:22:00 PM EST  Paul Stusiak
		      Change Property -> Properties, Listing -> Listings namespace
		      reference.
		 5    055_RETS_Standard 1.4         3/8/07 1:47:33 AM EST  Paul Stusiak
		      Clean up the project information for the purposes of document
		      generation.
		 4    055_RETS_Standard 1.3         3/6/07 3:25:46 PM EST  Paul Stusiak
		      change ID to Id across files, fixed import statement, change YearBuilt
		       type to SecureYear.
		 3    055_RETS_Standard 1.2         2/28/07 3:52:12 AM EST Paul Stusiak
		      add standard header and refactoring RETSCommons changes
		 2    055_RETS_Standard 1.1         2/22/07 6:34:47 PM EST Gina Accawi
		      Remove all references to the schemaLocation as being
		      http://retsserver.realtors.org:8080/xsd/.  These references have been
		      changed to be relative path (as the current directory). Now,
		      regardless of where they are published, the referential internal
		      integrity will remain. The assumption is that these will all reside as
		       neighbors on the target distribution server.
		 1    055_RETS_Standard 1.0         12/20/06 3:32:46 PM ESTJeff Brush      
		$
		======================
	-->

	<xs:annotation>
		<xs:documentation>
			<xs:documentation>
			Elements related to listing IDX documents.
		</xs:documentation>
		</xs:documentation>
	</xs:annotation>

	<xs:complexType name="IDXType">
		<xs:sequence>
			<xs:element name="ListingKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingKey</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingId" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingId</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MLSOperatorId" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MLSOperator/MLSOperatorId</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MLSOperatorName" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MLSOperator/MLSOperatorName</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingCategory" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingCategory</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingRetsStatus" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingStatus/RetsStatus</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="isAcceptingOffers" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingStatus/isAcceptingOffers</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingEntryDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/ListingEntryDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingContractDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/ListingContractDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ClosingDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/ClosingDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OffMarketDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/OffMarketDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CancelledDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/CancelledDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="WithdrawnDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/WithdrawnDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PendingDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/PendingDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="StatusChangeDateTime" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/StatusChangeDateTime</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DaysOnMarket" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/DaysOnMarket</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CumulativeDaysOnMarket" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingDates/CumulativeDaysOnMarket</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListPrice" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingPricing/ListPrice</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="OriginalListPrice" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingPricing/OriginalListPrice</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListPriceHigh" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingPricing/ListPriceHigh</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListPriceLow" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingPricing/ListPriceLow</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ClosePrice" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingPricing/ClosePrice</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PendingPrice" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingPricing/PendingPrice</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingAgreement" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingAgreement</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MLSArea" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MLSArea/MajorArea</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PermitInternet" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MarketingInformation/PermitInternet</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PermitAddressOnInternet" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MarketingInformation/PermitAddressOnInternet</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PermitPictureOnInternet" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MarketingInformation/PermitPictureOnInternet</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PermitSignOnProperty" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MarketingInformation/PermitSignOnProperty</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="HasSignOnProperty" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/MarketingInformation/HasSignOnProperty</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="PublicRemarks" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/Remarks/PublicRemarks</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="CopyrightNotice" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/CopyrightNotice</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingOfficeKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingOffices/ListingOffice/OfficeKey</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingOfficeId" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingOffices/ListingOffice/OfficeId</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingOfficeName" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingOffices/ListingOffice/OfficeName</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingOfficePhone" type="xs:string">
				<xs:annotation>
					<xs:documentation>Our Phone is under ContactMethods and will have to be constructed from the parts.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingMemberKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingParticipants/Participant[Role='Listing']/Member/MemberKey</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingMemberId" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingParticipants/Participant[Role='Listing']/Member/@memberId</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingMemberFullName" type="xs:string">
				<xs:annotation>
					<xs:documentation>This has to be constructed as well from the Person name items</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingMemberPhone" type="xs:string">
				<xs:annotation>
					<xs:documentation>This has to be constructed as well from the ContactMethods Phone items</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ListingMemberEmail" type="xs:string">
				<xs:annotation>
					<xs:documentation>Listing/ListingParticipants/Participant[Role='Listing']/Member/Person/ContactMethods/Email/EmailAddress</xs:documentation>
				</xs:annotation>
			</xs:element>
			<!-- Property elements begin here. -->

			<xs:element name="PropertyKey" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PropertyKey</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="PropertyType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PropertyType</xs:documentation>
				</xs:annotation>			
			</xs:element>
			<xs:element name="PropertySubType" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PropertySubType</xs:documentation>
				</xs:annotation>			
			</xs:element>
			<xs:element name="StreetNumber" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/StreetNumber</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="StreetDirPrefix" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/StreetDirPrefix</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="StreetName" type="xs:string">				
				<xs:annotation>
					<xs:documentation>Property/Address/StreetName</xs:documentation>
				</xs:annotation>	
			</xs:element>
			<xs:element name="StreetSuffix" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/StreetSuffix</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="StreetAdditionalInfo" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/StreetAdditionalInfo</xs:documentation>
				</xs:annotation>	
			</xs:element>
			<xs:element name="BoxNumber" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/BoxNumber</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="UnitNumber" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/UnitNumber</xs:documentation>
				</xs:annotation>	
			</xs:element>
			<xs:element name="FullStreetAddress" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/FullStreetAddress</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="City" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/City</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="StateOrProvince" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/StateOrProvince</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="PostalCode" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/PostalCode</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="Country" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Address/Country</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="County" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/County</xs:documentation>
				</xs:annotation>	
			</xs:element>
			<xs:element name="AreaTotal" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/AreaTotal</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="PhotoCount" type="xs:integer">
				<xs:annotation>
					<xs:documentation>count(Listing/MediaItems/MediaItem)</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="PhotoTimestamp" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Could not find modification timestamp for photos...</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="BedsTotal" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PublicRecord/Characteristics/BedsTotal</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="BathsTotal" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PublicRecord/Characteristics/BathsTotal</xs:documentation>
				</xs:annotation>				
			</xs:element>			
			<xs:element name="LandArea" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PublicRecord/Characteristics/LotArea</xs:documentation>
				</xs:annotation>				
			</xs:element>		
			<xs:element name="YearBuilt" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PublicRecord/Characteristics/YearBuilt</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="Style" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PublicRecord/Characteristics/Style</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="Subdivision" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Community/Subdivision</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="SchoolDistrict" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/PublicRecord/Location/SchoolDistrict</xs:documentation>
				</xs:annotation>					
			</xs:element>
			<xs:element name="ElementarySchool" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Community/Schools/School[SchoolCategory = 'Primary' or SchoolCategory = 'Elementary']/Name</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="MiddleSchool" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Community/Schools/School[SchoolCategory = 'High' or SchoolCategory = 'Secondary']/Name</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="HighSchool" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Community/Schools/School[SchoolCategory = 'High' or SchoolCategory = 'Secondary']/Name</xs:documentation>
				</xs:annotation>				
			</xs:element>			
			<xs:element name="ParkingTotal" type="xs:string">
				<xs:annotation>
					<xs:documentation>Property/Lot/Parking/PropertyParking/ParkingTotal</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="ShowingAppointmentPhone" type="xs:string">
				<xs:annotation>
					<xs:documentation>concat(Listing/Showing/ShowingInformation/AppointmentPhoneNumber[phone-preference-order = 1]/area-code, Listing/Showing/ShowingInformation/AppointmentPhoneNumber[phone-preference-order = 1]/local-number)</xs:documentation>
				</xs:annotation>				
			</xs:element>
			<xs:element name="ShowingContact" type="xs:string">
				<xs:annotation>
					<xs:documentation>concat(Listing/Showing/ShowingInformation/Contact/Person/FirstName, Listing/Showing/ShowingInformation/Contact/Person/LastName)</xs:documentation>
				</xs:annotation>				
			</xs:element>
		</xs:sequence>
		<xs:attribute name="versionTimestamp" type="xs:dateTime" use="required" fixed="2007-10-08T16:27:23Z"/>
	</xs:complexType>

	<!-- Element -->
	<xs:element name="IDX" type="idx:IDXType"/>
</xs:schema>
Collapse ComplexTypes:
Collapse Elements: