website#listingoffer

Message

website user makes a listing offer

Payload Example(s) (generated)

{
  "topic": "realestate/website#listingoffer",
  "data": {
    "type": "ListingOffer",
    "agent": {
      "type": "Contact",
      "name": "Bruce Wayne",
      "givenName": "Bruce",
      "familyName": "Wayne",
      "email": "batman@example.com",
      "telephone": "1+888-867-5309",
      "identifier": {
        "hsfconsumerid": "xxxxxxxxxxxxx"
      },
      "sameAs": {
        "amcecrmid": "1234567",
        "salesForceId": "xxxxxxxxxxxxx"
      }
    },
    "offerPrice": {
      "type": "PriceSpecification",
      "minPrice": 75000,
      "maxPrice": 100000,
      "price": 75000,
      "priceCurrency": "USD"
    },
    "propertyListing": {
      "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"
      }
    },
    "recipient": {
      "type": "RealEstateAgent",
      "name": "Randy RealEstateAgent",
      "id": "https://{agentid}.example.com/profile/card#me"
    }
  }
}

Payload

NameTypeDescription
(root)object-
topicstringconst ("realestate/website#listingoffer")
dataobjectan offer is made to buy a PropertyListing
data.typestringconst ("ListingOffer")
data.agentobjecta website user/visitor
data.offerPriceobjectthe offer price or range
data.offerPrice.typestringallowed ("PriceSpecification") PriceSpecification
data.offerPrice.minPricenumberthe low price offered if price is a range.
data.offerPrice.maxPricenumberthe high price offered if price is a range.
data.offerPrice.pricenumberthe offer price.
data.offerPrice.priceCurrencystringuse ISO4217
data.propertyListingobjectthe listing on which the offer is made.
data.recipientoneOflisting agent or offer recipient
data.recipient.0 (oneOf item)objectA real estate agent who represents buyers and sellers
data.recipient.0.typestringconst ("RealEstateAgent")
data.recipient.0.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.recipient.0.addressobjectA physical address.
data.recipient.0.certificationobjectA certification issued by an organization to an individual or business.
data.recipient.0.certification.typestringallowed ("Certification") Certification
data.recipient.0.certification.namestringthe name of the Certification
data.recipient.0.certification.issuedByobjectthe issuing authority
data.recipient.0.certification.issuedBy.typestringallowed ("RealEstateOrganization") The item type (Linked-Data @type)
data.recipient.0.certification.issuedBy.idstringLinked-Data URI (@id) format (uri)
data.recipient.0.certification.issuedBy.namestringname of the issuing organization
data.recipient.0.certification.issuedToobjectthe subject
data.recipient.0.certification.issuedTo.typestringallowed ("RealEstateAgent") The item type (Linked-Data @type)
data.recipient.0.certification.issuedTo.idstringLinked-Data URI (@id) format (uri)
data.recipient.0.certification.issuedTo.namestring-
data.recipient.0.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.recipient.0.contactPoint.typestringconst ("ContactPoint")
data.recipient.0.contactPoint.namestringa label for the contactPoint, i.e. 'Work', or 'Home'
data.recipient.0.contactPoint.telephonestring-
data.recipient.0.contactPoint.faxNumberstring-
data.recipient.0.contactPoint.emailstringan email address for the item. format (email)
data.recipient.0.contactPoint.urlstringprimary URL for the item. format (uri)
data.recipient.0.emailstringa valid email address format (email)
data.recipient.0.familyNamestringLast Name of a person. Family Name <= 50 characters
data.recipient.0.givenNamestringFirst Name of a person
data.recipient.0.idstringLinked-Data URI (@id) format (uri)
data.recipient.0.identifierobject1 properties
data.recipient.0.imagetuple<object allOf, ...optional<any>>an ImageObject or URI reference to an image on the web.
data.recipient.0.image.0 (index)object allOf-
data.recipient.0.image.0.0 (allOf item)allOfan image, video or document availble for download
data.recipient.0.image.0.0.0 (allOf item)object-
data.recipient.0.image.0.0.0.typestringThe item type (Linked-Data @type) pattern (^[A-Z][a-zA-Z0-9]+$)
data.recipient.0.image.0.0.0.@idstringthe liked data uri for the Thing format (uri)
data.recipient.0.image.0.0.0 (property names)-pattern (^[a-z@$][a-zA-Z0-9-_]+$)
data.recipient.0.image.0.0.1 (allOf item)--
data.recipient.0.image.0.0.1.typestringallowed ("MediaObject", "ImageObject", "DigitalDocument")
data.recipient.0.image.0.0.1.idstringthe URL to access the item. format (uri)
data.recipient.0.image.0.0.1.namestringthe file name of the object.
data.recipient.0.image.0.0.1.encodingFormatstringMIME type
data.recipient.0.image.0.0.1.aboutstringURI to the subject of the image or logo format (uri)
data.recipient.0.image.0.0.1.urlstringURL of the image content format (uri)
data.recipient.0.image.0.1 (allOf item)--
data.recipient.0.image.0.1.typestringallowed ("ImageObject")
data.recipient.0.image.0.1.idany-
data.recipient.0.image.0.1.nameany-
data.recipient.0.image.0.1.encodingFormatany-
data.recipient.0.jobTitlearray<string>-
data.recipient.0.jobTitle (single item)stringThe job title of the person (for example, Financial Manager).
data.recipient.0.memberOfarray<anyOf>an Organization (or ProgramMembership) to which this Person or Organization belongs.
data.recipient.0.memberOf (single item)anyOf-
data.recipient.0.memberOf.0 (anyOf item)objectdescribes a role played by a member and a group or organization.
data.recipient.0.memberOf.0.typestringallowed ("OrganizationRole") a role played by the member in the memberOf group
data.recipient.0.memberOf.0.roleNamestringthe role name
data.recipient.0.memberOf.0.memberOfobjectthe org or group where the role is performed
data.recipient.0.memberOf.0.memberstringmember object or id format (uri)
data.recipient.0.memberOf.0.startDatestringdate the member began performing this role format (date-time)
data.recipient.0.memberOf.0.endDatestringdate the member stopped performing the role format (date-time)
data.recipient.0.memberOf.1 (anyOf item)stringformat (uri)
data.recipient.0.namestring-
data.recipient.0.parentOrganizationarray<string>organizations of which this org is a part.
data.recipient.0.parentOrganization (single item)stringformat (uri)
data.recipient.0.permitobjectA permit issued by an organization to an individual or business.
data.recipient.0.permit.typestringallowed ("Permit") Permit type.
data.recipient.0.permit.namestringCommon or display value of the Permit.
data.recipient.0.permit.issuedByobjectThe issuing authority
data.recipient.0.permit.issuedThroughobjectthe service through which the permit was granted
data.recipient.0.permit.validInobject-
data.recipient.0.permit.validFromstringstart date format (date-time)
data.recipient.0.permit.validUntilstringend date format (date-time)
data.recipient.0.subOrganizationarray<string>child organizations of the organization
data.recipient.0.subOrganization (single item)stringformat (uri)
data.recipient.0.urlstringURL of the item. format (uri)
data.recipient.1 (oneOf item)object-
data.recipient.1.typestring-
data.recipient.1.affiliationarray<string>An organization that this person is affiliated with
data.recipient.1.affiliation (single item)stringformat (uri)
data.recipient.1.addressarray<object>-
data.recipient.1.address.typestringconst ("PostalAddress")
data.recipient.1.address.streetAddressstringthe street address <= 75 characters
data.recipient.1.address.postOfficeBoxNumberstringThe post office box number for PO box addresses.
data.recipient.1.address.addressRegionstringabbreviated state or province
data.recipient.1.address.addressLocalitystringCity, Township. <= 50 characters
data.recipient.1.address.postalCodestringZip/Post Code <= 12 characters
data.recipient.1.address.addressCountrystringallowed ("CA", "DE", "GR", "IN", "IT", "MX", "PE", "PT", "ES", "AE", "GB", "US") two-letter ISO 3166-1 alpha-2 country code
data.recipient.1.address.addressCountystringCounty
data.recipient.1.address.addressSubdivisionstringthe subdivision or neighborhood (us real estate extension)
data.recipient.1.birthDatestringdate of birth. format (date)
data.recipient.1.contactPointarray<object>contact points for the person
data.recipient.1.contactPoint.typestringconst ("ContactPoint")
data.recipient.1.contactPoint.namestringa label for the contactPoint, i.e. 'Work', or 'Home'
data.recipient.1.contactPoint.telephonestring-
data.recipient.1.contactPoint.faxNumberstring-
data.recipient.1.contactPoint.emailstringan email address for the item. format (email)
data.recipient.1.contactPoint.urlstringprimary URL for the item. format (uri)
data.recipient.1.emailstringa valid email address format (email)
data.recipient.1.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.recipient.1.familyNamestringLast Name of a person. Family Name <= 50 characters
data.recipient.1.faxNumberstringDo people still use fax machines?
data.recipient.1.givenNamestringFirst Name of a person
data.recipient.1.honorificPrefixstringAn honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
data.recipient.1.honorificSuffixstringAn honorific title following a person's name like M.D.
data.recipient.1.jobTitlearray<string>job tiles associated with the item
data.recipient.1.jobTitle (single item)string-
data.recipient.1.knowsLanguagearray<object>languages spoken by the person
data.recipient.1.knowsLanguage.typestringconst ("Language")
data.recipient.1.knowsLanguage.namestringthe display name of the language
data.recipient.1.knowsLanguage.additionalNamestringBCP 47 language code
data.recipient.1.namestringFull name of the person.
data.recipient.1.telephonestringPrimary phone number.
data.recipient.1.worksForstringOrganizations the person works for.

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