website#propertysearchsave

Message

website user (agent) saves a property search (object), on a website or mobile app (instrument)

Payload Example(s) (generated)

{
  "topic": "realestate/website#propertysearchsave",
  "time": "2020-06-18T18:30:49Z",
  "agent": "https://bhhs.example.com/profile/card#me",
  "instrument": "https://smarter-agent.example.com/profile/card#me",
  "source": "https://{agentid}.example.com/profile/card#me",
  "identifier": "d84a059d-3191-4133-b5b4-d1550c6ee216",
  "data": {
    "type": "SaveAction",
    "identifier": "nwurogb34tnoi3t",
    "agent": {
      "type": "Contact",
      "name": "Bill Bailey",
      "givenName": "Matthew",
      "familyName": "Bullington",
      "telephone": "067-419-1230",
      "email": "user@example.com",
      "dateCreated": "2026-05-28T12:58:13.590Z",
      "dateModified": "2026-05-28T13:07:13.220Z",
      "additionalProperty": {
        "userPath": "xxx",
        "redPreferredContactMethod": "No Preference",
        "redPreferredTime": "",
        "preferredLanguage": "en-US",
        "preferredCurrency": "USD",
        "preferredUnits": "Imperial",
        "marketingViaEmailOptIn": false,
        "marketingViaSmsOptIn": false
      },
      "identifier": {
        "sausID": "216bf670-0777-43db-9d73-c3377d280fe4",
        "redContact_Guid": "201ff92c-e3ad-43b1-8a01-5555168cb0ae",
        "hsfconsumerid": "71e0a2e2-9364-4fae-9bcf-bca92dbe6953"
      },
      "sameAs": {
        "cregcontactkey": "14451293",
        "redContact_Guid": "77e8356e-836c-45a3-a0b6-d7b7e62af87f"
      },
      "contactPoint": [
        {
          "type": "ContactPoint",
          "kind": "EmailAddress",
          "name": "primary",
          "email": "mdbull200@gmail.com"
        }
      ]
    },
    "instrument": {
      "type": "RealEstateWebsite",
      "url": "http://gotham-city-realestate.example.com",
      "name": "Company Website"
    },
    "object": {
      "type": "PropertySearch",
      "name": "3+ beds in Gotham City",
      "description": "((city=Gotham),(Bedrooms=3+))",
      "propertyType": "RESI",
      "propertySubType": {
        "propertySubType": "ApartmentPropertyType"
      },
      "listingStatus": "ActiveListingStatus,ContingentListingStatus",
      "location": {
        "type": "Place",
        "address": {
          "type": "PostalAddress",
          "streetAddress": "1007 Mountain Gate Rd",
          "addressRegion": "New Jersey",
          "addressLocality": "Gotham City",
          "postalCode": "10010",
          "addressCountry": "USA",
          "addressCounty": "Gotham County",
          "addressSubdivision": "Gotham Heights"
        },
        "box": "(37.99099,-77.15156) (38.57954,-75.94718)",
        "geo": {
          "type": "GeoShape",
          "geoMidpoint": {
            "type": "GeoCoordinates",
            "longitude": "73.98",
            "latitude": "40.75"
          },
          "geoRadius": {
            "type": "QuantitativeValue",
            "value": "10",
            "unitCode": "mi",
            "unitText": "miles"
          },
          "box": "(33.5697,-117.775),(33.6018,-117.707)"
        }
      },
      "price": {
        "type": "PriceSpecification",
        "minPrice": 75000,
        "maxPrice": 100000,
        "price": 75000,
        "priceCurrency": "USD"
      },
      "bedrooms": {
        "type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 4,
        "unitCode": "BD",
        "unitText": "Bedrooms"
      },
      "bathrooms": {
        "type": "QuantitativeValue",
        "minValue": 2,
        "unitCode": "BA",
        "unitText": "Bathrooms"
      },
      "livingArea": {
        "type": "QuantitativeValue",
        "minValue": 1500,
        "unitCode": "SqFt",
        "unitText": "Square Feet"
      },
      "lotSize": {
        "type": "QuantitativeValue",
        "minValue": 0.5,
        "unitCode": "AC",
        "unitText": "Acres"
      }
    },
    "leadOwner": {
      "type": "RealEstateWebsite",
      "name": "Company Website",
      "id": "https://VA305.bhhs.hsfaffiliates.com/profile/card#me"
    },
    "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"
            }
          ]
        }
      ]
    }
  },
  "@id": "https://bhhs.hsfaffiliates.com/outbox/afd70b9b68e74afa813df28de433335a",
  "id": "https://creg.bhhs.hsfaffiliates.com/publish/d2695f08f538479daff7127efb4a29a1",
  "timestamp": 1779973635053,
  "originalRecipient": "https://bhhs.hsfaffiliates.com/profile/card#me",
  "@to": "https://graph-collector-svc.bhhs.hsfaffiliates.com/profile/card#me"
}

Payload

NameTypeDescription
(root)object-
topicstring!realestate/website#propertysearchsave
timestring<date-time> !date & time the event was produced
agentstring<uri> !event publisher
instrumentstring<uri> !the application that produced the event
sourcestring<uri>associated RealEstate{Agent,Office,Organization}
identifierstringunique identifier
dataobjectthe message payload
data.typestring!const ("SaveAction")
data.identifierstringunique identifier
data.agentobject!the website user RANGE: Contact, Person
data.agent.typestringallowed ("Person", "Contact")
data.agent.identifierobjectagent identifier
data.agent.identifier.hsfconsumeridstringHSF consumer identifier
data.agent.sameAsobjectvendor specific identifiers
data.agent.sameAs.cregcontactkeystringCREG contact key
data.agent.sameAs.redContact_GuidstringRED contact GUID
data.agent.namestringfull name
data.agent.givenNamestringfirst name
data.agent.familyNamestringlast name
data.agent.emailstringformat (email)
data.agent.dateCreatedstringdate and time the contact was created
data.agent.dateModifiedstringdate and time the contact was modified
data.agent.contactPointarraycontact points for the user
data.agent.contactPoint.0.typestringconst ("ContactPoint")
data.agent.contactPoint.0.kindstringcontact point kind
data.agent.contactPoint.0.namestringcontact point label
data.agent.contactPoint.0.emailstringformat (email)
data.agent.additionalPropertyobjectadditional property for the website user
data.agent.additionalProperty.redPreferredContactMethodstringpreferred contact method
data.agent.additionalProperty.redPreferredTimestringpreferred contact time
data.agent.additionalProperty.preferredLanguagestringpreferred language
data.agent.additionalProperty.preferredCurrencystringpreferred currency
data.agent.additionalProperty.preferredUnitsstringpreferred units
data.agent.additionalProperty.marketingViaEmailOptInbooleantrue or false
data.agent.additionalProperty.marketingViaSmsOptInbooleantrue or false
data.agent.additionalProperty.userPathstringuser path
data.instrumentobjectwebsite or mobile application RANGE: RealEstateWebsite, MobileApplication, Thing
data.instrument.typestringconst ("RealEstateWebsite")
data.instrument.namestringinstrument name
data.objectobject!property search parameters RANGE: PropertySearch
data.object.typestringconst ("PropertySearch")
data.object.namestringproperty search name
data.object.locationobjectsearch location details
data.object.location.typestringconst ("Place")
data.object.location.addressobjectsearch address details
data.object.location.address.typestringconst ("PostalAddress")
data.object.location.address.addressLocalitystringcity or locality
data.object.location.boxstringsearch map bounding box
data.object.priceobjectprice search criteria
data.object.price.typestringconst ("PriceSpecification")
data.object.price.priceCurrencystringuse ISO4217
data.object.price.minPricenumberminimum search price
data.object.price.maxPricenumbermaximum search price
data.object.livingAreaobjectliving area search criteria
data.object.livingArea.typestringconst ("QuantitativeValue")
data.object.livingArea.minValuenumberminimum living area value
data.leadOwnerobjectlead owner details
data.leadOwner.typestringlead owner type
data.leadOwner.namestringlead owner name
data.leadOwner.idstringformat (uri)
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
@idstringformat (uri)
idstringformat (uri)
timestampnumberevent timestamp
originalRecipientstringformat (uri)
@tostringformat (uri)
data.object.bedroomsobjectbedroom search criteria
data.object.bedrooms.typestringconst ("QuantitativeValue")
data.object.bedrooms.minValuenumberminimum bedroom value
data.object.bathroomsobjectbathroom search criteria
data.object.bathrooms.typestringconst ("QuantitativeValue")
data.object.bathrooms.minValuenumberminimum bathroom value

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