website#shareproperty

Message

a website user shares a property listing

A website user (agent) shared a (PropertyListing)[/types/PropertyListing] with the recipient (a Person or Audience).

Payload Example(s) (generated)

{
  "topic": "realestate/website#shareproperty",
  "data": {
    "type": "ShareAction",
    "agent": {
      "type": "string",
      "affiliation": [
        "https://example.com/profile/card#me"
      ],
      "address": [
        {
          "type": "PostalAddress",
          "streetAddress": "1007 Mountain Gate Rd",
          "postOfficeBoxNumber": "Box 1234",
          "addressRegion": "NJ",
          "addressLocality": "Gotham City",
          "postalCode": "10010",
          "addressCountry": "CA",
          "addressCounty": "string",
          "addressSubdivision": "Gotham Heights"
        }
      ],
      "birthDate": "2019-08-24",
      "contactPoint": [
        {
          "type": "ContactPoint",
          "name": "Work",
          "telephone": "555-555-5555",
          "faxNumber": "555-555-5555",
          "email": "bob@example.com",
          "url": "https://www.facebook.com/hallandoates"
        }
      ],
      "email": "user@example.com",
      "additionalName": "Johnny,John",
      "familyName": "Smith",
      "faxNumber": "string",
      "givenName": "John",
      "honorificPrefix": "Dr",
      "honorificSuffix": "Esq",
      "jobTitle": [
        "Chief Data Officer",
        "Sanitation Engineer"
      ],
      "knowsLanguage": [
        {
          "type": "Language",
          "name": "English",
          "additionalName": "en-us"
        }
      ],
      "name": "string",
      "telephone": "+15558675309",
      "worksFor": "string"
    },
    "object": {
      "type": "PropertyListing",
      "addressCountry": "CA",
      "addressLocality": "Gotham City",
      "addressRegion": "NJ",
      "buyerAgent": {
        "email": "butch.byers@example.com",
        "identifier": {
          "agentKey": "xxxx"
        },
        "name": "Butch Byers",
        "type": "RealEstateAgent"
      },
      "buyerOffice": {
        "email": "gcr@example.com",
        "identifier": {
          "officeKey": "grc1"
        },
        "name": "Gotham City Real Estate",
        "type": "RealEstateOffice"
      },
      "closeDate": "2019-08-24T14:15:22Z",
      "image": [
        {
          "type": "ImageObject",
          "@id": "http://example.com",
          "id": "http://user.example.com/public/logo/image.jpg",
          "name": "image.jpg",
          "encodingFormat": "image/jpeg",
          "about": "http://user.example.com/profile/card#me",
          "url": "http://user.example.com/public/profile/image.jpg"
        }
      ],
      "internetAddressDisplayYN": "Y",
      "latitude": 40.75,
      "listingAgent": {
        "type": "RealEstateAgent",
        "name": "Lori Listagent",
        "telephone": "1-252-574-0160",
        "email": "lorilistagent@example.com"
      },
      "listingContractDate": "2019-08-24T14:15:22Z",
      "listingId": "GOTHAM-MLS+12345",
      "listingOffice": {
        "name": "Gotham City Real Estate",
        "type": "RealEstateOffice"
      },
      "listingOriginatingSystem": {
        "identifier": {
          "bhhsmlsid": "xxxx",
          "resoouid": "not-yet-available"
        },
        "name": "MLSListings",
        "type": "MultipleListingService"
      },
      "listingPrice": {
        "type": "PriceSpecification",
        "price": 75000,
        "priceCurrency": "USD"
      },
      "listingStatus": "Active",
      "livingArea": {
        "type": "QuantitativeValue",
        "unitCode": "SqFt",
        "unitText": "Square Feet",
        "value": 1500
      },
      "longitude": 73.98,
      "lotSize": {
        "type": "QuantitativeValue",
        "unitCode": "AC",
        "unitText": "Acres",
        "value": 0.5
      },
      "numberOfBathrooms": "2",
      "numberOfBedrooms": "3",
      "numberOfRooms": "7",
      "originatingSystemKey": 12345,
      "originatingSystemName": "GOTHAM-MLS",
      "postalCode": "10010",
      "propertySubType": "ApartmentPropertyType",
      "propertyType": "RESI",
      "purchaseContractDate": "2019-08-24T14:15:22Z",
      "stories": 2,
      "streetAddress": "1007 Mountain Gate Rd",
      "universalPropertyId": "US-04015-N-R-11022331-N",
      "url": "https://www.example.com/homedetails/1007-Mountain-Gate-Rd-Gotham-City-Gotham/10007",
      "yearBuilt": 1988
    },
    "recipient": {
      "type": "Person",
      "name": "John Doe",
      "email": "user@example.com",
      "url": "http://facebook.com/1234567890",
      "instrument": {
        "type": "Organization",
        "name": "Facebook"
      }
    }
  }
}

Payload

NameTypeDescription
(root)object-
topicstringconst ("realestate/website#shareproperty")
dataobject-
data.typestringconst ("ShareAction")
data.agentobject-
data.agent.typestring-
data.agent.affiliationarray<string>An organization that this person is affiliated with
data.agent.affiliation (single item)stringformat (uri)
data.agent.addressarray<object>-
data.agent.address.typestringconst ("PostalAddress")
data.agent.address.streetAddressstringthe street address <= 75 characters
data.agent.address.postOfficeBoxNumberstringThe post office box number for PO box addresses.
data.agent.address.addressRegionstringabbreviated state or province
data.agent.address.addressLocalitystringCity, Township. <= 50 characters
data.agent.address.postalCodestringZip/Post Code <= 12 characters
data.agent.address.addressCountrystringallowed ("CA", "DE", "GR", "IN", "IT", "MX", "PE", "PT", "ES", "AE", "GB", "US") two-letter ISO 3166-1 alpha-2 country code
data.agent.address.addressCountystringCounty
data.agent.address.addressSubdivisionstringthe subdivision or neighborhood (us real estate extension)
data.agent.birthDatestringdate of birth. format (date)
data.agent.contactPointarray<object>contact points for the person
data.agent.contactPoint.typestringconst ("ContactPoint")
data.agent.contactPoint.namestringa label for the contactPoint, i.e. 'Work', or 'Home'
data.agent.contactPoint.telephonestring-
data.agent.contactPoint.faxNumberstring-
data.agent.contactPoint.emailstringan email address for the item. format (email)
data.agent.contactPoint.urlstringprimary URL for the item. format (uri)
data.agent.emailstringa valid email address format (email)
data.agent.additionalNamestringany other name(s) associated with the entity, i.e. nickname, middle name, maiden name, etc. For multiple names, use a comma without space as a separator.
data.agent.familyNamestringLast Name of a person. Family Name <= 50 characters
data.agent.faxNumberstringDo people still use fax machines?
data.agent.givenNamestringFirst Name of a person
data.agent.honorificPrefixstringAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
data.agent.honorificSuffixstringAn honorific title following a person's name like M.D.
data.agent.jobTitlearray<string>job tiles associated with the item
data.agent.jobTitle (single item)string-
data.agent.knowsLanguagearray<object>languages spoken by the person
data.agent.knowsLanguage.typestringconst ("Language")
data.agent.knowsLanguage.namestringthe display name of the language
data.agent.knowsLanguage.additionalNamestringBCP 47 language code
data.agent.namestringFull name of the person.
data.agent.telephonestringPrimary phone number.
data.agent.worksForstringOrganizations the person works for.
data.objectobjecta real estate property listed for sale
data.object.typestringallowed ("PropertyListing")
data.object.addressCountrystringallowed ("CA", "DE", "GR", "IN", "IT", "MX", "PE", "PT", "ES", "AE", "GB", "US") two-letter ISO 3166-1 alpha-2 country code
data.object.addressLocalitystringCity, Township. <= 50 characters
data.object.addressRegionstringabbreviated state or province
data.object.buyerAgentobjectthe buyer's RealEstateAgent
data.object.buyerOfficeobjectthe buyer's RealEstateOffice
data.object.closeDatestringWith for-sale listings, the date the purchase agreement was fulfilled. With lease listings, the date the requirements were fulfilled, such as contract and/or deposit. format (date-time)
data.object.imagetuple<object allOf, ...optional<any>>an ImageObject or URI reference to an image on the web.
data.object.image.0 (index)object allOf-
data.object.image.0.0 (allOf item)allOfan image, video or document availble for download
data.object.image.0.0.0 (allOf item)object-
data.object.image.0.0.0.typestringThe item type (Linked-Data @type) pattern (^[A-Z][a-zA-Z0-9]+$)
data.object.image.0.0.0.@idstringthe liked data uri for the Thing format (uri)
data.object.image.0.0.0 (property names)-pattern (^[a-z@$][a-zA-Z0-9-_]+$)
data.object.image.0.0.1 (allOf item)--
data.object.image.0.0.1.typestringallowed ("MediaObject", "ImageObject", "DigitalDocument")
data.object.image.0.0.1.idstringthe URL to access the item. format (uri)
data.object.image.0.0.1.namestringthe file name of the object.
data.object.image.0.0.1.encodingFormatstringMIME type
data.object.image.0.0.1.aboutstringURI to the subject of the image or logo format (uri)
data.object.image.0.0.1.urlstringURL of the image content format (uri)
data.object.image.0.1 (allOf item)--
data.object.image.0.1.typestringallowed ("ImageObject")
data.object.image.0.1.idany-
data.object.image.0.1.nameany-
data.object.image.0.1.encodingFormatany-
data.object.internetAddressDisplayYNstringallowed ("Y", "N")
data.object.latitudenumberThe latitude of a location.
data.object.listingAgentobjectthe agent/broker representing the seller in a real estate transaction
data.object.listingContractDatestringThe effective date of the agreement between the seller and the seller's broker. format (date-time)
data.object.listingIdstringthe local identifier for the listing
data.object.listingOfficeobjectthe listing office
data.object.listingOriginatingSystemobjectThe place where the item is originally input by the user.
data.object.listingPriceobject-
data.object.listingStatusstringallowed ("Active", "Pending", "Sold", "Canceled", "Prelisted", "OffMarket", "Private")
data.object.livingAreaobjectproperty indoor space
data.object.longitudenumberThe longitude of a location.
data.object.lotSizeobjectoutdoor space minValue, maxValue
data.object.numberOfBathroomsstringthe number of bathrooms
data.object.numberOfBedroomsstringthe number of bedrooms
data.object.numberOfRoomsstringthe total number of rooms in the building
data.object.originatingSystemKeystringthe listing identifier from the original MLS, aka MLSID.
data.object.originatingSystemNamestringthe name of the MLS where the listing was originally input
data.object.postalCodestringZip/Post Code <= 12 characters
data.object.propertySubTypestringallowed ("ApartmentPropertyType", "BoatSlipPropertyType", "CabinPropertyType", "CondominiumPropertyType", "DeededParkingPropertyType", "DuplexPropertyType", "FarmPropertyType", "ManufacturedHomePropertyType", "ManufacturedOnLandPropertyType", "MobileHomePropertyType", "OwnYourOwnPropertyType", "QuadruplexPropertyType", "RanchPropertyType", "SingleFamilyPropertyType", "StockCooperativePropertyType", "TimesharePropertyType", "TownhousePropertyType", "TriplexPropertyType", "AgriculturePropertyType", "BusinessPropertyType", "HotelMotelPropertyType", "IndustrialPropertyType", "MixedUsePropertyType", "MultiFamilyPropertyType", "OfficePropertyType", "RetailPropertyType", "UnimprovedLandPropertyType", "WarehousePropertyType") RESO property sub-type (see range for allowed values)
data.object.propertyTypestringallowed ("RESI", "RLSE", "RINC", "LAND", "MOBI", "FARM", "COMS", "COML", "BUSO") RESO property type (see range for allowed values) 4 characters
data.object.purchaseContractDatestringWith for-sale listings, the date an offer was accepted and the listing was no longer on market. With lease listings this may represent a meeting of the minds to lease, but some contractual requirements are yet to be fulfilled, such as contract signing or receipt of the deposit. format (date-time)
data.object.storiesnumberhe number of floors in the property
data.object.streetAddressstringthe street address <= 75 characters
data.object.universalPropertyIdstringThe Universal Property Identifier is a unique identifier for all real property in the US and Canada. It is based on country and local identification methods and is limited to real property. For cases such as shares of real property, units, and other more granular cases, please utilize the UniversalPropertySubId.
data.object.urlstringURL of the item. format (uri)
data.object.yearBuiltnumberthe year the structure was created
data.recipientobject-
data.recipient.typestringallowed ("Person", "Audience")
data.recipient.namestringThe name of the person or audience to whom the property listing was shared.
data.recipient.emailstringThe email address of the person or audience to whom the property listing was shared. format (email)
data.recipient.urlstringA URL to the shared item if available. format (uri)
data.recipient.instrumentobjectThe instrument used to share the property listing.
data.recipient.instrument.typestringconst ("Organization")
data.recipient.instrument.namestringThe name of the instrument used to share the property listing.

Headers

NameTypeDescription
(root)object-
timestringdate & time the event was produced format (date-time)
agentstringif you are a multi-tenant app, then the agent is the user associated with the event data. any future events related to this message will be sent to the same agent/recipient format (uri)
instrumentstringthe app or service that produced the event on behalf of the agent/user format (uri)
sourcestringa copy of the event was sent to the source(s). format (uri)
originalRecipientstringthe originalRecipient helps you determine the subscription that delivered the event to you. if the originalRecipient is the same as the agent, then the you are subscribed to the agent. if the originalRecipient is different from the agent, then you are subscribed to the event source format (uri)
idstringthe Event ID (aka "Publish ID") is the immutable canonical identifier for the event. it is a URI that is unique to the event and will not change. all subscribers will receive the same id for the same event. format (uri)
@idstringformat (uri)

Tools