website#viewproperty

Message

website user (data.agent) has viewed a listing (data.object) on a webiste or mobile app (data.instrument)

Payload Example(s) (generated)

{
  "topic": "realestate/website#viewproperty",
  "recipient": null,
  "time": "2025-04-14T18:51:30.3922594-05:00",
  "agent": "Constellation 1",
  "instrument": "Trio",
  "source": "https://SC301.dev.bhhs.hsfaffilaites.com/profile/card#me",
  "data": {
    "type": "ViewAction",
    "object": {
      "type": "PropertyListing",
      "originatingSystemName": "scgga",
      "originatingSystemKey": "1552529",
      "streetAddress": "15551 Asheville Highway",
      "addressLocality": "Campobello",
      "addressRegion": "SC",
      "postalCode": "29322",
      "addressCountry": "US",
      "propertyType": "RESI",
      "propertySubType": "SingleFamilyPropertyType",
      "listingContractDate": "2025-03-29T00:00:00",
      "closeDate": null,
      "modificationTimestamp": "2025-04-14T23:51:30",
      "listingPrice": {
        "type": "PriceSpecification",
        "priceCurrency": "USD",
        "price": 405000
      },
      "soldPrice": {
        "type": "PriceSpecification",
        "priceCurrency": "USD",
        "price": 0
      },
      "listingStatus": "Contingent",
      "buyerAgent": {
        "type": "RealEstateAgent",
        "name": "",
        "email": null,
        "identifier": {
          "mlsAgentId": null
        },
        "additionalProperty": {
          "agentId": null
        }
      },
      "buyerOffice": {
        "type": "RealEstateOffice",
        "name": null,
        "email": null,
        "identifier": {
          "mlsOfficeId": null
        },
        "additionalProperty": {
          "officeId": null
        }
      },
      "latitude": 35.09154,
      "longitude": -82.14133,
      "listingAgent": {
        "type": "RealEstateAgent",
        "name": "Jill Chapman",
        "email": "jchapman@cdanjoyner.com",
        "identifier": {
          "mlsAgentId": "7084"
        },
        "additionalProperty": {
          "agentId": "228829"
        }
      },
      "listingOffice": {
        "type": "RealEstateOffice",
        "name": "BHHS C Dan Joyner - Midtown",
        "email": "internetmarketing@cdanjoyner.com",
        "identifier": {
          "mlsOfficeId": "JOYN01"
        },
        "additionalProperty": {
          "officeId": "SC301-033"
        }
      },
      "coListingAgent": {
        "type": "RealEstateAgent",
        "name": "",
        "email": null,
        "identifier": {
          "mlsAgentId": null
        },
        "additionalProperty": {
          "agentId": null
        }
      },
      "listingId": 401087897,
      "listingOriginatingSystem": {
        "type": "MultipleListingService",
        "name": "Greater Greenville MLS",
        "identifier": {
          "orgId": "scgga"
        }
      },
      "livingArea": {
        "type": "QuantitativeValue",
        "value": null,
        "unitCode": "FTK",
        "unitText": "SquareFeet"
      },
      "lotSize": {
        "type": "QuantitativeValue",
        "value": 2.78,
        "unitCode": "ACR",
        "unitText": "Acre"
      },
      "numberOfBedrooms": "3",
      "numberOfBathrooms": "2.5",
      "numberOfFullBathrooms": "2",
      "numberOf1/2Bathrooms": "1",
      "numberOf1/4Bathrooms": "",
      "numberOf3/4Bathrooms": "",
      "internetAddressDisplayYN": "Y",
      "image": [
        {
          "type": "ImageObject",
          "encodingFormat": "image/jpeg",
          "id": "https://photos.prod.cirrussystem.net/10142/19ea2d1d8d9c01665cee55e621ea206e/2605219266.jpeg"
        }
      ],
      "events": [],
      "description": "Looking for a Personal Sanctuary in a small town, mountain views, almost three acres just in case you may want to get your own chickens.",
      "url": "https://www.dev.bhhs.com/c-dan-joyner-realtors-sc301/sc/15551-asheville-highway-campobello-29322/pid-401087897",
      "about": {
        "type": "PropertyListing",
        "url": "https://www.dev.bhhs.com/c-dan-joyner-realtors-sc301/sc/15551-asheville-highway-campobello-29322/pid-401087897"
      },
      "brokerAtrribution": null,
      "yearBuilt": null,
      "deleted": false
    },
    "identifier": "nwurogb34tnoi3t",
    "originatingSystem": {
        "type": "SoftwareApplication",
        "name": "RDesk",
        "description": "User Created.",
        "url": "http://www.rdeskwebsite.com/"
    },
 "event": {
      "type": "Event",
      "name": "Property Showing  64 Buttercup Lane, South Grafton, MA, USA",
      "description": "",
      "subEvents": [
        {
          "type": "Campaign",
          "name": "A good campaign name",
          "id": "ire:1d2995307f2c48ae9543caf586f43f9b",
          "url": https://www.bhhspro.com/mentor/steve-baird/cid-356481/oh/889-hartford-drive-44035/pid-338005633,
          "contactGroup": [
            {
              "type": "Collection",
              "name": "Topic 1"
            },
            {
              "type": "Collection",
              "name": "Topic 2"
            }
          ]
        }
      ]
    },
    "result": null,
    "agent": {
      "type": "Person",
      "name": null,
      "telephone": null,
      "email": null,
      "additionalProperty": null,
      "identifier": null,
      "sameAs": {
        "hsfSessionId": "00000000-0000-0000-0000-000000000000",
        "cregContactKey": null
      }
    },
    "participant": [
      {
        "type": "RealEstateAgent",
        "id": "228829",
        "name": "Jill Chapman",
        "roleName": "ListingAgent"
      }
    ],
    "instrument": {
      "type": "RealEstateWebsite",
      "url": "https://dev.bhhs.com/profile/card#me"
    }
  }
}

Payload

NameTypeDescription
(root)object-
topicstringconst ("realestate/website#viewproperty")
recipientstring/nullrecipient
timestringdate and time the event was produced
agentstringevent publisher
instrumentstringevent instrument
sourcestringevent source
dataobjectthe message payload
data.typestringconst ("ViewAction")
data.identifierstringunique identifier
data.objectobjectviewed property listing
data.object.typestringconst ("PropertyListing")
data.object.originatingSystemNamestringoriginating system name
data.object.originatingSystemKeystringoriginating system key
data.object.streetAddressstringstreet address
data.object.addressLocalitystringcity or locality
data.object.addressRegionstringstate or region
data.object.postalCodestringpostal code
data.object.addressCountrystringcountry
data.object.propertyTypestringproperty type
data.object.propertySubTypestringproperty subtype
data.object.listingContractDatestringlisting contract date
data.object.closeDatestring/nullclose date
data.object.modificationTimestampstringmodification timestamp
data.object.listingPriceobjectlisting price details
data.object.listingPrice.typestringconst ("PriceSpecification")
data.object.listingPrice.priceCurrencystringuse ISO4217
data.object.listingPrice.pricenumberlisting price
data.object.soldPriceobjectsold price details
data.object.soldPrice.typestringconst ("PriceSpecification")
data.object.soldPrice.priceCurrencystringuse ISO4217
data.object.soldPrice.pricenumbersold price
data.object.listingStatusstringlisting status
data.object.buyerAgentobjectbuyer agent details
data.object.buyerAgent.typestringconst ("RealEstateAgent")
data.object.buyerAgent.namestring/nullbuyer agent name
data.object.buyerAgent.emailstring/nullbuyer agent email
data.object.buyerAgent.identifierobjectbuyer agent identifier
data.object.buyerAgent.identifier.mlsAgentIdstring/nullMLS agent ID
data.object.buyerAgent.additionalPropertyobjectbuyer agent additional properties
data.object.buyerAgent.additionalProperty.agentIdstring/nullagent ID
data.object.buyerOfficeobjectbuyer office details
data.object.buyerOffice.typestringconst ("RealEstateOffice")
data.object.buyerOffice.namestring/nullbuyer office name
data.object.buyerOffice.emailstring/nullbuyer office email
data.object.buyerOffice.identifierobjectbuyer office identifier
data.object.buyerOffice.identifier.mlsOfficeIdstring/nullMLS office ID
data.object.buyerOffice.additionalPropertyobjectbuyer office additional properties
data.object.buyerOffice.additionalProperty.officeIdstring/nulloffice ID
data.object.latitudenumberlatitude
data.object.longitudenumberlongitude
data.object.listingAgentobjectlisting agent details
data.object.listingAgent.typestringconst ("RealEstateAgent")
data.object.listingAgent.namestringlisting agent name
data.object.listingAgent.emailstringlisting agent email
data.object.listingAgent.identifierobjectlisting agent identifier
data.object.listingAgent.identifier.mlsAgentIdstringMLS agent ID
data.object.listingAgent.additionalPropertyobjectlisting agent additional properties
data.object.listingAgent.additionalProperty.agentIdstringagent ID
data.object.listingOfficeobjectlisting office details
data.object.listingOffice.typestringconst ("RealEstateOffice")
data.object.listingOffice.namestringlisting office name
data.object.listingOffice.emailstringlisting office email
data.object.listingOffice.identifierobjectlisting office identifier
data.object.listingOffice.identifier.mlsOfficeIdstringMLS office ID
data.object.listingOffice.additionalPropertyobjectlisting office additional properties
data.object.listingOffice.additionalProperty.officeIdstringoffice ID
data.object.coListingAgentobjectco-listing agent details
data.object.coListingAgent.typestringconst ("RealEstateAgent")
data.object.coListingAgent.namestring/nullco-listing agent name
data.object.coListingAgent.emailstring/nullco-listing agent email
data.object.coListingAgent.identifierobjectco-listing agent identifier
data.object.coListingAgent.identifier.mlsAgentIdstring/nullMLS agent ID
data.object.coListingAgent.additionalPropertyobjectco-listing agent additional properties
data.object.coListingAgent.additionalProperty.agentIdstring/nullagent ID
data.object.listingIdnumberlisting identifier
data.object.listingOriginatingSystemobjectlisting originating system details
data.object.listingOriginatingSystem.typestringconst ("MultipleListingService")
data.object.listingOriginatingSystem.namestringlisting originating system name
data.object.listingOriginatingSystem.identifierobjectlisting originating system identifier
data.object.listingOriginatingSystem.identifier.orgIdstringMLS organization identifier
data.object.livingAreaobjectliving area details
data.object.livingArea.typestringconst ("QuantitativeValue")
data.object.livingArea.valuenumber/nullliving area value
data.object.livingArea.unitCodestringunit code
data.object.livingArea.unitTextstringunit text
data.object.lotSizeobjectlot size details
data.object.lotSize.typestringconst ("QuantitativeValue")
data.object.lotSize.valuenumberlot size value
data.object.lotSize.unitCodestringunit code
data.object.lotSize.unitTextstringunit text
data.object.numberOfBedroomsstringnumber of bedrooms
data.object.numberOfBathroomsstringnumber of bathrooms
data.object.numberOfFullBathroomsstringnumber of full bathrooms
data.object.numberOf1/2Bathroomsstringnumber of half bathrooms
data.object.numberOf1/4Bathroomsstringnumber of quarter bathrooms
data.object.numberOf3/4Bathroomsstringnumber of three-quarter bathrooms
data.object.internetAddressDisplayYNstringinternet address display flag
data.object.imagearraylisting images
data.object.image.0.typestringconst ("ImageObject")
data.object.image.0.encodingFormatstringimage MIME type
data.object.image.0.idstringimage URL
data.object.eventsarraylisting events
data.object.events.0.typestringconst ("OpenHouseEvent")
data.object.events.0.namestringevent name
data.object.events.0.descriptionstringevent description
data.object.events.0.startDatestringevent start date
data.object.events.0.endDatestringevent end date
data.object.events.0.organizerobjectevent organizer details
data.object.events.0.organizer.typestringconst ("RealEstateAgent")
data.object.events.0.organizer.namestringorganizer name
data.object.events.0.organizer.idstringformat (uri)
data.object.descriptionstringlisting description
data.object.urlstringlisting URL
data.object.aboutobjectabout details
data.object.about.typestringconst ("PropertyListing")
data.object.about.urlstringproperty listing URL
data.object.brokerAtrributionstring/nullbroker attribution
data.object.yearBuiltnumber/nullyear built
data.object.deletedbooleandeleted flag
data.resultobject/nullaction result
data.agentobjectwebsite user
data.agent.typestringallowed ("Person", "Contact")
data.agent.namestring/nullagent name
data.agent.telephonestring/nulltelephone
data.agent.emailstring/nullemail
data.agent.additionalPropertyobject/nulladditional property
data.agent.additionalProperty.userPathstringuser path
data.agent.identifierobject/nullidentifier
data.agent.identifier.sausIDstringSAUS identifier
data.agent.identifier.redContact_GuidstringRED contact GUID
data.agent.sameAsobjectsameAs identifiers
data.agent.sameAs.hsfSessionIdstringHSF session ID
data.agent.sameAs.cregContactKeystring/nullCREG contact key
data.participantarrayparticipants
data.participant.0.typestringconst ("RealEstateAgent")
data.participant.0.idstringparticipant ID
data.participant.0.namestringparticipant name
data.participant.0.roleNamestringparticipant role name
data.instrumentobjectinstrument details
data.instrument.typestringconst ("RealEstateWebsite")
data.instrument.urlstringwebsite URL
data.event.typeobjecttype of the event e.g Campaign
data.event.namestringany string name
data.event.idstringformat (uri)
data.event.urlstringurl of the event
data.event.subEventsarrayarray of subEvents
data.originatingSystemobjectthe original system where this item was created. Can be of type Thing or any sub-type.

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