UNPKG

dawn-interfaces

Version:

Dawn application interfaces

103 lines (102 loc) 2.85 kB
import { ISRListing } from "../srets"; export declare enum EAreaType { city = "city", neighborhood = "neighborhood" } export interface IMapLocation { id: string; updatedAt?: Date; locationName: string; centerLocationLat: number; centerLocationLng: number; coordinateBoundaries: number[][]; smallerCoordinates: number[][]; usState: string; } export interface IMetricSplitsNumeric { entityCount: number; average: number; median: number; p10: number; p25: number; p75: number; p90: number; min: number; max: number; } export interface IMetricSplitsString { median: string; p10: string; p25: string; p75: string; p90: string; min: string; max: string; } export interface IMetricSplits { values: IMetricSplitsNumeric; mlsListingIdPointers: IMetricSplitsString; } export interface IMetric { id: string; locationId: string; dateId: number; updatedAt: Date; totalClosedHomes: number; totalActiveHomes: number; totalNewlyActiveHomes: number; totalSalesVolume: number; totalPotentialSalesVolume: number; homesDaysOnMarket?: IMetricSplits | null; listingPrice?: IMetricSplits | null; closingPrice?: IMetricSplits | null; totalHomesSoldOverListingPrice: number; closePriceAsPercentOfListPrice?: IMetricSplits | null; squareFt?: IMetricSplits | null; pricePerSquareFt?: IMetricSplits | null; medianYearBuilt?: number | null; newlyActiveListingDrilldown: string[]; activeListingDrilldown: string[]; closedListingDrilldown: string[]; } export interface IGeneratedMetrics { [locationId: string]: IMetric[]; } export interface ILocationListingsObject { [locationId: string]: ISRListing[]; } export declare enum EHomeStatus { closed = "Closed", pending = "Pending", activeUnderContract = "ActiveUnderContract", active = "Active" } export declare enum EHomeType { residential = "RES", rental = "RNT", land = "LND", multifamily = "MLF", commercial = "CRE" } export interface IMapListing { mlsListingId: string; closePrice?: number | null; closeDate?: Date | null; listPrice?: number | null; longitude?: number | null; latitude?: number | null; retsJson: ISRListing; updatedAt: Date; locationId: string; homeType?: EHomeType | null; homeStatus?: EHomeStatus | null; agentId?: string | null; agencyId?: string | null; } export declare const mlsListingIdBreakPointCharacter = "|"; export declare const getMlsListingId: (mlsId: string, listingId: string) => string; export declare const getMlsListingIdFromListing: (listing: ISRListing) => string; export declare const stripMlsListingId: (mlsListingId: string) => { mlsId: string | undefined; listingId: string | undefined; };