@realestate/types
Version:
Types for real estate
475 lines (420 loc) • 18.4 kB
TypeScript
/**
* Copyright (c) 2023 ListBird. All Rights Reserved.
*
* This software product includes software or other works developed by RESO,
* subject to the RESO End User License published at www.reso.org.
*
* Any modifications, derivative works, or redistributions of this source must
* maintain this copyright notice. See the RESO EULA for more information.
*/
import { DeviceType } from './DeviceType';
import { ActorType } from './ActorType';
import { OUID } from './OUID';
import { EventType } from './EventType';
import { ObjectType } from './ObjectType';
import { StateOrProvince } from './StateOrProvince';
import { EventTarget } from './EventTarget';
import { ObjectIdType } from './ObjectIdType';
export interface InternetTracking {
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorCity+Field}
*
* The city location of the Actor as recorded by the source.
*/
ActorCity?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorEmail+Field}
*
* The email address of the Actor in this event.
*/
ActorEmail?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorID+Field}
*
* The local, well-known identifier the actor, provided by the source when applicable. This value may not
* be unique specifically in the case of aggregation systems, this value should be the human friendly
* identifier from the original system. Use of the ID may be common when the actor is an MLS or other
* software user. Otherwise, use the ActorKey or ActorKeyNumeric is recommended.
*/
ActorID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorIP+Field}
*
* The recorded IP address of the Actor in this event. IPv4 addresses are 15 charaters and IPv6 addresses
* are a max of 39 characters. IP addresses should not omit leading zeros. i.e. 10.1.1.1 should appear as
* 010.001.001.001.
*/
ActorIP?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorKey+Field}
*
* A unique identifier for this record from the immediate source. This is a string that can include URI or
* other forms. Alternatively use the MemberKeyNumeric for a numeric only key field. This is the local key
* of the system. When records are received from other systems, a local key is commonly applied. If
* conveying the original keys from the source or originating systems, utilize the SourceSystemActorKey
* and/or the OriginatingSystemActorKey.
*/
ActorKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorKeyNumeric+Field}
*
* A unique identifier for this record from the immediate source. This is the numeric only key and used as
* an alternative to the MemberKey fields. This is the local key of the system. When records are received
* from other systems, a local key is commonly applied. If conveying the original keys from the source or
* originating systems, utilize the SourceSystemActorKey and/or the OriginatingSystemActorKey.
*/
ActorKeyNumeric?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorLatitude+Field}
*
* The geographic latitude of some reference point for the location of the actor, specified in degrees and
* decimal parts. Positive numbers must not include the plus symbol.
*/
ActorLatitude?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorLongitude+Field}
*
* The geographic longitude of some reference point for the location of the actor, specified in degrees and
* decimal parts. Positive numbers must not include the plus symbol.
*/
ActorLongitude?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorOriginatingSystemID+Field}
*
* The RESO OUID's OrganizationUniqueId of the Originating record provider. The Originating system is the
* system with authoritative control over the record. For example; the name of the MLS where the listing
* was input. In cases where the Originating system was not where the record originated (the authoritative
* system), see the Originating System fields.
*/
ActorOriginatingSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorOriginatingSystemName+Field}
*
* The name of the Originating record provider. Most commonly the name of the MLS. The place where the
* listing is originally input by the member. The legal name of the company.
*/
ActorOriginatingSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorPhone+Field}
*
* The phone number of the Actor in this event.
*/
ActorPhone?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorPhoneExt+Field}
*
* The extension of the given phone number (if applicable).
*/
ActorPhoneExt?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorPostalCode+Field}
*
* The postal code of the Actor.
*/
ActorPostalCode?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorPostalCodePlus4+Field}
*
* The extension of the postal/zip code. i.e. +4
*/
ActorPostalCodePlus4?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorRegion+Field}
*
* A geographical region defined by the source. For this use, the regoin is not specifically at the city,
* county, state, country or contenant level and this is typical in internet tracking standards.
*/
ActorRegion?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorSourceSystemID+Field}
*
* The RESO OUID's OrganizationUniqueId of the Source record provider. The source system is the system from
* which the record was directly received. In cases where the source system was not where the record
* originated (the authoritative system), see the Originating System fields.
*/
ActorSourceSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorSourceSystemName+Field}
*
* The name of the immediate record provider. The system from which the record was directly received. The
* legal name of the company.
*/
ActorSourceSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorStateOrProvince+Field}
*
* The state or province location of the Actor as recorded by the source.
*/
ActorStateOrProvince?: StateOrProvince;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ActorType+Field}
*
* A list of actor types; where the event was originated. (i.e. Agent, Consumer, Bot) In implementation
* this is typically a required field
*/
ActorType?: ActorType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ColorDepth+Field}
*
* The color depth of the Actor's device display
*/
ColorDepth?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/DeviceType+Field}
*
* The device type used by the Actor (mobile, desktop etc...) in this event
*/
DeviceType?: DeviceType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventDescription+Field}
*
* A description of the event being tracked. (i.e. "the listing was viewed")
*/
EventDescription?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventKey+Field}
*
* A unique identifier for this record from the immediate source. This is a string that can include URI or
* other forms. Alternatively use the MemberKeyNumeric for a numeric only key field. This is the local key
* of the system. When records are received from other systems, a local key is commonly applied. If
* conveying the original keys from the source or originating systems, utilize the SourceSystemEventKey
* and/or the OriginatingSystemEventKey.
*/
EventKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventKeyNumeric+Field}
*
* A unique identifier for this record from the immediate source. This is the numeric only key and used as
* an alternative to the MemberKey fields. This is the local key of the system. When records are received
* from other systems, a local key is commonly applied. If conveying the original keys from the source or
* originating systems, utilize the SourceSystemEventKey and/or the OriginatingSystemEventKey.
*/
EventKeyNumeric?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventLabel+Field}
*
* A short description of the Event being tracked.
*/
EventLabel?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventOriginatingSystemID+Field}
*
* The RESO OUID's OrganizationUniqueId of the Originating record provider. The Originating system is the
* system with authoritative control over the record. For example; the name of the MLS where the listing
* was input. In cases where the Originating system was not where the record originated (the authoritative
* system), see the Originating System fields.
*/
EventOriginatingSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventOriginatingSystemName+Field}
*
* The name of the Originating record provider. Most commonly the name of the MLS. The place where the
* listing is originally input by the member. The legal name of the company.
*/
EventOriginatingSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventSourceSystemID+Field}
*
* The RESO OUID's OrganizationUniqueId of the Source record provider. The source system is the system from
* which the record was directly received. In cases where the source system was not where the record
* originated (the authoritative system), see the Originating System fields.
*/
EventSourceSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventSourceSystemName+Field}
*
* The name of the immediate record provider. The system from which the record was directly received. The
* legal name of the company.
*/
EventSourceSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventTarget+Field}
*
* A defined target of the event type.
*/
EventTarget?: EventTarget;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventTimestamp+Field}
*
* A UTC timestamp of when the event being tracked occurred. In implementation this is typically a required
* field.
*/
EventTimestamp?: Date;
/**
* {@link https://ddwiki.reso.org/display/DDW17/EventType+Field}
*
* The type of event being tracked. In implementation this is typically a required a field.
*/
EventType?: EventType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectID+Field}
*
* An ID pertaining to the ObjectType (i.e. the MLS listing id for ObjectType.Listing). When the
* ObjectIdType is a property, this should be a PUID.
*/
ObjectID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectIdType+Field}
*
* A label that defines the ObjectID field (i.e. ObjectID is an MLS listing ID or ObjectID is a unique ID
* from the source...)
*/
ObjectIdType?: ObjectIdType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectKey+Field}
*
* A unique identifier for this record from the immediate source. This is a string that can include URI or
* other forms. Alternatively use the MemberKeyNumeric for a numeric only key field. This is the local key
* of the system. When records are received from other systems, a local key is commonly applied. If
* conveying the original keys from the source or originating systems, utilize the SourceSystemObjectKey
* and/or the OriginatingSystemObjectKey.
*/
ObjectKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectKeyNumeric+Field}
*
* A unique identifier for this record from the immediate source. This is the numeric only key and used as
* an alternative to the MemberKey fields. This is the local key of the system. When records are received
* from other systems, a local key is commonly applied. If conveying the original keys from the source or
* originating systems, utilize the SourceSystemObjectKey and/or the OriginatingSystemObjectKey.
*/
ObjectKeyNumeric?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectOriginatingSystemID+Field}
*
* The RESO OUID's OrganizationUniqueId of the Originating record provider. The Originating system is the
* system with authoritative control over the record. For example; the name of the MLS where the listing
* was input. In cases where the Originating system was not where the record originated (the authoritative
* system), see the Originating System fields.
*/
ObjectOriginatingSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectOriginatingSystemName+Field}
*
* The name of the Originating record provider. Most commonly the name of the MLS. The place where the
* listing is originally input by the member. The legal name of the company.
*/
ObjectOriginatingSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectSourceSystemID+Field}
*
* The RESO OUID's OrganizationUniqueId of the Source record provider. The source system is the system from
* which the record was directly received. In cases where the source system was not where the record
* originated (the authoritative system), see the Originating System fields.
*/
ObjectSourceSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectSourceSystemName+Field}
*
* The name of the immediate record provider. The system from which the record was directly received. The
* legal name of the company.
*/
ObjectSourceSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectType+Field}
*
* The type of Object being tracked in this event. In implementation this is typically a required field.
*/
ObjectType?: ObjectType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ObjectURL+Field}
*
* The URL of the tracked event.
*/
ObjectURL?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemActorKey+Field}
*
* The system key, a unique record identifier, from the Originating system. The Originating system is the
* system with authoritative control over the record. For example, the Multiple Listing Service where the
* member was input. There may be cases where the Source System (how you received the record) is not the
* Originating System. See Source System Key for more information.
*/
OriginatingSystemActorKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemEventKey+Field}
*
* The system key, a unique record identifier, from the Originating system. The Originating system is the
* system with authoritative control over the record. For example, the Multiple Listing Service where the
* member was input. There may be cases where the Source System (how you received the record) is not the
* Originating System. See Source System Key for more information.
*/
OriginatingSystemEventKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemObjectKey+Field}
*
* The system key, a unique record identifier, from the Originating system. The Originating system is the
* system with authoritative control over the record. For example, the Multiple Listing Service where the
* member was input. There may be cases where the Source System (how you received the record) is not the
* Originating System. See Source System Key for more information.
*/
OriginatingSystemObjectKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ReferringURL+Field}
*
* The referring URL of the tracked event.
*/
ReferringURL?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ScreenHeight+Field}
*
* The screen height, in pixels, of the Actor's device
*/
ScreenHeight?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ScreenWidth+Field}
*
* The screen width, in pixels, of the Actor's device
*/
ScreenWidth?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SessionID+Field}
*
* A unique session ID number, created by the source, that can be used to query data for a single session
*/
SessionID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SourceSystemActorKey+Field}
*
* The system key, a unique record identifier, from the Source System. The Source System is the system from
* which the record was directly received. In cases where the Source System was not where the record
* originated (the authoritative system), see the Originating System fields.
*/
SourceSystemActorKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SourceSystemEventKey+Field}
*
* The system key, a unique record identifier, from the Source System. The Source System is the system from
* which the record was directly received. In cases where the Source System was not where the record
* originated (the authoritative system), see the Originating System fields.
*/
SourceSystemEventKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SourceSystemObjectKey+Field}
*
* The system key, a unique record identifier, from the Source System. The Source System is the system from
* which the record was directly received. In cases where the Source System was not where the record
* originated (the authoritative system), see the Originating System fields.
*/
SourceSystemObjectKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/TimeZoneOffset+Field}
*
* The timezone offset is the difference, in minutes, between UTC and local time.
*/
TimeZoneOffset?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/UserAgent+Field}
*
* The software agent acting on behalf of the user (Actor) in this event. This is commonly conveyed by
* browser applications. e.g. Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0). This can
* also be a user configurable string as seen in RETS client applications.
*/
UserAgent?: string;
ActorOriginatingSystem?: OUID;
ActorSourceSystem?: OUID;
EventOriginatingSystem?: OUID;
EventSourceSystem?: OUID;
ObjectOriginatingSystem?: OUID;
ObjectSourceSystem?: OUID;
}