Category: Linked Data

Linked DataRESOschema.org

Real Estate Data on the Web: Agents, Teams and Offices

Part 3 in a series on putting real estate data on the web with JSON-LD and schema.org vocabulary.

Note to agent, team or brokers: This post explains how to get raw contact data about your business on your website.  However, at the moment, this is not enough to get your business working google location search.   To get your business to show up in google’s location search, you have to verify your business with google at http://business.google.com.

schema:RealEstateAgent

schema:RealEstateAgent is the class for real estate agents, teams, offices and brokers.

Here’s an example mapping a reso:Member resource to schema:RealEstateAgent.

{
 "@context"  : "http://schema.org",
 "@type"     : "RealEstateAgent",
 "name"      : MemberFullName,
 "url"       : SocialMediaWebsiteUrlOrId,
 "telephone" : MemberPreferredPhone,
 "faxNumber" : MemberFax,
 "email"     : MemberEmail,
 "sameAs"    : [ SocialMediaGooglePlusUrlOrId ],
 "address"   : {
   "@type" : "PostalAddress",
   "streetAddress" : [ MemberAddress1, MemberAddress2 ],
   "addressLocality" : MemberCity,
   "addressRegion" : MemberStateOrProvince,
   "postalCode" : MemberPostalCode
 }
}

To declare a RealEstateAgent’s as a member of a team or office, use schema:memberOf which expects a value of type  schema:Organization.

{
  "memberOf" : [
    {
      "@type": "RealEstateAgent",
      "url": "http://example.com/offices/gypsy_lane"
    }
  ]
}

A few useful properties in schema:RealEstateAgent with no equivalent in RDD v1.5 are:

openingHours – The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ‘,’ separating each day. Day or time ranges are specified using a hyphen ‘-‘..

{
  "openingHours" : "Mo,Tu,We,Th,Fr 09:00-16:00"
}

image  – photos or videos of a subject. Values can be objects (schema:ImageObject, schema:VideoObject) or a plain text URL reference to an image or video.

{
  "image" : ["/agents/daveDuran/image/0"]
}

sameAs – links to any other pages about the subject such as a personal website or a Facebook page go here.

{
  "sameAs"       : [
    "https://facebook.com/daveduran", 
    "https://plus.google.com/+daveduran"
  ]
}
Linked DataReal Estate TechnologyRESOschema.orgSEO

Open House event data on the web with schema.org

In Part 2 of this series on the topic of real estate data on the web, I’ll be looking at posting open house events as linked data with JSON-LD and the schema.org vocabulary.

Here’s an example of how google displays open house events in organic search results.

screenshot-2016-10-31-05-05-43

Schema.org Event

schema:Event is the generic class for events in schema.org. RESO Data Dictionary’s OpenHouse resource maps reasonably well to schema:Event  today and is actively used to publish open home events by Zillow, Realtor.com and others.

Here’s an example with mock values in JSON-LD schema.org context.

{
 "@context" : "http://schema.org",
 "@type"    : "Event",
 "name"     : "Open House 10am - 2pm",
 "url"      : "http://example.com/listings/123-main-street",
 "image"    : [
     "http://example.com/media/123-main-street/0",
     "http://example.com/media/123-main-street/1"
 ],
 "startDate" : "2016-11-06T14:00:00-07:00",
 "endDate"   : "2016-11-06T16:30:00-07:00",
 "performer" : {
     "@type" : "RealEstateAgent",
     "name"  : "Sue Showing-Agent"
 },
 "offers" : {
     "@type"              : "Offer",
     "name"               : "Charming midcentury with city views",
     "url"                : "/listings/123-main-street",
     "priceSpecification" : {
         "price"          : "$650,000",
         "priceCurrency"  : "USD"
    },
 },
 "location": {
    "@type"    : "Place",
     "name"    : "123 Main Street",
     "address" : { 
         "@type"           : "PostalAddress",
         "streetAddress"   : "123 Main Street",
         "addressLocality" : "Oakland",
         "addressRegion"   : "CA",
         "postalCode"      : "94705"
     }
 }
}

Recommended schema.org changes

  1. New class schema:OpenHouseEvent a sub-class of schema.Event – this would allow google to respond to a search like “open homes tomorrow near me” from structured data.

RESO DD Considerations

  1. schema:name is a required on schema:Event but there is no DD equivalent.  Vendors typically use dynamic names such as  “Open House – 10:00 AM – 2:00 PM”.  RESO should offer guidance for website providers in the interest of data consistency.