@realestate/types
Version:
Types for real estate
236 lines (210 loc) • 9.91 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 { SearchQueryType } from './SearchQueryType';
import { OUID } from './OUID';
import { ResourceName } from './ResourceName';
import { ClassName } from './ClassName';
import { Member } from './Member';
import { SavedSearchType } from './SavedSearchType';
import { SearchQueryExceptions } from './SearchQueryExceptions';
export interface SavedSearch {
/**
* {@link https://ddwiki.reso.org/display/DDW17/ClassName+%28SavedSearch%29+Field}
*
* The class or table to which the SearchQuery criteria refers. i.e. Residential, Residential Lease, Income,
* Mobile, etc.
*/
ClassName?: ClassName;
/**
* {@link https://ddwiki.reso.org/display/DDW17/MemberKey+%28SavedSearch%29+Field}
*
* A system unique identifier. Specifically, in aggregation systems, the MemberKey is the system unique
* identifier from the system that the record was retrieved. This may be identical to the related xxxId.
* This is a foreign key relating to the Member resource's MemberKey.
*/
MemberKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/MemberKeyNumeric+%28SavedSearch%29+Field}
*
* A system unique identifier. Specifically, in aggregation systems, the MemberKey is the system unique
* identifier from the system that the record was retrieved. This may be identical to the related xxxId.
* This is a foreign key relating to the Member resource's MemberKey. This is the numeric only key and used
* as an alternative to the MemberKey field.
*/
MemberKeyNumeric?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/MemberMlsId+%28SavedSearch%29+Field}
*
* The local, well-known identifier for the member. This value may not be unique, specifically in the case
* of aggregation systems, this value should be the identifier from the original system.
*/
MemberMlsId?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ModificationTimestamp+%28SavedSearch%29+Field}
*
* The transactional timestamp automatically recorded by the MLS system representing the date/time the saved
* search was last modified.
*/
ModificationTimestamp?: Date;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginalEntryTimestamp+%28SavedSearch%29+Field}
*
* The transactional timestamp automatically recorded by the MLS system representing the date/time the saved
* search was entered.
*/
OriginalEntryTimestamp?: Date;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemID+%28SavedSearch%29+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 Saved
* Search was input. In cases where the Originating system was not where the record originated (the
* authoritative system), see the Originating System fields.
*/
OriginatingSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemKey+%28SavedSearch%29+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
* Saved Search 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.
*/
OriginatingSystemKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemMemberKey+%28SavedSearch%29+Field}
*
* Unique identifier from the originating system which is commonly a key to that system. In the case where
* data is passed through more than one system, this is the originating system key. This is a foreign key
* relating to the system where this record was originated.
*/
OriginatingSystemMemberKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemMemberName+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. To be used for display.
*/
OriginatingSystemMemberName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/OriginatingSystemName+%28SavedSearch%29+Field}
*
* The name of the Originating record provider. Most commonly the name of the MLS. The place where the
* Saved Search is originally input. The legal name of the company.
*/
OriginatingSystemName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/ResourceName+%28SavedSearch%29+Field}
*
* The resource to which the SearchQuery criteria refers. i.e. Property, Open House, Agent, Office, Contact,
* etc.
*/
ResourceName?: ResourceName;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SavedSearchDescription+Field}
*
* A textual description of the saved search input by the member who created the saved search.
*/
SavedSearchDescription?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SavedSearchKey+Field}
*
* A unique identifier for this record from the immediate source. This may be a number, or string that can
* include URI or other forms. This is the system you are connecting to and not necessarily the original
* source of the record.
*/
SavedSearchKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SavedSearchKeyNumeric+Field}
*
* A unique identifier for this record from the immediate source. This may be a number, or string that can
* include URI or other forms. This is the system you are connecting to and not necessarily the original
* source of the record. This is the numeric only key and used as an alternative to the SavedSearchKey
* field.
*/
SavedSearchKeyNumeric?: number;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SavedSearchName+Field}
*
* The name given to the search by the member inputting the saved search.
*/
SavedSearchName?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SavedSearchType+Field}
*
* Is the saved search used to pass criteria to be stored and executed by the client or is the saved search
* a key to be passed to the host for execution. i.e. Client Receives Criteria, Host Returns Listings.
* This may be described at the record level with this field, or at some other level of implementation to be
* determined by RESO R&D.
*/
SavedSearchType?: SavedSearchType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SearchQuery+Field}
*
* Textual representation of the search performed by the member that was saved. It is required to present
* in ODATA's $filter format. Additional formats are under review. See additional documentation for
* specific requirements for this field.
*/
SearchQuery?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SearchQueryExceptionDetails+Field}
*
* A free text description used to expand on the SearchQueryExceptions selections made by the host.
*/
SearchQueryExceptionDetails?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SearchQueryExceptions+Field}
*
* A list of exceptions or errors with the given search query during it's creation by the host. Analogous
* to an error code this is the host's opportunity to describe an inability to fully express a saved search
* under the constraints of the given protocol. i.e. $filter. The client may use this information to bring
* attention to the user about a given saved search and a need to review or recreate the search.
*/
SearchQueryExceptions?: SearchQueryExceptions;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SearchQueryHumanReadable+Field}
*
* A human readable version of the search query that is commonly used for display and may not contain all
* actual criteria. For actual search criteria, use the SearchQuery field.
*/
SearchQueryHumanReadable?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SearchQueryType+Field}
*
* A picklist of the type of query language used in the SearchQuery field. i.e. DMQL2, $filter, etc.
*/
SearchQueryType?: SearchQueryType;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SourceSystemID+%28SavedSearch%29+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.
*/
SourceSystemID?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SourceSystemKey+%28SavedSearch%29+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.
*/
SourceSystemKey?: string;
/**
* {@link https://ddwiki.reso.org/display/DDW17/SourceSystemName+%28SavedSearch%29+Field}
*
* The name of the Saved Search record provider. The system from which the record was directly received.
* The legal name of the company.
*/
SourceSystemName?: string;
Member?: Member;
OriginatingSystem?: OUID;
SourceSystem?: OUID;
}