@homespot-sdk/core 0.0.324 → 0.0.326

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.
@@ -420,6 +420,21 @@ export const TitleRequestSchema = {
420
420
  },
421
421
  required: ['title'],
422
422
  };
423
+ export const RateRecommendationItemRequestSchema = {
424
+ type: 'object',
425
+ properties: {
426
+ decision: {
427
+ type: 'string',
428
+ enum: ['MAYBE', 'DISLIKE', 'LIKE'],
429
+ },
430
+ note: {
431
+ type: 'string',
432
+ maxLength: 100,
433
+ minLength: 0,
434
+ },
435
+ },
436
+ required: ['decision'],
437
+ };
423
438
  export const RecommendListingRequestSchema = {
424
439
  type: 'object',
425
440
  properties: {
@@ -836,21 +851,6 @@ export const IdResponseIntegerSchema = {
836
851
  },
837
852
  required: ['id'],
838
853
  };
839
- export const RateRecommendationItemRequestSchema = {
840
- type: 'object',
841
- properties: {
842
- decision: {
843
- type: 'string',
844
- enum: ['MAYBE', 'DISLIKE', 'LIKE'],
845
- },
846
- note: {
847
- type: 'string',
848
- maxLength: 100,
849
- minLength: 0,
850
- },
851
- },
852
- required: ['decision'],
853
- };
854
854
  export const ContactInfoRequestSchema = {
855
855
  type: 'object',
856
856
  properties: {
@@ -1208,6 +1208,22 @@ export const IdResponseUUIDSchema = {
1208
1208
  },
1209
1209
  required: ['id'],
1210
1210
  };
1211
+ export const AddDealRequestSchema = {
1212
+ discriminator: {
1213
+ propertyName: 'type',
1214
+ mapping: {
1215
+ FIXED: '#/components/schemas/Fixed',
1216
+ PERCENTAGE: '#/components/schemas/Percentage',
1217
+ MONTHS_OF_RENT: '#/components/schemas/MonthsOfRent',
1218
+ },
1219
+ },
1220
+ properties: {
1221
+ type: {
1222
+ type: 'string',
1223
+ },
1224
+ },
1225
+ required: ['type'],
1226
+ };
1211
1227
  export const CreateListingRequestSchema = {
1212
1228
  type: 'object',
1213
1229
  properties: {
@@ -1218,31 +1234,113 @@ export const CreateListingRequestSchema = {
1218
1234
  askingPrice: {
1219
1235
  type: 'number',
1220
1236
  },
1237
+ deal: {
1238
+ oneOf: [
1239
+ {
1240
+ $ref: '#/components/schemas/Fixed',
1241
+ },
1242
+ {
1243
+ $ref: '#/components/schemas/MonthsOfRent',
1244
+ },
1245
+ {
1246
+ $ref: '#/components/schemas/Percentage',
1247
+ },
1248
+ ],
1249
+ },
1221
1250
  },
1222
1251
  required: ['askingPrice', 'listingType'],
1223
1252
  };
1224
- export const AddDealRequestSchema = {
1225
- type: 'object',
1226
- properties: {
1227
- listingId: {
1228
- type: 'integer',
1229
- format: 'int64',
1253
+ export const FixedSchema = {
1254
+ allOf: [
1255
+ {
1256
+ $ref: '#/components/schemas/AddDealRequest',
1230
1257
  },
1231
- commissionType: {
1232
- type: 'string',
1233
- enum: ['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT'],
1258
+ {
1259
+ type: 'object',
1260
+ properties: {
1261
+ amount: {
1262
+ type: 'number',
1263
+ },
1264
+ },
1234
1265
  },
1235
- rate: {
1236
- type: 'number',
1266
+ {
1267
+ $ref: '#/components/schemas/DealResponse',
1237
1268
  },
1238
- amount: {
1239
- type: 'number',
1269
+ {
1270
+ type: 'object',
1271
+ properties: {
1272
+ amount: {
1273
+ type: 'number',
1274
+ },
1275
+ commission: {
1276
+ type: 'number',
1277
+ },
1278
+ },
1240
1279
  },
1241
- factor: {
1242
- type: 'number',
1280
+ ],
1281
+ required: ['amount'],
1282
+ };
1283
+ export const MonthsOfRentSchema = {
1284
+ allOf: [
1285
+ {
1286
+ $ref: '#/components/schemas/AddDealRequest',
1243
1287
  },
1244
- },
1245
- required: ['commissionType', 'listingId'],
1288
+ {
1289
+ type: 'object',
1290
+ properties: {
1291
+ factor: {
1292
+ type: 'number',
1293
+ },
1294
+ },
1295
+ },
1296
+ {
1297
+ $ref: '#/components/schemas/DealResponse',
1298
+ },
1299
+ {
1300
+ type: 'object',
1301
+ properties: {
1302
+ factor: {
1303
+ type: 'number',
1304
+ },
1305
+ commission: {
1306
+ type: 'number',
1307
+ },
1308
+ },
1309
+ },
1310
+ ],
1311
+ required: ['factor'],
1312
+ };
1313
+ export const PercentageSchema = {
1314
+ allOf: [
1315
+ {
1316
+ $ref: '#/components/schemas/AddDealRequest',
1317
+ },
1318
+ {
1319
+ type: 'object',
1320
+ properties: {
1321
+ rate: {
1322
+ type: 'number',
1323
+ maximum: 1,
1324
+ minimum: 0,
1325
+ },
1326
+ },
1327
+ },
1328
+ {
1329
+ $ref: '#/components/schemas/DealResponse',
1330
+ },
1331
+ {
1332
+ type: 'object',
1333
+ properties: {
1334
+ rate: {
1335
+ type: 'number',
1336
+ },
1337
+ commission: {
1338
+ type: 'number',
1339
+ },
1340
+ },
1341
+ },
1342
+ ],
1343
+ required: ['rate'],
1246
1344
  };
1247
1345
  export const CloseListingRequestSchema = {
1248
1346
  type: 'object',
@@ -2159,108 +2257,277 @@ export const AddressResponseSchema = {
2159
2257
  },
2160
2258
  required: ['district', 'lat', 'lng', 'region', 'subdistrict'],
2161
2259
  };
2162
- export const PagedModelRecommendationsCardViewSchema = {
2260
+ export const BoundingBoxSchema = {
2163
2261
  type: 'object',
2164
2262
  properties: {
2165
- content: {
2166
- type: 'array',
2167
- items: {
2168
- $ref: '#/components/schemas/RecommendationsCardView',
2169
- },
2263
+ minLat: {
2264
+ type: 'number',
2265
+ format: 'double',
2170
2266
  },
2171
- page: {
2172
- $ref: '#/components/schemas/PageMetadata',
2267
+ maxLat: {
2268
+ type: 'number',
2269
+ format: 'double',
2270
+ },
2271
+ minLng: {
2272
+ type: 'number',
2273
+ format: 'double',
2274
+ },
2275
+ maxLng: {
2276
+ type: 'number',
2277
+ format: 'double',
2173
2278
  },
2174
2279
  },
2280
+ required: ['maxLat', 'maxLng', 'minLat', 'minLng'],
2175
2281
  };
2176
- export const RecommendationResponseSchema = {
2282
+ export const CriteriaSchema = {
2177
2283
  type: 'object',
2178
2284
  properties: {
2179
- shareToken: {
2180
- type: 'string',
2181
- format: 'uuid',
2285
+ propertyTypes: {
2286
+ type: 'array',
2287
+ items: {
2288
+ type: 'string',
2289
+ enum: [
2290
+ 'HOUSE',
2291
+ 'TOWN_HOUSE',
2292
+ 'COUNTRY_HOUSE',
2293
+ 'VILLA',
2294
+ 'COTTAGE',
2295
+ 'APARTMENT',
2296
+ 'DUPLEX',
2297
+ 'TRIPLEX',
2298
+ 'SEMI_BASEMENT',
2299
+ 'ATTIC',
2300
+ 'AGRICULTURAL_LAND',
2301
+ 'RESIDENTIAL_LAND',
2302
+ 'HOTEL_ROOM',
2303
+ 'MOTEL_ROOM',
2304
+ 'CO_LIVING_SPACE',
2305
+ 'OFFICE',
2306
+ 'COMMERCIAL_SPACE',
2307
+ 'CO_WORKING_SPACE',
2308
+ 'WAREHOUSE',
2309
+ 'GARAGE',
2310
+ ],
2311
+ },
2312
+ uniqueItems: true,
2182
2313
  },
2183
- title: {
2314
+ listingType: {
2184
2315
  type: 'string',
2316
+ enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
2185
2317
  },
2186
- createdAt: {
2187
- type: 'string',
2188
- format: 'date-time',
2318
+ budget: {
2319
+ $ref: '#/components/schemas/RangeBigDecimal',
2189
2320
  },
2190
- status: {
2191
- type: 'string',
2192
- enum: ['UNPUBLISHED', 'PUBLISHED', 'CLOSED'],
2321
+ bedrooms: {
2322
+ $ref: '#/components/schemas/RangeInteger',
2193
2323
  },
2194
- recommendations: {
2195
- $ref: '#/components/schemas/PagedModelRecommendationsCardView',
2324
+ bathrooms: {
2325
+ $ref: '#/components/schemas/RangeInteger',
2326
+ },
2327
+ totalArea: {
2328
+ $ref: '#/components/schemas/RangeDouble',
2329
+ },
2330
+ livingArea: {
2331
+ $ref: '#/components/schemas/RangeDouble',
2332
+ },
2333
+ region: {
2334
+ $ref: '#/components/schemas/LocationResponse',
2335
+ },
2336
+ district: {
2337
+ $ref: '#/components/schemas/LocationResponse',
2338
+ },
2339
+ subDistrict: {
2340
+ $ref: '#/components/schemas/LocationResponse',
2341
+ },
2342
+ street: {
2343
+ $ref: '#/components/schemas/LocationResponse',
2196
2344
  },
2197
2345
  },
2198
- required: ['createdAt', 'recommendations', 'shareToken', 'status', 'title'],
2346
+ required: ['listingType', 'propertyTypes'],
2199
2347
  };
2200
- export const RecommendationsCardViewSchema = {
2348
+ export const InterestResponseSchema = {
2201
2349
  type: 'object',
2202
2350
  properties: {
2203
- decision: {
2204
- type: 'string',
2205
- enum: ['MAYBE', 'DISLIKE', 'LIKE'],
2206
- },
2207
- clientNote: {
2208
- type: 'string',
2209
- },
2210
- ownerContactId: {
2211
- type: 'integer',
2212
- format: 'int64',
2213
- },
2214
- listingId: {
2351
+ id: {
2215
2352
  type: 'integer',
2216
2353
  format: 'int64',
2217
2354
  },
2218
- externalListingId: {
2355
+ title: {
2219
2356
  type: 'string',
2220
- format: 'uuid',
2221
2357
  },
2222
- listingType: {
2358
+ status: {
2223
2359
  type: 'string',
2224
- enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
2225
- },
2226
- price: {
2227
- type: 'number',
2228
- },
2229
- propertyId: {
2230
- type: 'integer',
2231
- format: 'int64',
2360
+ enum: ['UNPUBLISHED', 'PUBLISHED', 'CLOSED'],
2232
2361
  },
2233
- externalPropertyId: {
2362
+ shareToken: {
2234
2363
  type: 'string',
2235
2364
  format: 'uuid',
2236
2365
  },
2237
- type: {
2366
+ createdAt: {
2238
2367
  type: 'string',
2239
- enum: [
2240
- 'HOUSE',
2241
- 'TOWN_HOUSE',
2242
- 'COUNTRY_HOUSE',
2243
- 'VILLA',
2244
- 'COTTAGE',
2245
- 'APARTMENT',
2246
- 'DUPLEX',
2247
- 'TRIPLEX',
2248
- 'SEMI_BASEMENT',
2249
- 'ATTIC',
2250
- 'AGRICULTURAL_LAND',
2251
- 'RESIDENTIAL_LAND',
2252
- 'HOTEL_ROOM',
2253
- 'MOTEL_ROOM',
2254
- 'CO_LIVING_SPACE',
2255
- 'OFFICE',
2256
- 'COMMERCIAL_SPACE',
2257
- 'CO_WORKING_SPACE',
2258
- 'WAREHOUSE',
2259
- 'GARAGE',
2260
- ],
2368
+ format: 'date-time',
2261
2369
  },
2262
- coverPhoto: {
2263
- type: 'string',
2370
+ criteria: {
2371
+ $ref: '#/components/schemas/Criteria',
2372
+ },
2373
+ recommendationStats: {
2374
+ $ref: '#/components/schemas/RecommendationStats',
2375
+ },
2376
+ boundedBox: {
2377
+ $ref: '#/components/schemas/BoundingBox',
2378
+ },
2379
+ recommendations: {
2380
+ $ref: '#/components/schemas/PagedModelRecommendationsCardView',
2381
+ },
2382
+ },
2383
+ required: [
2384
+ 'createdAt',
2385
+ 'criteria',
2386
+ 'id',
2387
+ 'recommendationStats',
2388
+ 'recommendations',
2389
+ 'shareToken',
2390
+ 'status',
2391
+ 'title',
2392
+ ],
2393
+ };
2394
+ export const PagedModelRecommendationsCardViewSchema = {
2395
+ type: 'object',
2396
+ properties: {
2397
+ content: {
2398
+ type: 'array',
2399
+ items: {
2400
+ $ref: '#/components/schemas/RecommendationsCardView',
2401
+ },
2402
+ },
2403
+ page: {
2404
+ $ref: '#/components/schemas/PageMetadata',
2405
+ },
2406
+ },
2407
+ };
2408
+ export const RangeBigDecimalSchema = {
2409
+ type: 'object',
2410
+ properties: {
2411
+ min: {
2412
+ type: 'number',
2413
+ },
2414
+ max: {
2415
+ type: 'number',
2416
+ },
2417
+ },
2418
+ };
2419
+ export const RangeDoubleSchema = {
2420
+ type: 'object',
2421
+ properties: {
2422
+ min: {
2423
+ type: 'number',
2424
+ format: 'double',
2425
+ },
2426
+ max: {
2427
+ type: 'number',
2428
+ format: 'double',
2429
+ },
2430
+ },
2431
+ };
2432
+ export const RangeIntegerSchema = {
2433
+ type: 'object',
2434
+ properties: {
2435
+ min: {
2436
+ type: 'integer',
2437
+ format: 'int32',
2438
+ },
2439
+ max: {
2440
+ type: 'integer',
2441
+ format: 'int32',
2442
+ },
2443
+ },
2444
+ };
2445
+ export const RecommendationStatsSchema = {
2446
+ type: 'object',
2447
+ properties: {
2448
+ total: {
2449
+ type: 'integer',
2450
+ format: 'int32',
2451
+ },
2452
+ liked: {
2453
+ type: 'integer',
2454
+ format: 'int32',
2455
+ },
2456
+ disliked: {
2457
+ type: 'integer',
2458
+ format: 'int32',
2459
+ },
2460
+ undecided: {
2461
+ type: 'integer',
2462
+ format: 'int32',
2463
+ },
2464
+ },
2465
+ required: ['disliked', 'liked', 'total', 'undecided'],
2466
+ };
2467
+ export const RecommendationsCardViewSchema = {
2468
+ type: 'object',
2469
+ properties: {
2470
+ decision: {
2471
+ type: 'string',
2472
+ enum: ['MAYBE', 'DISLIKE', 'LIKE'],
2473
+ },
2474
+ clientNote: {
2475
+ type: 'string',
2476
+ },
2477
+ ownerContactId: {
2478
+ type: 'integer',
2479
+ format: 'int64',
2480
+ },
2481
+ listingId: {
2482
+ type: 'integer',
2483
+ format: 'int64',
2484
+ },
2485
+ externalListingId: {
2486
+ type: 'string',
2487
+ format: 'uuid',
2488
+ },
2489
+ listingType: {
2490
+ type: 'string',
2491
+ enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
2492
+ },
2493
+ price: {
2494
+ type: 'number',
2495
+ },
2496
+ propertyId: {
2497
+ type: 'integer',
2498
+ format: 'int64',
2499
+ },
2500
+ externalPropertyId: {
2501
+ type: 'string',
2502
+ format: 'uuid',
2503
+ },
2504
+ type: {
2505
+ type: 'string',
2506
+ enum: [
2507
+ 'HOUSE',
2508
+ 'TOWN_HOUSE',
2509
+ 'COUNTRY_HOUSE',
2510
+ 'VILLA',
2511
+ 'COTTAGE',
2512
+ 'APARTMENT',
2513
+ 'DUPLEX',
2514
+ 'TRIPLEX',
2515
+ 'SEMI_BASEMENT',
2516
+ 'ATTIC',
2517
+ 'AGRICULTURAL_LAND',
2518
+ 'RESIDENTIAL_LAND',
2519
+ 'HOTEL_ROOM',
2520
+ 'MOTEL_ROOM',
2521
+ 'CO_LIVING_SPACE',
2522
+ 'OFFICE',
2523
+ 'COMMERCIAL_SPACE',
2524
+ 'CO_WORKING_SPACE',
2525
+ 'WAREHOUSE',
2526
+ 'GARAGE',
2527
+ ],
2528
+ },
2529
+ coverPhoto: {
2530
+ type: 'string',
2264
2531
  },
2265
2532
  photoCount: {
2266
2533
  type: 'integer',
@@ -2298,10 +2565,6 @@ export const RecommendationsCardViewSchema = {
2298
2565
  export const RecommendationDecisionResponseSchema = {
2299
2566
  type: 'object',
2300
2567
  properties: {
2301
- itemId: {
2302
- type: 'integer',
2303
- format: 'int64',
2304
- },
2305
2568
  externalPropertyId: {
2306
2569
  type: 'string',
2307
2570
  format: 'uuid',
@@ -2315,7 +2578,7 @@ export const RecommendationDecisionResponseSchema = {
2315
2578
  enum: ['MAYBE', 'DISLIKE', 'LIKE'],
2316
2579
  },
2317
2580
  },
2318
- required: ['decision', 'externalListingId', 'externalPropertyId', 'itemId'],
2581
+ required: ['decision', 'externalListingId', 'externalPropertyId'],
2319
2582
  };
2320
2583
  export const GroupedPermissionsResponseSchema = {
2321
2584
  type: 'object',
@@ -2624,23 +2887,321 @@ export const WhitelabelResponseSchema = {
2624
2887
  $ref: '#/components/schemas/ReviewResponse',
2625
2888
  },
2626
2889
  },
2627
- contactUs: {
2628
- $ref: '#/components/schemas/SegmentResponse',
2890
+ contactUs: {
2891
+ $ref: '#/components/schemas/SegmentResponse',
2892
+ },
2893
+ agencyInfo: {
2894
+ $ref: '#/components/schemas/AgencyContactInfoResponse',
2895
+ },
2896
+ socialLinks: {
2897
+ type: 'array',
2898
+ items: {
2899
+ $ref: '#/components/schemas/SocialLinkResponse',
2900
+ },
2901
+ },
2902
+ website: {
2903
+ type: 'string',
2904
+ },
2905
+ },
2906
+ required: ['members', 'name', 'stats', 'theme'],
2907
+ };
2908
+ export const AgreementResponseSchema = {
2909
+ type: 'object',
2910
+ properties: {
2911
+ agreement: {
2912
+ type: 'string',
2913
+ enum: ['EXCLUSIVE', 'NON_EXCLUSIVE'],
2914
+ },
2915
+ expiryDate: {
2916
+ type: 'string',
2917
+ format: 'date',
2918
+ },
2919
+ },
2920
+ required: ['agreement'],
2921
+ };
2922
+ export const BoostResponseSchema = {
2923
+ type: 'object',
2924
+ properties: {
2925
+ tier: {
2926
+ type: 'string',
2927
+ enum: ['VIP', 'VIP_PLUS', 'SUPER_VIP'],
2928
+ },
2929
+ status: {
2930
+ type: 'string',
2931
+ enum: ['PENDING', 'ACTIVE', 'FAIL_NO_BALANCE', 'FAILED'],
2932
+ },
2933
+ activatedAt: {
2934
+ type: 'string',
2935
+ format: 'date',
2936
+ },
2937
+ expiresAt: {
2938
+ type: 'string',
2939
+ format: 'date',
2940
+ },
2941
+ },
2942
+ required: ['status', 'tier'],
2943
+ };
2944
+ export const ColoredListingResponseSchema = {
2945
+ type: 'object',
2946
+ properties: {
2947
+ activatedAt: {
2948
+ type: 'string',
2949
+ format: 'date',
2950
+ },
2951
+ expiresAt: {
2952
+ type: 'string',
2953
+ format: 'date',
2954
+ },
2955
+ },
2956
+ required: ['activatedAt', 'expiresAt'],
2957
+ };
2958
+ export const DealResponseSchema = {
2959
+ discriminator: {
2960
+ propertyName: 'type',
2961
+ mapping: {
2962
+ FIXED: '#/components/schemas/Fixed',
2963
+ PERCENTAGE: '#/components/schemas/Percentage',
2964
+ MONTHS_OF_RENT: '#/components/schemas/MonthsOfRent',
2965
+ },
2966
+ },
2967
+ properties: {
2968
+ type: {
2969
+ type: 'string',
2970
+ },
2971
+ },
2972
+ required: ['type'],
2973
+ };
2974
+ export const PlatformListingResponseSchema = {
2975
+ type: 'object',
2976
+ properties: {
2977
+ platformId: {
2978
+ type: 'integer',
2979
+ format: 'int64',
2980
+ },
2981
+ platformType: {
2982
+ type: 'string',
2983
+ enum: ['SS', 'MY_HOME'],
2984
+ },
2985
+ status: {
2986
+ type: 'string',
2987
+ enum: ['PENDING', 'SYNDICATED', 'FAILED', 'EXPIRED'],
2988
+ },
2989
+ listedAt: {
2990
+ type: 'string',
2991
+ format: 'date',
2992
+ },
2993
+ expiresAt: {
2994
+ type: 'string',
2995
+ format: 'date',
2996
+ },
2997
+ renewedAt: {
2998
+ type: 'string',
2999
+ format: 'date',
3000
+ },
3001
+ boost: {
3002
+ $ref: '#/components/schemas/BoostResponse',
3003
+ },
3004
+ coloredListing: {
3005
+ $ref: '#/components/schemas/ColoredListingResponse',
3006
+ },
3007
+ },
3008
+ required: ['platformType', 'status'],
3009
+ };
3010
+ export const PropertyCloseReasonResponseSchema = {
3011
+ type: 'object',
3012
+ properties: {
3013
+ closedAt: {
3014
+ type: 'string',
3015
+ format: 'date-time',
3016
+ },
3017
+ reason: {
3018
+ type: 'string',
3019
+ enum: ['DEAL_CLOSED', 'OWNER_WITHDREW', 'MANDATE_EXPIRED', 'OTHER'],
3020
+ },
3021
+ },
3022
+ required: ['closedAt', 'reason'],
3023
+ };
3024
+ export const PropertyDetailsResponseSchema = {
3025
+ type: 'object',
3026
+ properties: {
3027
+ title: {
3028
+ type: 'string',
3029
+ },
3030
+ coverPhoto: {
3031
+ type: 'string',
3032
+ },
3033
+ photoCount: {
3034
+ type: 'integer',
3035
+ format: 'int32',
3036
+ },
3037
+ totalArea: {
3038
+ type: 'number',
3039
+ format: 'double',
3040
+ },
3041
+ livingArea: {
3042
+ type: 'number',
3043
+ format: 'double',
3044
+ },
3045
+ balconyArea: {
3046
+ type: 'number',
3047
+ format: 'double',
3048
+ },
3049
+ address: {
3050
+ $ref: '#/components/schemas/AddressResponse',
3051
+ },
3052
+ },
3053
+ required: ['address', 'title', 'totalArea'],
3054
+ };
3055
+ export const PropertyListingResponseSchema = {
3056
+ type: 'object',
3057
+ properties: {
3058
+ publicId: {
3059
+ type: 'integer',
3060
+ format: 'int64',
3061
+ },
3062
+ listingId: {
3063
+ type: 'string',
3064
+ format: 'uuid',
3065
+ },
3066
+ listingType: {
3067
+ type: 'string',
3068
+ enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
3069
+ },
3070
+ marketplaceStatus: {
3071
+ type: 'string',
3072
+ enum: ['PENDING', 'ACTIVE', 'PAUSED', 'EXPIRED', 'FAILED'],
3073
+ },
3074
+ crmState: {
3075
+ type: 'string',
3076
+ enum: ['OPEN', 'CLOSED'],
3077
+ },
3078
+ isProcessing: {
3079
+ type: 'boolean',
3080
+ description: 'True while any async saga is in flight (create PENDING, or any placement/boost PENDING) — poll the property page until false.',
3081
+ },
3082
+ price: {
3083
+ type: 'number',
3084
+ },
3085
+ deal: {
3086
+ oneOf: [
3087
+ {
3088
+ $ref: '#/components/schemas/Fixed',
3089
+ },
3090
+ {
3091
+ $ref: '#/components/schemas/MonthsOfRent',
3092
+ },
3093
+ {
3094
+ $ref: '#/components/schemas/Percentage',
3095
+ },
3096
+ ],
3097
+ },
3098
+ platformListings: {
3099
+ type: 'array',
3100
+ items: {
3101
+ $ref: '#/components/schemas/PlatformListingResponse',
3102
+ },
3103
+ },
3104
+ createdAt: {
3105
+ type: 'string',
3106
+ format: 'date-time',
3107
+ },
3108
+ closedAt: {
3109
+ type: 'string',
3110
+ format: 'date-time',
3111
+ },
3112
+ },
3113
+ required: [
3114
+ 'createdAt',
3115
+ 'crmState',
3116
+ 'isProcessing',
3117
+ 'listingId',
3118
+ 'listingType',
3119
+ 'marketplaceStatus',
3120
+ 'platformListings',
3121
+ 'price',
3122
+ 'publicId',
3123
+ ],
3124
+ };
3125
+ export const PropertyPageResponseSchema = {
3126
+ type: 'object',
3127
+ properties: {
3128
+ publicId: {
3129
+ type: 'integer',
3130
+ format: 'int64',
3131
+ },
3132
+ propertyId: {
3133
+ type: 'string',
3134
+ format: 'uuid',
3135
+ },
3136
+ type: {
3137
+ type: 'string',
3138
+ enum: [
3139
+ 'HOUSE',
3140
+ 'TOWN_HOUSE',
3141
+ 'COUNTRY_HOUSE',
3142
+ 'VILLA',
3143
+ 'COTTAGE',
3144
+ 'APARTMENT',
3145
+ 'DUPLEX',
3146
+ 'TRIPLEX',
3147
+ 'SEMI_BASEMENT',
3148
+ 'ATTIC',
3149
+ 'AGRICULTURAL_LAND',
3150
+ 'RESIDENTIAL_LAND',
3151
+ 'HOTEL_ROOM',
3152
+ 'MOTEL_ROOM',
3153
+ 'CO_LIVING_SPACE',
3154
+ 'OFFICE',
3155
+ 'COMMERCIAL_SPACE',
3156
+ 'CO_WORKING_SPACE',
3157
+ 'WAREHOUSE',
3158
+ 'GARAGE',
3159
+ ],
3160
+ },
3161
+ state: {
3162
+ type: 'string',
3163
+ enum: [
3164
+ 'IN_REGISTRATION',
3165
+ 'UNLISTED',
3166
+ 'LISTED_INTERNALLY',
3167
+ 'LISTED',
3168
+ 'CLOSED',
3169
+ ],
3170
+ },
3171
+ details: {
3172
+ $ref: '#/components/schemas/PropertyDetailsResponse',
2629
3173
  },
2630
- agencyInfo: {
2631
- $ref: '#/components/schemas/AgencyContactInfoResponse',
3174
+ agreement: {
3175
+ $ref: '#/components/schemas/AgreementResponse',
2632
3176
  },
2633
- socialLinks: {
3177
+ listings: {
2634
3178
  type: 'array',
2635
3179
  items: {
2636
- $ref: '#/components/schemas/SocialLinkResponse',
3180
+ $ref: '#/components/schemas/PropertyListingResponse',
2637
3181
  },
2638
3182
  },
2639
- website: {
3183
+ createdAt: {
3184
+ type: 'string',
3185
+ format: 'date-time',
3186
+ },
3187
+ updatedAt: {
2640
3188
  type: 'string',
3189
+ format: 'date-time',
3190
+ },
3191
+ closeReason: {
3192
+ $ref: '#/components/schemas/PropertyCloseReasonResponse',
2641
3193
  },
2642
3194
  },
2643
- required: ['members', 'name', 'stats', 'theme'],
3195
+ required: [
3196
+ 'agreement',
3197
+ 'createdAt',
3198
+ 'listings',
3199
+ 'propertyId',
3200
+ 'publicId',
3201
+ 'state',
3202
+ 'type',
3203
+ 'updatedAt',
3204
+ ],
2644
3205
  };
2645
3206
  export const ContactAssignedSchema = {
2646
3207
  properties: {
@@ -3220,7 +3781,7 @@ export const ListingGridViewSchema = {
3220
3781
  },
3221
3782
  commissionType: {
3222
3783
  type: 'string',
3223
- enum: ['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT'],
3784
+ enum: ['NOT_SET', 'FIXED', 'PERCENTAGE', 'MONTHS_OF_RENT'],
3224
3785
  },
3225
3786
  commission: {
3226
3787
  type: 'number',
@@ -3564,170 +4125,6 @@ export const CursorPageMessageViewSchema = {
3564
4125
  },
3565
4126
  },
3566
4127
  };
3567
- export const CriteriaSchema = {
3568
- type: 'object',
3569
- properties: {
3570
- propertyTypes: {
3571
- type: 'array',
3572
- items: {
3573
- type: 'string',
3574
- enum: [
3575
- 'HOUSE',
3576
- 'TOWN_HOUSE',
3577
- 'COUNTRY_HOUSE',
3578
- 'VILLA',
3579
- 'COTTAGE',
3580
- 'APARTMENT',
3581
- 'DUPLEX',
3582
- 'TRIPLEX',
3583
- 'SEMI_BASEMENT',
3584
- 'ATTIC',
3585
- 'AGRICULTURAL_LAND',
3586
- 'RESIDENTIAL_LAND',
3587
- 'HOTEL_ROOM',
3588
- 'MOTEL_ROOM',
3589
- 'CO_LIVING_SPACE',
3590
- 'OFFICE',
3591
- 'COMMERCIAL_SPACE',
3592
- 'CO_WORKING_SPACE',
3593
- 'WAREHOUSE',
3594
- 'GARAGE',
3595
- ],
3596
- },
3597
- uniqueItems: true,
3598
- },
3599
- listingType: {
3600
- type: 'string',
3601
- enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
3602
- },
3603
- budget: {
3604
- $ref: '#/components/schemas/RangeBigDecimal',
3605
- },
3606
- bedrooms: {
3607
- $ref: '#/components/schemas/RangeInteger',
3608
- },
3609
- bathrooms: {
3610
- $ref: '#/components/schemas/RangeInteger',
3611
- },
3612
- totalArea: {
3613
- $ref: '#/components/schemas/RangeDouble',
3614
- },
3615
- livingArea: {
3616
- $ref: '#/components/schemas/RangeDouble',
3617
- },
3618
- region: {
3619
- $ref: '#/components/schemas/LocationResponse',
3620
- },
3621
- district: {
3622
- $ref: '#/components/schemas/LocationResponse',
3623
- },
3624
- subDistrict: {
3625
- $ref: '#/components/schemas/LocationResponse',
3626
- },
3627
- street: {
3628
- $ref: '#/components/schemas/LocationResponse',
3629
- },
3630
- },
3631
- required: ['listingType', 'propertyTypes'],
3632
- };
3633
- export const InterestResponseSchema = {
3634
- type: 'object',
3635
- properties: {
3636
- id: {
3637
- type: 'integer',
3638
- format: 'int64',
3639
- },
3640
- title: {
3641
- type: 'string',
3642
- },
3643
- status: {
3644
- type: 'string',
3645
- enum: ['UNPUBLISHED', 'PUBLISHED', 'CLOSED'],
3646
- },
3647
- shareToken: {
3648
- type: 'string',
3649
- format: 'uuid',
3650
- },
3651
- createdAt: {
3652
- type: 'string',
3653
- format: 'date-time',
3654
- },
3655
- criteria: {
3656
- $ref: '#/components/schemas/Criteria',
3657
- },
3658
- recommendations: {
3659
- $ref: '#/components/schemas/RecommendationStats',
3660
- },
3661
- },
3662
- required: [
3663
- 'createdAt',
3664
- 'criteria',
3665
- 'id',
3666
- 'recommendations',
3667
- 'shareToken',
3668
- 'status',
3669
- 'title',
3670
- ],
3671
- };
3672
- export const RangeBigDecimalSchema = {
3673
- type: 'object',
3674
- properties: {
3675
- min: {
3676
- type: 'number',
3677
- },
3678
- max: {
3679
- type: 'number',
3680
- },
3681
- },
3682
- };
3683
- export const RangeDoubleSchema = {
3684
- type: 'object',
3685
- properties: {
3686
- min: {
3687
- type: 'number',
3688
- format: 'double',
3689
- },
3690
- max: {
3691
- type: 'number',
3692
- format: 'double',
3693
- },
3694
- },
3695
- };
3696
- export const RangeIntegerSchema = {
3697
- type: 'object',
3698
- properties: {
3699
- min: {
3700
- type: 'integer',
3701
- format: 'int32',
3702
- },
3703
- max: {
3704
- type: 'integer',
3705
- format: 'int32',
3706
- },
3707
- },
3708
- };
3709
- export const RecommendationStatsSchema = {
3710
- type: 'object',
3711
- properties: {
3712
- total: {
3713
- type: 'integer',
3714
- format: 'int32',
3715
- },
3716
- liked: {
3717
- type: 'integer',
3718
- format: 'int32',
3719
- },
3720
- disliked: {
3721
- type: 'integer',
3722
- format: 'int32',
3723
- },
3724
- undecided: {
3725
- type: 'integer',
3726
- format: 'int32',
3727
- },
3728
- },
3729
- required: ['disliked', 'liked', 'total', 'undecided'],
3730
- };
3731
4128
  export const CommentViewSchema = {
3732
4129
  type: 'object',
3733
4130
  properties: {
@@ -3889,37 +4286,6 @@ export const PagedModelContactGridResponseSchema = {
3889
4286
  },
3890
4287
  },
3891
4288
  };
3892
- export const ActiveItemsResultSchema = {
3893
- type: 'object',
3894
- properties: {
3895
- propertyIds: {
3896
- type: 'array',
3897
- items: {
3898
- $ref: '#/components/schemas/PropertyId',
3899
- },
3900
- },
3901
- interestIds: {
3902
- type: 'array',
3903
- items: {
3904
- $ref: '#/components/schemas/InterestId',
3905
- },
3906
- },
3907
- },
3908
- };
3909
- export const AgreementResponseSchema = {
3910
- type: 'object',
3911
- properties: {
3912
- agreement: {
3913
- type: 'string',
3914
- enum: ['EXCLUSIVE', 'NON_EXCLUSIVE'],
3915
- },
3916
- expiryDate: {
3917
- type: 'string',
3918
- format: 'date',
3919
- },
3920
- },
3921
- required: ['agreement'],
3922
- };
3923
4289
  export const AssignedMemberSchema = {
3924
4290
  type: 'object',
3925
4291
  properties: {
@@ -4140,37 +4506,6 @@ export const ContactPropertyResponseSchema = {
4140
4506
  'type',
4141
4507
  ],
4142
4508
  };
4143
- export const PropertyDetailsResponseSchema = {
4144
- type: 'object',
4145
- properties: {
4146
- title: {
4147
- type: 'string',
4148
- },
4149
- coverPhoto: {
4150
- type: 'string',
4151
- },
4152
- photoCount: {
4153
- type: 'integer',
4154
- format: 'int32',
4155
- },
4156
- totalArea: {
4157
- type: 'number',
4158
- format: 'double',
4159
- },
4160
- livingArea: {
4161
- type: 'number',
4162
- format: 'double',
4163
- },
4164
- balconyArea: {
4165
- type: 'number',
4166
- format: 'double',
4167
- },
4168
- address: {
4169
- $ref: '#/components/schemas/AddressResponse',
4170
- },
4171
- },
4172
- required: ['address', 'title', 'totalArea'],
4173
- };
4174
4509
  export const SourceResponseSchema = {
4175
4510
  type: 'object',
4176
4511
  properties: {