trulia dev guide
TRANSCRIPT
Property Listings Submission Rental and For Sale Listings
Version 1.32. Last Updated 10/13/2010
1
XML Specification
1
PREFACEThis document defines the XML syntax required by Trulia’s search engine for property listing submissions.
Intended AudienceThis guide assumes that its readers: • Are experienced web or application developers • Are familiar with XML • Have a background in the Real Estate industry
Organization of This DocumentThis document is organized as follows:
Chapter 1 - IntroductionExplains what Trulia does, how Trulia does it and why you should use the XML Feed for syndicating your property listings to Trulia.
Chapter 2 - XML Feed SpecificationExplains the different XML elements that are included within Trulia’s data feed.
Chapter 3 - Element DescriptionsProvides additional information regarding specific elements.
Chapter 4 - Sample XMLProvides an example of how a complete feed should look.
Chapter 5 - Feed Development ChecklistProvides an overview of the key aspects to consider before submitting your feed to Trulia.
How to Contact Customer SupportFor problems or questions in regards to submitting your data feed, contact our Customer Support team at [email protected].
2
INTRODUCTION About TruliaTrulia is a broker friendly real estate search engine helping the country’s leading franchise and independent brokers promote their listings online. Examples of real estate organi-zations working with Trulia include ERA/Realogy, Weichert, Long & Foster, Realty Executives International, Prudential Fox & Roach, RE/MAX Equity Group, Alain Pinel, Intero Real Estate and many more. Read from Trulia testimonials (http://www.trulia.com/testimonials/) why brokers like the Trulia business model!
How Trulia’s Data Cycle WorksTrulia currently runs its data cycle once per day. At a very high level, the data cycle progresses through the following steps on its way to completion:
1. Gathering of property listings2. Downloading photos for new listings 3. Normalizing the listing data4. Merging duplicate listings5. Assigning priorities to listings6. Filtering invalid listings7. Downloading photos for new listings8. Pushing listings to the live website
Data Delivery MethodsTrulia has the ability to process feeds that are stored on either a web server or an FTP server. So, after you have configured your system to generate a feed on a daily basis, you will want to submit the information to Trulia for inclusion. You can do this by completing the form athttp://www.trulia.com/submit_listings/feed.
Handling Illegal XML CharactersWhen an XML element is parsed, all of the text within the XML tags is also parsed. This is done because it is possible, and highly likely, that the text will contain other XML elements. Because of this, there are certain characters that are deemed illegal since they will be misinterpreted by the XML parser. To avoid causing the XML parser to break, there are two preferred methods:
Entity ReferenceReplace the characters with their corresponding entity reference:
For example, the following is an incorrect way to include an ampersand:<example>Brokers & Agents</example>
The correct method is:<example>Brokers & Agents</example>
CDATA SectionEnclose the tag value within a CDATA section. A CDATA section begins with “<![CDATA[” and ends with “]]>”:
Entity Reference Illegal Character Description of Character
< < Less Than
> > Greater Than& & Ampersand' ‘ Apostrophe" “ Quotation Mark
Condition Example
Without CDATA <example>this is the value</ex-ample>
With CDATA <example><![CDATA[this is the value]]></example>
CHAPTER 1:
3
<properties> <property> <location> <unit-number></unit-number> <street-address></street-address> <city-name></city-name> <zipcode></zipcode> <county></county> <state-code></state-code> <street-intersection></street-intersection> <parcel-id></parcel-id> <building-name></building-name> <subdivision></subdivision> <neighborhood-name></neighborhood-name> <neighborhood-description></neighborhood-description> <elevation></elevation> <longitude></longitude> <latitude></latitude> <geocode-type>(exact | offset | approximate)</geocode-type> <display-address>(yes|no)</display-address> <directions></directions> </location> <details> <listing-title></listing-title> <price></price> <year-built></year-built> <num-bedrooms></num-bedrooms> <num-full-bathrooms></num-full-bathrooms> <num-half-bathrooms></num-half-bathrooms> <num-bathrooms></num-bathrooms> <lot-size></lot-size> <living-area-square-feet></living-area-square-feet> <date-listed></date-listed> <date-available></date-available> <date-sold></date-sold> <sale-price></sale-price> <property-type>(apartment/condo/townhouse | condo | townhouse | coop | apartment | loft | tic | mobile/manufactured | farm/ranch | multi-family | income/investment | houseboat | lot/land | single-family home)</property-type> <description></description> <mlsId></mlsId> <mlsName></mlsName> <provider-listingid></provider-listingid> </details> <landing-page> <lp-url></lp-url> </landing-page> <listing-type>(resale | foreclosure | new home | rental)</listing-type> <status>(for rent | for sale | pending | active contingent | sold | withdrawn)</status> <foreclosure-status>(notice of default (pre-foreclosure) | lis pendens (pre-foreclosure) | notice of trustee sale (auction) | notice of foreclosure sale (auction)| reo - bank owned )</foreclosure-status>
XML FEED SPECIFICATIONCHAPTER 2:
4
<site> <site-url></site-url> <site-name></site-name> </site> <rental-terms> <price-term>(night | week | month | year)</price-term> <rental-type>(standard | corporate | senior | military | campus | market rate apt | condominium | cooperative | assisted living | subsidized | nursing home | student | vacation | other)</rental-type> <lease-type>(sublet | month-to-month | annual | bi-annual)</lease-type> <lease-min-length-months></lease-min-length-months> <lease-max-length-months></lease-max-length-months> <lease-periods> <lease-period></lease-period> </lease-periods> <lease-details></lease-details> <security-deposit></security-deposit> <security-deposit-description></security-deposit-description> <application-fee></application-fee> <application-fee-description></application-fee-description> <credit-cards-accepted>(yes|no)</credit-cards-accepted> <credit-cards> <credit-card>(visa | mastercard | discover| american express | other) </credit-card><!-- repeatable tag --> </credit-cards> <pets> <small-dogs-allowed>(yes|no)</small-dogs-allowed> <large-dogs-allowed>(yes|no)</large-dogs-allowed> <cats-allowed>(yes|no)</cats-allowed> <pet-other-allowed>(yes|no)</pet-other-allowed> <max-pets></max-pets> <pet-deposit></pet-deposit> <pet-fee></pet-fee> <pet-rent></pet-rent> <pet-weight></pet-weight> <pet-comments> <pet-comment></pet-comment> </pet-comments> </pets> <utilities-included> <landlord-pays-aircon>(yes|no)</landlord-pays-aircon> <landlord-pays-broadbandinternet>(yes|no)</landlord-pays-broadbandinternet> <landlord-pays-cable>(yes|no)</landlord-pays-cable> <landlord-pays-electric>(yes|no)</landlord-pays-electric> <landlord-pays-gas>(yes|no)</landlord-pays-gas> <landlord-pays-heat>(yes|no)</landlord-pays-heat> <landlord-pays-hotwater>(yes|no)</landlord-pays-hotwater> <landlord-pays-satellite>(yes|no)</landlord-pays-satellite> <landlord-pays-sewer>(yes|no)</landlord-pays-sewer> <landlord-pays-telephone>(yes|no)</landlord-pays-telephone> <landlord-pays-trash>(yes|no)</landlord-pays-trash> <landlord-pays-water>(yes|no)</landlord-pays-water> <landlord-utilities-portion-included></landlord-utilities-portion-included> <utilities-comments> <utilities-comment></utilities-comment> </utilities-comments> </utilities-included> <property-manager-on-site>(yes|no)</property-manager-on-site> <rent-control>(yes|no)</rent-control> <subletting-allowed>(yes|no)</subletting-allowed> </rental-terms>
5
<pictures> <picture><!-- repeatable tag group--> <picture-url></picture-url> <picture-caption></picture-caption> <picture-description></picture-description> <picture-seq-number></picture-seq-number> </picture> </pictures> <virtual-tours> <virtual-tour><!-- repeatable tag group --> <virtual-tour-url></virtual-tour-url> <virtual-tour-caption></virtual-tour-caption> <virtual-tour-description></virtual-tour-description> <virtual-tour-seq-number></virtual-tour-seq-number> </virtual-tour> </virtual-tours> <videos> <video><!-- repeatable tag group --> <video-url></video-url> <video-caption></video-caption> <video-description></video-description> <video-seq-number></video-seq-number> </video> </videos> <floorplan-layouts> <floorplan-layout> <floorplan-layout-url></floorplan-layout-url> <floorplan-layout-caption></floorplan-layout-caption> <floorplan-layout-description></floorplan-layout-description> <floorplan-layout-seq-number></floorplan-layout-seq-number> </floorplan-layout> </floorplan-layouts> <agent> <agent-name></agent-name> <agent-phone></agent-phone> <agent-email></agent-email> <agent-alternate-email></agent-alternate-email> <agent-picture-url></agent-picture-url> <agent-id></agent-id> </agent> <brokerage> <brokerage-name></brokerage-name> <brokerage-broker-name></brokerage-broker-name> <brokerage-id></brokerage-id> <brokerage-mls-code></brokerage-mls-code> <brokerage-phone></brokerage-phone> <brokerage-email></brokerage-email> <brokerage-website></brokerage-website> <brokerage-logo-url></brokerage-logo-url> <brokerage-address> <brokerage-street-address></brokerage-street-address> <brokerage-city-name></brokerage-city-name> <brokerage-zipcode></brokerage-zipcode> <brokerage-state-code></brokerage-state-code> </brokerage-address> </brokerage> <office> <office-name></office-name> <office-id></office-id> <office-mls-code></office-mls-code> <office-broker-id></office-broker-id> <office-phone></office-phone>
6
<office-email></office-email> <office-website></office-website> </office> <franchise> <franchise-name></franchise-name> <franchise-phone></franchise-phone> <franchise-email></franchise-email> <franchise-website></franchise-website> <franchise-logo-url></franchise-logo-url> </franchise> <builder> <builder-id></builder-id> <builder-name></builder-name> <builder-phone></builder-phone> <builder-email></builder-email> <builder-lead-email></builder-lead-email> <builder-website></builder-website> <builder-logo-url></builder-logo-url> <builder-address> <builder-street-address></builder-street-address> <builder-city-name></builder-city-name> <builder-zipcode></builder-zipcode> <builder-state-code></builder-state-code> </builder-address> </builder> <property-manager> <property-manager-name></property-manager-name> <property-management-company-name></property-management-company-name> <property-manager-office-hours> <office-day><!-- repeatable tag group --> <day-of-the-week>(sun | mon | tue | wed | thu | fri | sat)</day-of-the-week> <office-start-time></office-start-time> <office-end-time></office-end-time> <comment></comment> </office-day> </property-manager-office-hours> <property-manager-phone></property-manager-phone> <property-manager-email></property-manager-email> <property-manager-lead-email></property-manager-lead-email> <property-manager-website></property-manager-website> <property-manager-logo-url></property-manager-logo-url> </property-manager> <community> <community-building></community-building> <community-id></community-id> <community-name></community-name> <community-phone></community-phone> <community-email></community-email> <community-fax></community-fax> <community-description></community-description> <community-website></community-website> <community-address> <community-street-address></community-street-address> <community-city-name></community-city-name> <community-zipcode></community-zipcode> <community-state-code></community-state-code> </community-address> <building-amenities> <building-amenity> </building-amenity><!-- repeatable tag group --> </building-amenities> <community-amenities> <community-amenity></community-amenity><!-- repeatable tag group -->
7
</community-amenities> </community> <plan> <plan-id></plan-id> <plan-name></plan-name> <plan-type></plan-type> <plan-base-price>(yes|no)</plan-base-price> </plan> <spec> <is-spec-home>(yes|no)</is-spec-home> <spec-id></spec-id> </spec> <open-home> <period1-date></period1-date> <period1-start-time></period1-start-time> <period1-end-time></period1-end-time> <period1-details></period1-details> <period2-date></period2-date> <period2-start-time></period2-start-time> <period2-end-time></period2-end-time> <period2-details></period2-details> <period3-date></period3-date> <period3-start-time></period3-start-time> <period3-end-time></period3-end-time> <period3-details></period3-details> <period4-date></period4-date> <period4-start-time></period4-start-time> <period4-end-time></period4-end-time> <period4-details></period4-details> </open-home> <taxes> <tax><!-- repeatable tag group--> <tax-type></tax-type> <tax-year></tax-year> <tax-amount></tax-amount> <tax-description></tax-description> </tax> </taxes> <hoa-fees> <hoa-fee></hoa-fee> <hoa-period>(monthly | annual)</hoa-period> <hoa-description></hoa-description> </hoa-fees> <additional-fees> <fee><!-- repeatable tag group--> <fee-type></fee-type> <fee-amount></fee-amount> <fee-period></fee-period> <fee-description></fee-description> </fee> </additional-fees> <schools> <school-district> <elementary></elementary> <middle></middle> <juniorhigh></juniorhigh> <high></high> <district-name></district-name> <district-website></district-website> <district-phone-number></district-phone-number> </school-district> </schools>
8
<detailed-characteristics> <appliances> <has-washer>(yes|no)</has-washer> <has-dryer>(yes|no)</has-dryer> <has-dishwasher>(yes|no)</has-dishwasher> <has-refrigerator>(yes|no)</has-refrigerator> <has-disposal>(yes|no)</has-disposal> <has-microwave>(yes|no)</has-microwave> <range-type>(gas | electric | other)</range-type> <additional-appliance><!-- repeatable tag group. List each individually--> <additional-appliance-name></additional-appliance-name> <additional-appliance-description></additional-appliance-description> </additional-appliance> <appliances-comments></appliances-comments> </appliances> <cooling-systems> <has-air-conditioning>(yes|no)</has-air-conditioning> <has-ceiling-fan>(yes|no)</has-ceiling-fan> <other-cooling></other-cooling> </cooling-systems> <heating-systems> <has-fireplace>(yes|no)</has-fireplace> <fireplace-type>(gas | wood | electric | decorative)</fireplace-type> <heating-system>(gas | electric | radiant | other)</heating-system> <heating-fuel>(coal | oil | gas | electric | propane | butane | solar | woodpellet | other | none)</heating-fuel> </heating-systems> <floor-coverings></floor-coverings> <total-unit-parking-spaces></total-unit-parking-spaces> <has-garage>(yes|no)</has-garage> <garage-type>(attached | detached)</garage-type> <parking-types> <parking-type>(surface lot | garage lot | covered lot | street | carport | none | other)</parking-type> </parking-types> <has-assigned-parking-space>(yes|no)</has-assigned-parking-space> <parking-space-fee>(free | paid | both)</parking-space-fee> <assigned-parking-space-cost></assigned-parking-space-cost> <parking-comment></parking-comment> <foundation-type></foundation-type> <roof-type></roof-type> <architecture-style></architecture-style> <exterior-type></exterior-type> <room-count></room-count> <rooms> <room><!-- repeatable tag group. List each individually--> <room-type></room-type> <room-size></room-size> <room-description></room-description> </room> </rooms> <year-updated></year-updated> <total-units-in-building></total-units-in-building> <total-floors-in-building></total-floors-in-building> <num-floors-in-unit></num-floors-in-unit> <has-attic>(yes|no)</has-attic> <has-balcony>(yes|no)</has-balcony> <has-barbeque-area>(yes|no)</has-barbeque-area> <has-basement>(yes|no)</has-basement> <has-cable-satellite>(yes|no)</has-cable-satellite> <has-courtyard>(yes|no)</has-courtyard> <has-deck>(yes|no)</has-deck>
9
<has-disabled-access>(yes|no)</has-disabled-access> <has-dock>(yes|no)</has-dock> <has-doublepane-windows>(yes|no)</has-doublepane-windows> <has-garden>(yes|no)</has-garden> <has-gated-entry>(yes|no)</has-gated-entry> <has-greenhouse>(yes|no)</has-greenhouse> <has-handrails>(yes|no)</has-handrails> <has-hot-tub-spa>(yes|no)</has-hot-tub-spa> <has-intercom>(yes|no)</has-intercom> <has-jetted-bath-tub>(yes|no)</has-jetted-bath-tub> <has-lawn>(yes|no)</has-lawn> <has-mother-in-law>(yes|no)</has-mother-in-law> <has-patio>(yes|no)</has-patio> <has-pond>(yes|no)</has-pond> <has-pool>(yes|no)</has-pool> <has-porch>(yes|no)</has-porch> <has-private-balcony>(yes|no)</has-private-balcony> <has-private-patio>(yes|no)</has-private-patio> <has-rv-parking>(yes|no)</has-rv-parking> <has-sauna>(yes|no)</has-sauna> <has-security-system>(yes|no)</has-security-system> <has-skylight>(yes|no)</has-skylight> <has-sportscourt>(yes|no)</has-sportscourt> <has-sprinkler-system>(yes|no)</has-sprinkler-system> <has-terrace>(yes|no)</has-terrace> <has-vaulted-ceiling>(yes|no)</has-vaulted-ceiling> <has-view>(yes|no)</has-view> <has-washer-dryer-hookup>(yes|no)</has-washer-dryer-hookup> <has-wet-bar>(yes|no)</has-wet-bar> <has-window-coverings>(yes|no)</has-window-coverings> <building-has-concierge>(yes|no)</building-has-concierge> <building-has-doorman>(yes|no)</building-has-doorman> <building-has-elevator>(yes|no)</building-has-elevator> <building-has-fitness-center>(yes|no)</building-has-fitness-center> <building-has-on-site-maintenance>(yes|no)</building-has-on-site-maintenance> <is-waterfront>(yes|no)</is-waterfront> <other-amenities> <other-amenity></other-amenity> </other-amenities> <furnished>(yes|no)</furnished> <view-type></view-type> </detailed-characteristics> <advertise-with-us> <channel></channel> <featured>(yes|no)</featured> <branded>(yes|no)</branded> <branded-logo-url></branded-logo-url> </advertise-with-us> </property></properties>
10
Repeatable Tag
are marked “repeatable tag”. These tags can have multiple instances with different values.
For example, if a property has street parking as well as covered parking, you would specify it like this in the XML feed:
<parking-types>
<parking-type>Street</parking-type>
<parking-type>Covered</parking-type>
</parking-types>
Boolean TagsAll the tags that start with “has” or “is” have a value of “yes” or “no”. For example:
<has-patio>yes</has-patio> <is-cable-ready> no</is-cable-ready>
Please leave blank if the value is unknown.
Multiple PicturesTrulia displays multiple photos for each property and we encourage you to submit multiple photos in the feed. It should be noted that we will display the photos in the order of the picture sequence number. If no sequence number is pro-
vided pictures will be displayed in the order they are received of the house displaying on Trulia, make sure that is picture sequence number 1.
ELEMENT DESCRIPTIONS
<pictures> <picture> <picture-url>http://www.domain.com/path/to/image_1.jpg</picture-url> <picture-caption>Street view</picture-caption> <picture-description>Professional landscaping highlights the curb appeal.</picture-description> <picture-seq-number>1</picture-seq-number> </picture> <picture> <picture-url> http://www.domain.com/path/to/image_2.jpg</picture-url> <picture-caption>Kitchen</picture-caption> <picture-description>The kitchen was remodeled in 2009 with granite countertops and stainless steel appliances</picture-description> <picture-seq-number>2</picture-seq-number> </picture></pictures>
CHAPTER 3:
1211
Half BathroomsProperly handling half bathrooms is essential to maintaining a high standard of data quality. So Trulia offers two different approaches for sup-plying bathroom information. For the sake of this example, let’s say the property has two full bathrooms and one half bathroom.
The preferred method is to list the number of full and half bathrooms separately. Example: <num-full-bathrooms>2</num-full-bathrooms><num-half-bathrooms>1</num-half-bathrooms>
However, if the source has a single bathroom field, a single bathroom may be used in the Trulia feed. Example:<num-bathrooms>2.5</num-bathrooms>
Please note that this method breaks down when a property contains more than one half bathroom. By adding another “.5” to the total, the value will incorrectly go to “3”.
12
Element DictionaryThe majority of the elements contained within Trulia’s XML feed specification are self explanatory, but for those that may be ambiguous, the following list is provided.
Element Required Format Section Description
branded No boolean advertise-with-usbe branded on Trulia’s site.
NOTE: this is a paid advertising opportunity that will place a logo next to the property everywhere it is displayed on Trulia’s website. Please contact [email protected] to learn more.
branded-logo-url No URL advertise-with-us A URL to the logo to be used for the
channel No string advertise-with-us The name of a campaign being run. This acts as a tracking mechanism if certain properties are being branded and/or featured because of a promotion/test that the broker or agent is running.
featured No boolean advertise-with-usbe featured in Trulia’s search results.
NOTE: this is a paid placement into the top locations on Trulia’s search results pages. Please contact [email protected] to learn more.
agent-alernate-email
No email agent Alternate email for agent OR if a lead router is used in <agent-email> provide agent's email address here
agent-email No email agent Email address to send leads toagent-id No string agentbrokerage-bro-ker-name
No string brokerage The name of the listing broker
brokerage-name No string brokerage The DBA of the listing brokerage companybuilding-amenity No string community.building-
amenitiesBuilding amenities listed individually in repeat-ing tags
community-ame-nity
No string community.commu-nity-amenities
Community amenities listed individually in repeating tags
13
Element Required Format Location Description
architecture-style No string detailed-character-istics
Recommended Values:• A-Frame• Bungalow• Colonial• Contemporary• Cottage• Custom• Dome• High-rise• Historical• Log Cabin• Mansion• Mediterranean• Other• Prefab/Modular• Ranch• Spanish• Victorian
exterior-type No string detailed-character-istics
Recommended Values:• Adobe• Asbestos Shingle• Brick• Brick Veneer• Block• Concrete• Concrete Block• Glass• Log• Marble• Masonry• Metal• Other• Rock/Stone• Stucco• Tile• Wood
foundation-type No string detailed-character-istics
Recommended Values:• Concrete• Concrete Block• Raised• Crossed Walls• Earth• Footing• Other• Piers• Piling• Slab• Stone• Wood
garage-type No enumerated detailed-character-istics
Recommended Values:• Attached• Detached
14
Element Required Format Location Description
roof-type No string detailed-character-istics
Recommended Values:• Aluminium• Asbestos• Asphalt• Bermuda• Concrete• Composition Shingle• Gravel/Rock• Masonite/Cement Shake• Metal• Other• Slate• Steel• Tar and Gravel• Tile• Urethane• Wood
appliances-de-scription
No string detailed-character-istics.appliances
Text string for information about the appli-ances in the property
range-type No enumerated detailed-character-istics.appliances
Acceptable Values:• gas• electric• other
additional-appli-ance
No string detailed-character-istics.appliances.additional-appli-ances
Additional appliances listed individually in repeating tags
fireplace-type No enumerated detailed-charac-teristics.heating-systems
Recommended values: gas, wood, electric, decorative
room No string detailed-character-istics.rooms
individually enumerate all room types for this listing (e.g. dining room, den, theatre, family room, etc)
room-size No string detailed-character-istics.rooms
"length x width" dimensions for the room
date-available No Calendar date
details If a rental property, the date the unit will be available to move in
date-listed No Calendar date
details The date the property was put on the market for sale.
NOTE: for some feed providers, Trulia may require this field to be populated.
living-area-square-feet
No integer details Livable square feet of the property
lot-size No string details The size of the property lot. Syntax:Sq Ft: 8000 sqftDimensions: 100x80Acres: 0.24 acres
15
Element Required Format Location Description
property-type No enumerated details The type of property for sale. This is typically set to the same value you display for the property on your website. However, Trulia will normalize that value into one of thefollowing:• Apartment/Condo/ Townhouse• Condo• Townhouse• Coop• Apartment• Loft• TIC• Mobile/Manufactured• Farm/Ranch• Multi-Family• Income/Investment• Houseboat• Lot/Land• Single-Family Home
provider-listingid Yes string details This is a unique ID that MUST be included for each property. Must be unique and persistent per listing. Must NOT be re-used/recycled.
floorplan-layout-url
No URL floorplan-layouts.floorplan-layout
URL for image of the unit's floorplan
lp-url No URL landing-page A URL to a detailed view of the property that you want Trulia to send its visitors to when they want more information.
NOTE: this must be unique for each property within the feed.
building-name No string location If the property is in a named building, provide the building name
display-address Yes boolean location A flag indicating whether the address should be displayed on Trulia’s website.
elevation No integer location Elevation of the property
geocode-type No enumerated location Acceptable Values:• exact• offset• approximateIf a value is not provided or cannot be recog-nized, it will default to ‘exact’.
latitude No decimal location Latitude of the property. In US, this range (50 states) is 71.1810 N (north) to 19.0357 N (south).
longitude No decimal location Longitude of the property. In US, this range (50 states) is 176.6360 W (west) to 66.5950 W (east).
parcel-id No string location Assessor’s Parcel Number or Parcel Identi-fication Number. This is an arbitrary parcel identifier assigned by the county assessor to simply identify and expedite the locating of parcels. Format and composition varies widely.
16
Element Required Format Location Description
plan-base-price No boolean plan Is the <price> field a base price not including add'l builder options? ('Yes' will present price as "From $xxx,xxx", 'No' will present price as "$xxx,xxx")
foreclosure-status
No enumerated property Acceptable Values:• Notice of Default (Pre-Foreclosure)• Lis Pendens (Pre-Foreclosure)• Notice of Trustee Sale(Auction)• Notice of Foreclosure Sale(Auction)• REO - Bank owned
listing-type No enumerated property Acceptable Values:• resale• foreclosure• new home
If a value is not provided or cannot be recog-nized, it will default to ‘resale’.
status No enumerated property The current status of the property. This is typi-cally set to the same value you display for the property on your website. However, Trulia will normalize that value into one of the following:• Active Contingent• Pending• Sold• Withdrawn• For Rent• For Sale
day-of-the-week No enumerated property-manager.property-manager-office-hours.office-day
Expected value(s) listed individually in repeat-ing tags: sun, mon, tue, wed, thu, fri, sat
lease-type No enumerated rental-terms Acceptable Values:• sublet• month-to-month• annual• bi-annual
price-term month enumerated rental-terms If the property is a rental, provide the rental term associated with the price. Acceptable Values:• night• week• month• year
lease period No integer rental-terms.lease-periods
List the standard accepted lease periods (1, 3, 6, 12, etc) in months, individually.
site-name No string site The name describing the company you want Trulia to associate the property with.
site-url No URL site The domain of your site that you wish Trulia to associate the property with. For example, this value can be set to “www.YourDomain.com”.
17
Element Required Format Location Description
rental-type No enumerated rental-terms Acceptable Values:• standard• corporate• senior• military• campus• market rate apt• condominium• cooperative• assisted living• subsidized• nursing home• student• vacation• other
18
<properties> <property> <location> <unit-number>301</unit-number> <street-address>123 Main St</street-address> <city-name>San Francisco</city-name> <zipcode>94123</zipcode> <county>San Francisco</county> <state-code>California</state-code> <street-intersection>Broadway</street-intersection> <parcel-id>359-02-4158</parcel-id> <building-name>The Avalon</building-name> <subdivision></subdivision> <neighborhood-name>Marina</neighborhood-name> <neighborhood-description>The Marina is a neighborhood on the Northern part of San Francisco</neighborhood-description> <elevation>10</elevation> <longitude>-70.1200</longitude> <latitude>30.0000</latitude> <geocode-type>exact</geocode-type> <display-address>yes</display-address> <directions>Take 101 North to Lombard St. Make a left on Lombard and 3rd right onto Main. 123 is at the end of the block on the right. </directions> </location> <details> <listing-title>A great deal in the Marina</listing-title> <price>725000</price> <year-built>1928</year-built> <num-bedrooms>3</num-bedrooms> <num-full-bathrooms>2</num-full-bathrooms> <num-half-bathrooms>1</num-half-bathrooms> <num-bathrooms></num-bathrooms> <lot-size>0.25</lot-size> <living-area-square-feet>1720</living-area-square-feet> <date-listed>2010-06-20</date-listed> <date-available></date-available> <date-sold></date-sold> <sale-price></sale-price> <property-type>condo</property-type> <description>Newly remodeled condo in great location.</description> <mlsId>582649</mlsId> <mlsName>SFAR</mlsName> <provider-listingid>258136842</provider-listingid> </details> <landing-page> <lp-url>http://www.BrokerRealty.com/listing?id=123456&source=Trulia</lp-url> </landing-page> <listing-type>resale</listing-type> <status>for sale</status> <foreclosure-status></foreclosure-status> <site> <site-url>http://www.BrokerRealty.com</site-url> <site-name>Broker Realty</site-name> </site>
Sample XMLCHAPTER 4:
19
<rental-terms> <price-term></price-term> <rental-type></rental-type> <lease-type></lease-type> <lease-min-length-months></lease-min-length-months> <lease-max-length-months></lease-max-length-months> <lease-periods> <lease-period></lease-period> </lease-periods> <lease-details></lease-details> <security-deposit></security-deposit> <security-deposit-description></security-deposit-description> <application-fee></application-fee> <application-fee-description></application-fee-description> <credit-cards-accepted></credit-cards-accepted> <credit-cards> <credit-card></credit-card> </credit-cards> <pets> <small-dogs-allowed></small-dogs-allowed> <large-dogs-allowed></large-dogs-allowed> <cats-allowed></cats-allowed> <pet-other-allowed></pet-other-allowed> <max-pets></max-pets> <pet-deposit></pet-deposit> <pet-fee></pet-fee> <pet-rent></pet-rent> <pet-weight></pet-weight> <pet-comments> <pet-comment> </pet-comment> </pet-comments> </pets> <utilities-included> <landlord-pays-aircon></landlord-pays-aircon> <landlord-pays-broadbandinternet></landlord-pays-broadbandinternet> <landlord-pays-gas></landlord-pays-gas> <landlord-pays-heat></landlord-pays-heat> <landlord-pays-hotwater></landlord-pays-hotwater> <landlord-pays-satellite></landlord-pays-satellite> <landlord-pays-sewer></landlord-pays-sewer> <landlord-pays-telephone></landlord-pays-telephone> <landlord-pays-trash></landlord-pays-trash> <landlord-pays-water></landlord-pays-water> <landlord-utilities-portion-included></landlord-utilities-portion-included> <utilities-comments> <utilities-comment></utilities-comment> </utilities-comments> </utilities-included> <property-manager-on-site></property-manager-on-site> <rent-control></rent-control> <subletting-allowed></subletting-allowed> </rental-terms> <pictures> <picture> <picture-url>http://images.brokerrealty.com/123456/1.jpg</picture-url> <picture-caption>Home Exterior</picture-caption> <picture-description>View as seen from the street</picture-description> <picture-seq-number>1</picture-seq-number> </picture> <picture> <picture-url>http://images.brokerrealty.com/223457/1.jpg</picture-url> <picture-caption>Kitchen was remodeled in 2005</picture-caption>
20
<picture-description>View of the kitchen</picture-description> <picture-seq-number>2</picture-seq-number> </picture> <picture> <picture-url>http://images.brokerrealty.com/323458/1.jpg</picture-url> <picture-caption>Bathroom was remodeled in 2009</picture-caption> <picture-description>View of the bathroom</picture-description> <picture-seq-number>3</picture-seq-number> </picture> <picture> <picture-url>http://images.brokerrealty.com/423459/1.jpg</picture-url> <picture-caption>Backyard</picture-caption> <picture-description>View of the backyard</picture-description> <picture-seq-number>4</picture-seq-number> </picture> </pictures> <virtual-tours> <virtual-tour> <virtual-tour-url>http://www.sampleurl.com/lr</virtual-tour-url> <virtual-tour-caption>Living room area</virtual-tour-caption> <virtual-tour-description>This tour shows the living room area.</virtual-tour-description> <virtual-tour-seq-number>1</virtual-tour-seq-number> </virtual-tour> <virtual-tour> <virtual-tour-url>http://www.sampleurl.com/backyard</virtual-tour-url> <virtual-tour-caption>Backyard</virtual-tour-caption> <virtual-tour-description>This tour shows the backyard.</virtual-tour-description> <virtual-tour-seq-number>2</virtual-tour-seq-number> </virtual-tour> </virtual-tours> <videos> <video> <video-url>http://www.videourl.com/video1</video-url> <video-caption>Living room and Kitchen</video-caption> <video-description>This video shows the living room and kitchen area.</video-description> <video-seq-number>1</video-seq-number> </video> </videos> <floorplan-layouts> <floorplan-layout> <floorplan-layout-url></floorplan-layout-url> <floorplan-layout-caption></floorplan-layout-caption> <floorplan-layout-description></floorplan-layout-description> <floorplan-layout-seq-number></floorplan-layout-seq-number> </floorplan-layout> </floorplan-layouts> <agent> <agent-name>Bob Agent</agent-name> <agent-phone>800-555-1234</agent-phone> <agent-email>[email protected]</agent-email> <agent-alternate-email>[email protected]</agent-alternate-email> <agent-picture-url>http://images.brokerrealty.com/agent35.jpg</agent-picture-url> <agent-id></agent-id> </agent> <brokerage> <brokerage-name>We Sell Houses Brokerage</brokerage-name> <brokerage-broker-name> Jane Broker </brokerage-broker-name> <brokerage-id>wsh321</brokerage-id>
21
<brokerage-mls-code>SFAR-2151</brokerage-mls-code> <brokerage-phone>800-555-4321</brokerage-phone> <brokerage-email>[email protected]</brokerage-email> <brokerage-website>http://www.WeSellHouses.com</brokerage-website> <brokerage-logo-url>http://www.WeSellHouses.com/logo.jpg</brokerage-logo-url> <brokerage-address> <brokerage-street-address>123 Utah St</brokerage-street-address> <brokerage-city-name>San Francisco</brokerage-city-name> <brokerage-zipcode>94103</brokerage-zipcode> <brokerage-state-code>CA</brokerage-state-code> </brokerage-address> </brokerage> <office> <office-name>Main Office</office-name> <office-id>123</office-id> <office-mls-code>SFAR-6542</office-mls-code> <office-broker-id>3251</office-broker-id> <office-phone>800-555-3652</office-phone> <office-email>[email protected]</office-email> <office-website>http://www.mainoffice.com</office-website> </office> <franchise> <franchise-name>Franchise Realty</franchise-name> <franchise-phone>800-555-4321</franchise-phone> <franchise-email>[email protected]</franchise-email> <franchise-website>http://www.franchiserealty.com</franchise-website> <franchise-logo-url>http://www.franchiserealty.com/logo.jpg</franchise-logo-url> </franchise> <builder> <builder-id></builder-id> <builder-name></builder-name> <builder-phone></builder-phone> <builder-email></builder-email> <builder-lead-email></builder-lead-email> <builder-website></builder-website> <builder-logo-url></builder-logo-url> <builder-address> <builder-street-address></builder-street-address> <builder-city-name></builder-city-name> <builder-zipcode></builder-zipcode> <builder-state-code></builder-state-code> </builder-address> </builder> <property-manager> <property-manager-name></property-manager-name> <property-management-company-name></property-management-company-name> <property-manager-office-hours> <office-day> <day-of-the-week></day-of-the-week> <office-start-time></office-start-time> <office-end-time></office-end-time> <comment></comment> </office-day> </property-manager-office-hours> <property-manager-phone></property-manager-phone> <property-manager-email></property-manager-email> <property-manager-lead-email></property-manager-lead-email> <property-manager-website></property-manager-website> <property-manager-logo-url></property-manager-logo-url> </property-manager> <community> <community-building></community-building>
22
<community-id></community-id> <community-name></community-name> <community-phone></community-phone> <community-email></community-email> <community-fax></community-fax> <community-description></community-description> <community-website></community-website> <community-address> <community-street-address></community-street-address> <community-city-name></community-city-name> <community-zipcode></community-zipcode> <community-state-code></community-state-code> </community-address> <building-amenities> <building-amenity>Fitness Center</building-amenity> <building-amenity>Fitness Center</building-amenity> </building-amenities> <community-amenities> <community-amenity></community-amenity> </community-amenities> </community> <plan> <plan-id></plan-id> <plan-name></plan-name> <plan-type></plan-type> <plan-base-price></plan-base-price> </plan> <spec> <is-spec-home></is-spec-home> <spec-id></spec-id> </spec> <open-home> <period1-date>2010-07-25</period1-date> <period1-start-time>13:00</period1-start-time> <period1-end-time>16:00</period1-end-time> <period1-details>Accepting offers</period1-details> <period2-date>2010-08-01</period2-date> <period2-start-time>13:00</period2-start-time> <period2-end-time>16:00</period2-end-time> <period2-details>Accepting offers</period2-details> <period3-date></period3-date> <period3-start-time></period3-start-time> <period3-end-time></period3-end-time> <period3-details></period3-details> <period4-date></period4-date> <period4-start-time></period4-start-time> <period4-end-time></period4-end-time> <period4-details></period4-details> </open-home> <taxes> <tax> <tax-type>Property Tax</tax-type> <tax-year>2010</tax-year> <tax-amount>8000</tax-amount> <tax-description></tax-description> </tax> </taxes> <hoa-fees> <hoa-fee>325</hoa-fee> <hoa-period>monthly</hoa-period> <hoa-description>HOA fees include water and garbage</hoa-description>
23
</hoa-fees> <additional-fees> <fee> <fee-type></fee-type> <fee-amount></fee-amount> <fee-period></fee-period> <fee-description></fee-description> </fee> </additional-fees> <schools> <school-district> <elementary> Elementary School </elementary> <middle>Middle School</middle> <juniorhigh>Junior High School</juniorhigh> <high>High School</high> <district-name>San Francisco Unified School District</district-name> <district-website>www.sfusd.edu </district-website> <district-phone-number>415-123-7777</district-phone-number> </school-district> </schools> <detailed-characteristics> <appliances> <has-washer>yes</has-washer> <has-dryer>yes</has-dryer> <has-dishwasher>yes</has-dishwasher> <has-refrigerator>yes</has-refrigerator> <has-disposal>no</has-disposal> <has-microwave>yes</has-microwave> <range-type>gas</range-type> <additional-appliance> <additional-appliance-name>Vegetable Steamer</additional-appliance-name> <additional-appliance-description>Brand new GE vegetable steamer</additional-appliance-description> </additional-appliance> <appliances-comments>All appliances replaced with kitchen remodel in 2009.</appliances-comments> </appliances> <cooling-systems> <has-air-conditioning>no</has-air-conditioning> <has-ceiling-fan>yes</has-ceiling-fan> <other-cooling></other-cooling> </cooling-systems> <heating-systems> <has-fireplace>yes</has-fireplace> <fireplace-type>wood</fireplace-type> <heating-system>gas</heating-system> <heating-fuel>gas</heating-fuel> </heating-systems> <floor-coverings>Hardwood</floor-coverings> <floor-coverings>Carpet</floor-coverings> <total-unit-parking-spaces>2</total-unit-parking-spaces> <has-garage>yes</has-garage> <garage-type>attached</garage-type> <parking-types> <parking-type>garage lot</parking-type> </parking-types> <has-assigned-parking-space>yes</has-assigned-parking-space> <parking-space-fee></parking-space-fee> <assigned-parking-space-cost></assigned-parking-space-cost> <parking-comment>side-by-side parking for 2 cars deeded to this unit</parking-comment> <foundation-type>Concrete</foundation-type>
24
<roof-type>Shingle</roof-type> <architecture-style>Victorian</architecture-style> <exterior-type>Brick</exterior-type> <room-count>8</room-count> <rooms> <room> <room-type>Living room</room-type> <room-size>18x16</room-size> <room-description>Great views of the city</room-description> </room> <room> <room-type>Dining room</room-type> <room-size>14x14</room-size> <room-description>Formal dining room with pass-through to the kitchen</room-description> </room> <room> <room-type>Bedroom</room-type> <room-size>17x15</room-size> <room-description>Master Bedroom with adjacent bathroom</room-description> </room> <room>Bedroom</room> <room-size>12x15</room-size> </rooms> <year-updated>2008</year-updated> <total-units-in-building>2</total-units-in-building> <total-floors-in-building>3</total-floors-in-building> <num-floors-in-unit>2</num-floors-in-unit> <has-attic>no</has-attic> <has-balcony>yes</has-balcony> <has-barbeque-area>no</has-barbeque-area> <has-basement>no</has-basement> <has-cable-satellite>yes</has-cable-satellite> <has-courtyard>yes</has-courtyard> <has-deck>yes</has-deck> <has-disabled-access>no</has-disabled-access> <has-dock>(no</has-dock> <has-doublepane-windows>yes</has-doublepane-windows> <has-garden>yes</has-garden> <has-gated-entry>no</has-gated-entry> <has-greenhouse>no</has-greenhouse> <has-handrails>no</has-handrails> <has-hot-tub-spa>yes</has-hot-tub-spa> <has-intercom>no</has-intercom> <has-jetted-bath-tub>yes</has-jetted-bath-tub> <has-lawn>yes</has-lawn> <has-mother-in-law>no</has-mother-in-law> <has-patio>yes</has-patio> <has-pond>no</has-pond> <has-pool>no</has-pool> <has-porch>no</has-porch> <has-private-balcony>yes</has-private-balcony> <has-private-patio>yes</has-private-patio> <has-rv-parking>no</has-rv-parking> <has-sauna>no</has-sauna> <has-security-system>no</has-security-system> <has-skylight>yes</has-skylight> <has-sportscourt>no</has-sportscourt> <has-sprinkler-system>no</has-sprinkler-system> <has-terrace></has-terrace> <has-vaulted-ceiling>no</has-vaulted-ceiling> <has-view>yes</has-view>
25
<has-washer-dryer-hookup>yes</has-washer-dryer-hookup> <has-wet-bar>no</has-wet-bar> <has-window-coverings>yes</has-window-coverings> <building-has-concierge>no</building-has-concierge> <building-has-doorman>no</building-has-doorman> <building-has-elevator>no</building-has-elevator> <building-has-fitness-center>no</building-has-fitness-center> <building-has-on-site-maintenance>no</building-has-on-site-maintenance> <is-waterfront>no</is-waterfront> <other-amenities> <other-amenity></other-amenity> </other-amenities> <furnished>no</furnished> <view-type>City lights</view-type> </detailed-characteristics> <advertise-with-us> <channel></channel> <featured></featured> <branded></branded> <branded-logo-url></branded-logo-url> </advertise-with-us> </property></properties>
26
In an attempt to expedite the inclusion process of your listings to Trulia’s website, it is recommended that you complete the following steps:
• Successfully generate the feed according to the format presented in this document with all of your desired listings.
• Verify the file is well formed.
• Verify each property within the file has a unique, stable Provider Listing ID <provider_listingid>.
• Verify the end-user submitted values (i.e., <description>) are enclosed in CDATA elements.
• Submit your feed details to Trulia: http://www.trulia.com/submit_listings/feed.
FEED DEVELOPMENT CHECKLISTCHAPTER 5:
27