samls-js-integration 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +1 -0
  3. package/lib/clients/ListingClient.ts +19 -0
  4. package/lib/clients/MlsClient.ts +13 -0
  5. package/lib/clients/index.ts +2 -0
  6. package/lib/globals/HttpModule.ts +7 -0
  7. package/lib/globals/interfaces/IApiResponse.ts +5 -0
  8. package/lib/globals/interfaces/IPagination.ts +4 -0
  9. package/lib/globals/interfaces/index.ts +2 -0
  10. package/lib/index.ts +2 -0
  11. package/lib/models/Address/AddressDetailModel.ts +40 -0
  12. package/lib/models/Address/AddressQueryModel.ts +5 -0
  13. package/lib/models/Address/index.ts +2 -0
  14. package/lib/models/Agent/AgentInfoModel.ts +28 -0
  15. package/lib/models/Agent/AgentModel.ts +8 -0
  16. package/lib/models/Agent/GetAgentRequestModel.ts +8 -0
  17. package/lib/models/Agent/GetAgentsRequestModel.ts +9 -0
  18. package/lib/models/Agent/OfficeModel.ts +20 -0
  19. package/lib/models/Agent/index.ts +5 -0
  20. package/lib/models/Common/GlobalQueryModel.ts +2 -0
  21. package/lib/models/Common/LocationModel.ts +4 -0
  22. package/lib/models/Common/PaginationOptions.ts +4 -0
  23. package/lib/models/Common/Point.ts +10 -0
  24. package/lib/models/Common/index.ts +4 -0
  25. package/lib/models/Entities/AddressDetail.ts +46 -0
  26. package/lib/models/Entities/AddressPolygon.ts +11 -0
  27. package/lib/models/Entities/Entity.ts +11 -0
  28. package/lib/models/Entities/Listing.ts +87 -0
  29. package/lib/models/Entities/ListingOpenHouse.ts +26 -0
  30. package/lib/models/Entities/ListingSchool.ts +10 -0
  31. package/lib/models/Entities/Polygon.ts +23 -0
  32. package/lib/models/Entities/Property.ts +60 -0
  33. package/lib/models/Entities/PropertyFeature.ts +13 -0
  34. package/lib/models/Entities/School.ts +19 -0
  35. package/lib/models/Entities/index.ts +10 -0
  36. package/lib/models/Enums/AgentTypeEnum.ts +7 -0
  37. package/lib/models/Enums/AssociationFeeFrequencyEnum.ts +13 -0
  38. package/lib/models/Enums/AuthenticationTypeEnum.ts +6 -0
  39. package/lib/models/Enums/CurrencyEnum.ts +5 -0
  40. package/lib/models/Enums/DirectionFacesEnum.ts +11 -0
  41. package/lib/models/Enums/FeatureSourceEnum.ts +15 -0
  42. package/lib/models/Enums/GeometryTypeEnum.ts +10 -0
  43. package/lib/models/Enums/ListingStatusEnum.ts +35 -0
  44. package/lib/models/Enums/ListingTypeClassEnum.ts +5 -0
  45. package/lib/models/Enums/ListingTypeEnum.ts +20 -0
  46. package/lib/models/Enums/MLSEnum.ts +38 -0
  47. package/lib/models/Enums/OrderByOptions.ts +6 -0
  48. package/lib/models/Enums/OwnershipTypeEnum.ts +26 -0
  49. package/lib/models/Enums/PhysicalPropertyClassEnum.ts +6 -0
  50. package/lib/models/Enums/PhysicalPropertyTypeEnum.ts +55 -0
  51. package/lib/models/Enums/PlatformEnum.ts +6 -0
  52. package/lib/models/Enums/ProcessingStatusEnum.ts +8 -0
  53. package/lib/models/Enums/ProcessingTypeEnum.ts +5 -0
  54. package/lib/models/Enums/PropertyConditionEnum.ts +21 -0
  55. package/lib/models/Enums/PropertyLevelEnum.ts +16 -0
  56. package/lib/models/Enums/StreetDirectionEnum.ts +15 -0
  57. package/lib/models/Enums/StreetSuffixEnum.ts +245 -0
  58. package/lib/models/Enums/index.ts +23 -0
  59. package/lib/models/Feature/CategoryModel.ts +4 -0
  60. package/lib/models/Feature/FeatureModel.ts +11 -0
  61. package/lib/models/Feature/SubCategoryModel.ts +4 -0
  62. package/lib/models/Feature/index.ts +3 -0
  63. package/lib/models/Listing/ClusteringFilterRequestBaseModel.ts +17 -0
  64. package/lib/models/Listing/ClusteringFilterResponseModel.cs +29 -0
  65. package/lib/models/Listing/GetByAddressRequestModel.cs +21 -0
  66. package/lib/models/Listing/GetByAgentRequestModel.cs +13 -0
  67. package/lib/models/Listing/GetByIdRequestModel.cs +7 -0
  68. package/lib/models/Listing/GetByMlsIdRequestModel.ts +5 -0
  69. package/lib/models/Listing/GetListingsByFilterRequestModel.ts +19 -0
  70. package/lib/models/Listing/GetMapListingsRequestModel.cs +16 -0
  71. package/lib/models/Listing/GetNearByListingsRequestModel.cs +17 -0
  72. package/lib/models/Listing/GetPhotosByIdsRequestModel.cs +6 -0
  73. package/lib/models/Listing/ListingDistancedModel.cs +7 -0
  74. package/lib/models/Listing/ListingModel.ts +88 -0
  75. package/lib/models/Listing/ListingsLocationQueryModel.cs +16 -0
  76. package/lib/models/Listing/LocationOptions.cs +8 -0
  77. package/lib/models/Listing/NearByListingsResponse.cs +37 -0
  78. package/lib/models/Listing/OpenHouseLiteModel.cs +7 -0
  79. package/lib/models/Listing/OpenHouseModel.ts +21 -0
  80. package/lib/models/Listing/PhotoModel.ts +10 -0
  81. package/lib/models/Listing/PropertyModel.ts +57 -0
  82. package/lib/models/Listing/RentPriceModel.ts +35 -0
  83. package/lib/models/Listing/StyleModel.ts +5 -0
  84. package/lib/models/Listing/WalkScoreModel.ts +10 -0
  85. package/lib/models/Listing/index.ts +9 -0
  86. package/lib/models/Mls/MlsInfoModel.ts +9 -0
  87. package/lib/models/Mls/index.ts +1 -0
  88. package/lib/models/Polygon/PolygonFilterRequestModel.ts +18 -0
  89. package/lib/models/Polygon/PolygonFilterResponseModel.cs +9 -0
  90. package/lib/models/Polygon/PolygonLiteResponseModel.cs +18 -0
  91. package/lib/models/Polygon/PolygonResponseModel.cs +22 -0
  92. package/lib/models/Polygon/PolygonsQueryModel.cs +12 -0
  93. package/lib/models/School/SchoolIdentifierModel.ts +8 -0
  94. package/lib/models/School/SchoolModel.ts +14 -0
  95. package/lib/models/School/SchoolsByRadiusBatchRequestModel.cs +6 -0
  96. package/lib/models/School/SchoolsByRadiusRequestModel.cs +10 -0
  97. package/lib/models/School/index.ts +1 -0
  98. package/lib/models/index.ts +8 -0
  99. package/lib/services/SamlsClient.ts +6 -0
  100. package/package.json +29 -0
@@ -0,0 +1,35 @@
1
+ export enum ListingStatusEnum {
2
+ NotMapped = -1,
3
+ Other = 0,
4
+ Active,
5
+ ActiveUnderContract,
6
+ Auction,
7
+ ComingSoon,
8
+ Closed,
9
+ Expired,
10
+ Withdrawn,
11
+ Pending,
12
+ Cancelled,
13
+ TemporaryOffMarket,
14
+ Incomplete,
15
+ }
16
+
17
+ // Extension methods
18
+ function IsActiveListing(status: ListingStatusEnum): boolean {
19
+ return (
20
+ status === ListingStatusEnum.Active ||
21
+ status === ListingStatusEnum.ActiveUnderContract ||
22
+ status === ListingStatusEnum.Auction ||
23
+ status === ListingStatusEnum.ComingSoon
24
+ );
25
+ }
26
+
27
+ function IsArchiveListing(status: ListingStatusEnum): boolean {
28
+ return !IsActiveListing(status);
29
+ }
30
+
31
+ // // Usage example
32
+ // const status: ListingStatusEnum = ListingStatusEnum.Active;
33
+ // console.log(listingStatusDisplayNames[status]); // "Active"
34
+ // console.log(IsActiveListing(status)); // true
35
+ // console.log(IsArchiveListing(status)); // false
@@ -0,0 +1,5 @@
1
+ export enum ListingTypeClassEnum {
2
+ Rental,
3
+ Residential,
4
+ Other,
5
+ }
@@ -0,0 +1,20 @@
1
+ export enum ListingTypeEnum {
2
+ NotMapped = -1,
3
+ Other,
4
+ CommercialLease,
5
+ CommercialSale,
6
+ FarmSale,
7
+ FarmLease,
8
+ LandSale,
9
+ LandLease,
10
+ ResidentialSale,
11
+ ResidentialLease,
12
+ ResidentialIncome,
13
+ BoatDockSale,
14
+ BoatDockLease,
15
+ BusinessOpportunity,
16
+ }
17
+
18
+ // // Usage example
19
+ // const typeName: ListingTypeEnum = ListingTypeEnum.ResidentialSale;
20
+ // console.log(listingTypeEnumDisplayNames[typeName]); // "Residential sale"
@@ -0,0 +1,38 @@
1
+ export enum MLSEnum {
2
+ HAR = 1,
3
+ ONEKEY,
4
+ STELLAR,
5
+ MLSPIN,
6
+ NABOR,
7
+ MIAMIRE,
8
+ REBNY,
9
+ GLVAR,
10
+ FTL,
11
+ ACTRIS,
12
+ RAIRC,
13
+ BCS,
14
+ CTEXAS,
15
+ CRMLS,
16
+ RAMC,
17
+ AGS,
18
+ PBB,
19
+ NEFAR,
20
+ VAIL,
21
+ MOMLS,
22
+ SBR,
23
+ GRW,
24
+ IRESDS,
25
+ RECO,
26
+ SABOR,
27
+ NTREIS,
28
+ HCMLS,
29
+ CLAW,
30
+ NJMLS,
31
+ GSMLS,
32
+ MLSL,
33
+ SMART,
34
+ BRIGHT,
35
+ NCB,
36
+ OEAST,
37
+ EELI,
38
+ }
@@ -0,0 +1,6 @@
1
+ export enum OrderByOptions {
2
+ ByPrice = 1,
3
+ ByPricePerSquareFeet = 2,
4
+ ByNewest = 3,
5
+ BySize = 4,
6
+ }
@@ -0,0 +1,26 @@
1
+ export enum OwnershipTypeEnum {
2
+ NotMapped = -1,
3
+ CoOp = 1,
4
+ CondoMinium, //TODO this was Condominium after convertion
5
+ Corporation,
6
+ FeeSimple,
7
+ Fractional,
8
+ Franchise,
9
+ HomeownerAssociation,
10
+ JointTenancy,
11
+ Partnership,
12
+ Private,
13
+ SoleProprietor,
14
+ TenancyByEntirety,
15
+ TenancyInCommon,
16
+ Timeshare,
17
+ LimitedPartnership,
18
+ REO,
19
+ CorporateRELOOwned,
20
+ HUDOwned,
21
+ VAOwned,
22
+ }
23
+
24
+ // // Usage example
25
+ // const ownershipType: OwnershipTypeEnum = OwnershipTypeEnum.FeeSimple;
26
+ // console.log(ownershipTypeEnumDisplayNames[ownershipType]); // "Fee Simple"
@@ -0,0 +1,6 @@
1
+ export enum PhysicalPropertyClassEnum {
2
+ Residential,
3
+ NonResidential,
4
+ Land,
5
+ Other,
6
+ }
@@ -0,0 +1,55 @@
1
+ export enum PhysicalPropertyTypeEnum {
2
+ NotMapped = -1,
3
+ Other = 0,
4
+ HighRise,
5
+ Apartment,
6
+ Attached,
7
+ CoOp,
8
+ Condominium,
9
+ DetachedSingle,
10
+ Duplex,
11
+ Fourplex,
12
+ ManufacturedHome,
13
+ MixedUse,
14
+ MobileHome,
15
+ ModularHome,
16
+ MultiFamily,
17
+ Residential,
18
+ SingleFamily,
19
+ Timeshare,
20
+ Townhouse,
21
+ Triplex,
22
+ Villa,
23
+ AgriculturalLand,
24
+ BoatSlip,
25
+ Business,
26
+ Commercial,
27
+ DeededParking,
28
+ Farm,
29
+ HotelMotel,
30
+ Industrial,
31
+ Office,
32
+ Recreation,
33
+ Restaurant,
34
+ Retail,
35
+ SitePlanned,
36
+ SpecialPurpose,
37
+ StockCooperative,
38
+ Warehouse,
39
+ CommercialLand,
40
+ ImprovedLand,
41
+ Land,
42
+ MultifamilyLot,
43
+ MultipleParcels,
44
+ RVLot,
45
+ SingleFamilyLot,
46
+ UnimprovedLand,
47
+ RanchLand,
48
+ AccessoryApartment,
49
+ GarageApartment,
50
+ PUD,
51
+ }
52
+
53
+ // Usage example
54
+ // const propertyType: PhysicalPropertyTypeEnum = PhysicalPropertyTypeEnum.DetachedSingleFamilyResidence;
55
+ // console.log(physicalPropertyTypeEnumDisplayNames[propertyType]); // "Detached single family residence"
@@ -0,0 +1,6 @@
1
+ export enum PlatformEnum {
2
+ None = 0,
3
+ Bridge,
4
+ Trestle,
5
+ Spark,
6
+ }
@@ -0,0 +1,8 @@
1
+ export enum ProcessingStatusEnum {
2
+ Processing = -2, //TODO why some of them are starting from -2
3
+ NotReady,
4
+ NotProcessed,
5
+ Processed,
6
+ Skipped,
7
+ Failed,
8
+ }
@@ -0,0 +1,5 @@
1
+ export enum ProcessingTypeEnum {
2
+ ImageProcessing = 1,
3
+ NLProcessing,
4
+ GeoProcessing,
5
+ }
@@ -0,0 +1,21 @@
1
+ export enum PropertyConditionEnum {
2
+ NotMapped = -1,
3
+ ToBeBuilt = 1, // Display Name: "To Be Built"
4
+ UnderConstruction, // Display Name: "Under Construction"
5
+ Resale, // Display Name: "Resale"
6
+ NewConstruction, // Display Name: "New Construction"
7
+ UpdatedOrRemodeled, // Display Name: "Updated or Remodeled"
8
+ TeardownValueinLand, // Display Name: "Teardown / Value in Land"
9
+ FixerUpper, // Display Name: "Fixer-upper"
10
+ Good, // Display Name: "Good"
11
+ Excellent, // Display Name: "Excellent"
12
+ VeryGood, // Display Name: "Very Good"
13
+ Poor, // Display Name: "Poor"
14
+ Average, // Display Name: "Average"
15
+ Unknown, // Display Name: "Unknown"
16
+ SeeRemarks, // Display Name: "See Remarks"
17
+ }
18
+
19
+ // Usage example
20
+ // const condition: PropertyConditionEnum = PropertyConditionEnum.NewConstruction;
21
+ // console.log(propertyConditionEnumDisplayNames[condition]); // "New Construction"
@@ -0,0 +1,16 @@
1
+ export enum PropertyLevelEnum {
2
+ NotMapped = -1,
3
+ Other,
4
+ One,
5
+ Two,
6
+ OneAndHalf,
7
+ TwoAndHalf,
8
+ ThreeOrMore,
9
+ SplitLevel,
10
+ SplitEntry,
11
+ FrontToBackSplit,
12
+ }
13
+
14
+ // Usage example
15
+ // const level: PropertyLevelEnum = PropertyLevelEnum.Two;
16
+ // console.log(propertyLevelEnumDisplayNames[level]);
@@ -0,0 +1,15 @@
1
+ export enum StreetDirectionEnum {
2
+ NotMapped = -1,
3
+ North = 1,
4
+ NorthEast,
5
+ East,
6
+ SouthEast,
7
+ South,
8
+ SouthWest,
9
+ West,
10
+ NorthWest,
11
+ }
12
+
13
+ // Usage example
14
+ // const direction: StreetDirectionEnum = StreetDirectionEnum.East;
15
+ // console.log(streetDirectionEnumDisplayNames[direction]); // "E"
@@ -0,0 +1,245 @@
1
+ export enum StreetSuffixEnum {
2
+ NotMapped = -1,
3
+ Alley = 1,
4
+ Anex,
5
+ Arcade,
6
+ Avenue,
7
+ Bayou,
8
+ Beach,
9
+ Bend,
10
+ Bluff,
11
+ Bluffs,
12
+ Bottom,
13
+ Boulevard,
14
+ Branch,
15
+ Bridge,
16
+ Brook,
17
+ Bypass,
18
+ Camp,
19
+ Canyon,
20
+ Cape,
21
+ Causeway,
22
+ Center,
23
+ Circle,
24
+ Circles,
25
+ Cliff,
26
+ Cliffs,
27
+ Club,
28
+ Common,
29
+ Commons,
30
+ Corner,
31
+ Corners,
32
+ Course,
33
+ Court,
34
+ Courts,
35
+ Cove,
36
+ Coves,
37
+ Creek,
38
+ Crescent,
39
+ Crest,
40
+ Crossing,
41
+ Crossroad,
42
+ Crossroads,
43
+ Curve,
44
+ Dale,
45
+ Dam,
46
+ Divide,
47
+ Drive,
48
+ Drives,
49
+ Estate,
50
+ Estates,
51
+ Expressway,
52
+ Extension,
53
+ Fall,
54
+ Falls,
55
+ Ferry,
56
+ Field,
57
+ Fields,
58
+ Flat,
59
+ Flats,
60
+ Ford,
61
+ Forest,
62
+ Forge,
63
+ Fork,
64
+ Fort,
65
+ Freeway,
66
+ Garden,
67
+ Gardens,
68
+ Gateway,
69
+ Glen,
70
+ Green,
71
+ Greens,
72
+ Grove,
73
+ Harbor,
74
+ Haven,
75
+ Heights,
76
+ Highway,
77
+ Hill,
78
+ Hills,
79
+ Hollow,
80
+ Island,
81
+ Islands,
82
+ Isle,
83
+ Junction,
84
+ Key,
85
+ Knoll,
86
+ Knolls,
87
+ Lake,
88
+ Lakes,
89
+ Land,
90
+ Landing,
91
+ Lane,
92
+ Light,
93
+ Lights,
94
+ Lock,
95
+ Lodge,
96
+ Loop,
97
+ Mall,
98
+ Manor,
99
+ Meadow,
100
+ Meadows,
101
+ Mews,
102
+ Mill,
103
+ Mills,
104
+ Mission,
105
+ Mount,
106
+ Mountain,
107
+ Neck,
108
+ Orchard,
109
+ Oval,
110
+ Overpass,
111
+ Park,
112
+ Parkway,
113
+ Pass,
114
+ Passage,
115
+ Path,
116
+ Pike,
117
+ Pine,
118
+ Pines,
119
+ Place,
120
+ Plain,
121
+ Plains,
122
+ Plaza,
123
+ Point,
124
+ Port,
125
+ Prairie,
126
+ Radial,
127
+ Ranch,
128
+ Rapid,
129
+ Rapids,
130
+ Rest,
131
+ Ridge,
132
+ Ridges,
133
+ River,
134
+ Road,
135
+ Roads,
136
+ Route,
137
+ Row,
138
+ Rue,
139
+ Run,
140
+ Shoal,
141
+ Shore,
142
+ Shores,
143
+ Skyway,
144
+ Spring,
145
+ Springs,
146
+ Spur,
147
+ Square,
148
+ Station,
149
+ Stravenue,
150
+ Stream,
151
+ Street,
152
+ Streets,
153
+ Summit,
154
+ Terrace,
155
+ Trace,
156
+ Track,
157
+ Trail,
158
+ Trailer,
159
+ Turnpike,
160
+ Valley,
161
+ Viaduct,
162
+ View,
163
+ Views,
164
+ Village,
165
+ Villages,
166
+ Ville,
167
+ Vista,
168
+ Walk,
169
+ Way,
170
+ Ways,
171
+ Well,
172
+ Wells,
173
+ Brooks,
174
+ Burg,
175
+ Burgs,
176
+ Centers,
177
+ Extensions,
178
+ Fords,
179
+ Forges,
180
+ Forks,
181
+ Glens,
182
+ Groves,
183
+ Harbors,
184
+ Inlet,
185
+ Junctions,
186
+ Keys,
187
+ Loaf,
188
+ Locks,
189
+ Manors,
190
+ Motorway,
191
+ Mountains,
192
+ Parks,
193
+ Parkways,
194
+ Points,
195
+ Ports,
196
+ Ramp,
197
+ Shoals,
198
+ Spurs,
199
+ Squares,
200
+ Throughway,
201
+ Trafficway,
202
+ Tunnel,
203
+ Underpass,
204
+ Union,
205
+ Unions,
206
+ Valleys,
207
+ Walks,
208
+ Wall,
209
+ AveCir,
210
+ AveCt,
211
+ AveDr,
212
+ AveLn,
213
+ AvePkwy,
214
+ AvePl,
215
+ AveRd,
216
+ AveWay,
217
+ Bay,
218
+ Cay,
219
+ CirCt,
220
+ CirDr,
221
+ Crossway,
222
+ CtRd,
223
+ DrRd,
224
+ LnCt,
225
+ LnRd,
226
+ PlCt,
227
+ PlDr,
228
+ SqDr,
229
+ StCir,
230
+ StCt,
231
+ StDr,
232
+ StLn,
233
+ StPl,
234
+ StRd,
235
+ Downs,
236
+ Gate,
237
+ Prom,
238
+ Via,
239
+ Woods,
240
+ Close,
241
+ Trails,
242
+ Mile,
243
+ Chase,
244
+ LaneSpur,
245
+ }
@@ -0,0 +1,23 @@
1
+ //TODO combine all enums in this namespace
2
+ export * from "./AgentTypeEnum";
3
+ export * from "./AssociationFeeFrequencyEnum";
4
+ export * from "./AuthenticationTypeEnum";
5
+ export * from "./CurrencyEnum";
6
+ export * from "./DirectionFacesEnum";
7
+ export * from "./FeatureSourceEnum";
8
+ export * from "./GeometryTypeEnum";
9
+ export * from "./ListingStatusEnum";
10
+ export * from "./ListingTypeClassEnum";
11
+ export * from "./ListingTypeEnum";
12
+ export * from "./MLSEnum";
13
+ export * from "./OrderByOptions";
14
+ export * from "./OwnershipTypeEnum";
15
+ export * from "./PhysicalPropertyTypeEnum";
16
+ export * from "./PhysicalPropertyClassEnum";
17
+ export * from "./PlatformEnum";
18
+ export * from "./ProcessingStatusEnum";
19
+ export * from "./ProcessingTypeEnum";
20
+ export * from "./PropertyConditionEnum";
21
+ export * from "./PropertyLevelEnum";
22
+ export * from "./StreetSuffixEnum";
23
+ export * from "./StreetDirectionEnum";
@@ -0,0 +1,4 @@
1
+ export class CategoryModel {
2
+ id: number = 0;
3
+ name: string = '';
4
+ }
@@ -0,0 +1,11 @@
1
+ //Fully Cleaned
2
+ import { CategoryModel } from './CategoryModel';
3
+ import { SubCategoryModel } from './SubCategoryModel';
4
+
5
+ export class FeatureModel {
6
+ id: number = 0;
7
+ name: string = '';
8
+ weight: number = 0;
9
+ category: CategoryModel | null = null;
10
+ subCategory: SubCategoryModel | null = null;
11
+ }
@@ -0,0 +1,4 @@
1
+ export class SubCategoryModel {
2
+ id: number = 0;
3
+ name: string = '';
4
+ }
@@ -0,0 +1,3 @@
1
+ export * from './CategoryModel';
2
+ export * from './FeatureModel';
3
+ export * from './SubCategoryModel';
@@ -0,0 +1,17 @@
1
+ // using NetTopologySuite.Geometries;
2
+ // using Purlin.SAMLS.Integration.Model.Common;
3
+ //
4
+ // namespace Purlin.SAMLS.Integration.Model.Listing;
5
+ //
6
+ // public class ClusteringFilterRequestBaseModel
7
+ // {
8
+ // public int ZoomLevel { get; set; }
9
+ //
10
+ // public GlobalQueryModel Query { get; set; } = new ();
11
+ // }
12
+ //
13
+ //
14
+ // public class ClusteringFilterRequestModel : ClusteringFilterRequestBaseModel
15
+ // {
16
+ // public Geometry Polygon { get; set; }
17
+ // }
@@ -0,0 +1,29 @@
1
+ using Purlin.SAMLS.Integration.Model.Enums;
2
+
3
+ namespace Purlin.SAMLS.Integration.Model.Listing;
4
+
5
+ public class ClusteringFilterResponseModel
6
+ {
7
+ public int TotalCount { get; set; }
8
+ public IEnumerable<MarkerInfo> MarkersInfo { get; set; }
9
+ public IEnumerable<NonClusteredListingsInfo> NonClusteredListingsInfo { get; set; }
10
+ }
11
+
12
+ public class MarkerInfo
13
+ {
14
+ public int Count { get; set; }
15
+ public float Latitude { get; set; }
16
+ public float Longitude { get; set; }
17
+ }
18
+
19
+ public class NonClusteredListingsInfo
20
+ {
21
+ public long Id { get; set; }
22
+ public float Latitude { get; set; }
23
+ public float Longitude { get; set; }
24
+ public double? ListPrice { get; set; }
25
+ public RentPriceModel RentPrices { get; set; }
26
+ public ListingStatusEnum ListingStatus { get; set; }
27
+ public DateTime? ListingEntryTimestamp { get; set; }
28
+ public OpenHouseLiteModel OpenHouse { get; set; }
29
+ }
@@ -0,0 +1,21 @@
1
+ using System.Text.Json.Serialization;
2
+
3
+ namespace Purlin.SAMLS.Integration.Model.Listing;
4
+
5
+ public class GetByAddressRequestModel
6
+ {
7
+ [JsonPropertyName("fullAddress")]
8
+ public string FullAddress { get; set; }
9
+
10
+ [JsonPropertyName("skip")]
11
+ public int Skip { get; set; } = 0;
12
+
13
+ [JsonPropertyName("take")]
14
+ public int Take { get; set; } = 10;
15
+
16
+ [JsonPropertyName("activeStatusGroup")]
17
+ public bool ActiveStatusGroup { get; set; } = true;
18
+
19
+ [JsonPropertyName("fields")]
20
+ public List<string> Fields { get; set; } = new();
21
+ }
@@ -0,0 +1,13 @@
1
+ using Purlin.SAMLS.Integration.Model.Common;
2
+ using Purlin.SAMLS.Integration.Model.Enums;
3
+
4
+ namespace Purlin.SAMLS.Integration.Model.Listing;
5
+
6
+ public class GetByAgentRequestModel : PaginationOptions
7
+ {
8
+ public MLSEnum MlsId { get; set; }
9
+ public string AgentMlsId { get; set; }
10
+ public IEnumerable<AgentTypeEnum> AgentTypes { get; set; }
11
+ public bool ActiveStatusGroup { get; set; } = true;
12
+ public List<string> Fields { get; set; }
13
+ }
@@ -0,0 +1,7 @@
1
+ namespace Purlin.SAMLS.Integration.Model.Listing;
2
+
3
+ public class GetByIdRequestModel
4
+ {
5
+ public long Id { get; set; }
6
+ public List<string> Fields { get; set; }
7
+ }
@@ -0,0 +1,5 @@
1
+ //Fully cleaned
2
+ export class GetByMlsIdRequestModel {
3
+ MlsId: string = '';
4
+ Fields: string[] | null = null;
5
+ }
@@ -0,0 +1,19 @@
1
+ import { PaginationOptions } from '../Common';
2
+ import {
3
+ ListingStatusEnum,
4
+ ListingTypeEnum,
5
+ OrderByOptions,
6
+ PhysicalPropertyTypeEnum,
7
+ } from '../Enums';
8
+
9
+ export class GetListingsByFilterRequestModel extends PaginationOptions {
10
+ ListingTypes: ListingTypeEnum[] | null = null;
11
+ OrderBy: OrderByOptions | null = null;
12
+ NumberOfBedrooms: number | null = null;
13
+ MinPrice: number | null = null;
14
+ MaxPrice: number | null = null;
15
+ ListingStatuses: ListingStatusEnum[] | null = null;
16
+ PropertyTypes: PhysicalPropertyTypeEnum[] | null = null;
17
+ PlaceIds: number[] | null = null;
18
+ Fields: string[] | null = null;
19
+ }