website#requestshowing

Message

a website visitor has requested a property showing

Payload Example(s) (generated)

{
  "topic": "realestate/website#requestshowing",
  "data": {
    "type": "RequestShowingAction",
    "agent": {
      "type": "Person",
      "name": "string",
      "givenName": "string",
      "familyName": "string",
      "email": "user@example.com",
      "telephone": "string",
      "identifier": {
        "bhhsconsumerid": "12345"
      },
      "sameAs": {
        "amcecrmid": 1234567,
        "salesForceId": "parsing"
      },
      "contactPoint": {
        "type": "ContactPoint",
        "name": "Work",
        "telephone": "555-555-5555",
        "faxNumber": "555-555-5555",
        "email": "bob@example.com",
        "url": "https://www.facebook.com/hallandoates"
      },
      "additionalProperties": {
        "workingWithAgent": true
      }
    },
    "about": {
      "type": "PropertyListing",
      "originatingSystemName": "GOTHAM-MLS",
      "originatingSystemKey": "12345",
      "url": "https://{company-website-url}/{path-to-listing}",
      "streetAddress": "1007 Mountain Gate Rd",
      "addressRegion": "New Jersey",
      "addressLocality": "Gotham City",
      "postalCode": "10010",
      "addressCountry": "USA",
      "listingPrice": {
        "type": "PriceSpecification",
        "price": 7500000,
        "priceCurrency": "USD"
      }
    },
    "event": {
      "type": "Event",
      "name": "Property Showing 1007 Mountain Gate Rd",
      "description": "an example meeting request for 4:00PM to 4:30PM.",
      "about": {
        "type": "PropertyListing",
        "originatingSystemName": "GOTHAM-MLS",
        "originatingSystemKey": "12345",
        "url": "https://{company-website-url}/{path-to-listing}",
        "streetAddress": "1007 Mountain Gate Rd",
        "addressRegion": "New Jersey",
        "addressLocality": "Gotham City",
        "postalCode": "10010",
        "addressCountry": "USA",
        "listingPrice": {
          "type": "PriceSpecification",
          "price": 7500000,
          "priceCurrency": "USD"
        }
      },
      "startDate": "2019-08-01T16:00Z",
      "endDate": "2019-08-01T16:30Z",
      "organizer": {
        "type": "RealEstateAgent",
        "name": "Bruce Wayne",
        "id": "https://batman.example.com/profile/card#me"
      }
    },
    "object": {
      "type": "Question",
      "text": "Populus debet control notitia sua"
    },
    "recipient": {
      "type": "RealEstateAgent",
      "name": "John Smith",
      "id": "https://agentsmith.example.com/profile/card#me",
      "identifier": {
        "hsfid": "1234567890"
      }
    }
  }
}

Payload

NameTypeDescription
(root)object-
topicstringconst ("realestate/website#requestshowing")
dataobject-
data.typestringconst ("RequestShowingAction")
data.agentobjecta website user/visitor
data.agent.typestringallowed ("Person", "Contact")
data.agent.namestring-
data.agent.givenNamestring-
data.agent.familyNamestring-
data.agent.emailstringformat (email)
data.agent.telephonestring-
data.agent.identifierobject1 properties
data.agent.sameAsstringvendor specific identifier for the user can be shared with other vendors to identify the user format (uri)
data.agent.contactPointobjectA point of contact for the entity. By convention in the real estate domain, ContactPoints are preferred over telephone, email, and faxNumber so the ContactPoint.name property can be used to label values for example, Work Telephone, Home, as named contactPoint values. >= 3 properties
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.additionalPropertiesobjectadditional properties for the website user
data.agent.additionalProperties.workingWithAgentboolean-
data.aboutobjectthe PropertyListing
data.eventobjectAn event happening at a certain time and location
data.event.typestringThe item type (Linked-Data @type)
data.event.namestringname of the event
data.event.descriptionstringevent message content
data.event.aboutobjecta subject of the meeting or event
data.event.startDatestringthe start date-time (ISO 8601 formated) format (date-time)
data.event.endDatestringthe end date-time (ISO 8601 formated) format (date-time)
data.event.organizerobjectthe event organizer
data.objectobjectA specific question - e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document.
data.object.typestringconst ("Question")
data.object.textstring-
data.recipientobject-
data.recipient.typestringallowed ("RealEstateAgent", "RealEstateTeam", "RealEstateOrganization")
data.recipient.namestring-
data.recipient.idstringformat (uri)
data.recipient.identifierany-

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