@homespot-sdk/core 0.0.324 → 0.0.325

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',
@@ -2298,10 +2396,6 @@ export const RecommendationsCardViewSchema = {
2298
2396
  export const RecommendationDecisionResponseSchema = {
2299
2397
  type: 'object',
2300
2398
  properties: {
2301
- itemId: {
2302
- type: 'integer',
2303
- format: 'int64',
2304
- },
2305
2399
  externalPropertyId: {
2306
2400
  type: 'string',
2307
2401
  format: 'uuid',
@@ -2315,7 +2409,7 @@ export const RecommendationDecisionResponseSchema = {
2315
2409
  enum: ['MAYBE', 'DISLIKE', 'LIKE'],
2316
2410
  },
2317
2411
  },
2318
- required: ['decision', 'externalListingId', 'externalPropertyId', 'itemId'],
2412
+ required: ['decision', 'externalListingId', 'externalPropertyId'],
2319
2413
  };
2320
2414
  export const GroupedPermissionsResponseSchema = {
2321
2415
  type: 'object',
@@ -2642,6 +2736,304 @@ export const WhitelabelResponseSchema = {
2642
2736
  },
2643
2737
  required: ['members', 'name', 'stats', 'theme'],
2644
2738
  };
2739
+ export const AgreementResponseSchema = {
2740
+ type: 'object',
2741
+ properties: {
2742
+ agreement: {
2743
+ type: 'string',
2744
+ enum: ['EXCLUSIVE', 'NON_EXCLUSIVE'],
2745
+ },
2746
+ expiryDate: {
2747
+ type: 'string',
2748
+ format: 'date',
2749
+ },
2750
+ },
2751
+ required: ['agreement'],
2752
+ };
2753
+ export const BoostResponseSchema = {
2754
+ type: 'object',
2755
+ properties: {
2756
+ tier: {
2757
+ type: 'string',
2758
+ enum: ['VIP', 'VIP_PLUS', 'SUPER_VIP'],
2759
+ },
2760
+ status: {
2761
+ type: 'string',
2762
+ enum: ['PENDING', 'ACTIVE', 'FAIL_NO_BALANCE', 'FAILED'],
2763
+ },
2764
+ activatedAt: {
2765
+ type: 'string',
2766
+ format: 'date',
2767
+ },
2768
+ expiresAt: {
2769
+ type: 'string',
2770
+ format: 'date',
2771
+ },
2772
+ },
2773
+ required: ['status', 'tier'],
2774
+ };
2775
+ export const ColoredListingResponseSchema = {
2776
+ type: 'object',
2777
+ properties: {
2778
+ activatedAt: {
2779
+ type: 'string',
2780
+ format: 'date',
2781
+ },
2782
+ expiresAt: {
2783
+ type: 'string',
2784
+ format: 'date',
2785
+ },
2786
+ },
2787
+ required: ['activatedAt', 'expiresAt'],
2788
+ };
2789
+ export const DealResponseSchema = {
2790
+ discriminator: {
2791
+ propertyName: 'type',
2792
+ mapping: {
2793
+ FIXED: '#/components/schemas/Fixed',
2794
+ PERCENTAGE: '#/components/schemas/Percentage',
2795
+ MONTHS_OF_RENT: '#/components/schemas/MonthsOfRent',
2796
+ },
2797
+ },
2798
+ properties: {
2799
+ type: {
2800
+ type: 'string',
2801
+ },
2802
+ },
2803
+ required: ['type'],
2804
+ };
2805
+ export const PlatformListingResponseSchema = {
2806
+ type: 'object',
2807
+ properties: {
2808
+ platformId: {
2809
+ type: 'integer',
2810
+ format: 'int64',
2811
+ },
2812
+ platformType: {
2813
+ type: 'string',
2814
+ enum: ['SS', 'MY_HOME'],
2815
+ },
2816
+ status: {
2817
+ type: 'string',
2818
+ enum: ['PENDING', 'SYNDICATED', 'FAILED', 'EXPIRED'],
2819
+ },
2820
+ listedAt: {
2821
+ type: 'string',
2822
+ format: 'date',
2823
+ },
2824
+ expiresAt: {
2825
+ type: 'string',
2826
+ format: 'date',
2827
+ },
2828
+ renewedAt: {
2829
+ type: 'string',
2830
+ format: 'date',
2831
+ },
2832
+ boost: {
2833
+ $ref: '#/components/schemas/BoostResponse',
2834
+ },
2835
+ coloredListing: {
2836
+ $ref: '#/components/schemas/ColoredListingResponse',
2837
+ },
2838
+ },
2839
+ required: ['platformType', 'status'],
2840
+ };
2841
+ export const PropertyCloseReasonResponseSchema = {
2842
+ type: 'object',
2843
+ properties: {
2844
+ closedAt: {
2845
+ type: 'string',
2846
+ format: 'date-time',
2847
+ },
2848
+ reason: {
2849
+ type: 'string',
2850
+ enum: ['DEAL_CLOSED', 'OWNER_WITHDREW', 'MANDATE_EXPIRED', 'OTHER'],
2851
+ },
2852
+ },
2853
+ required: ['closedAt', 'reason'],
2854
+ };
2855
+ export const PropertyDetailsResponseSchema = {
2856
+ type: 'object',
2857
+ properties: {
2858
+ title: {
2859
+ type: 'string',
2860
+ },
2861
+ coverPhoto: {
2862
+ type: 'string',
2863
+ },
2864
+ photoCount: {
2865
+ type: 'integer',
2866
+ format: 'int32',
2867
+ },
2868
+ totalArea: {
2869
+ type: 'number',
2870
+ format: 'double',
2871
+ },
2872
+ livingArea: {
2873
+ type: 'number',
2874
+ format: 'double',
2875
+ },
2876
+ balconyArea: {
2877
+ type: 'number',
2878
+ format: 'double',
2879
+ },
2880
+ address: {
2881
+ $ref: '#/components/schemas/AddressResponse',
2882
+ },
2883
+ },
2884
+ required: ['address', 'title', 'totalArea'],
2885
+ };
2886
+ export const PropertyListingResponseSchema = {
2887
+ type: 'object',
2888
+ properties: {
2889
+ publicId: {
2890
+ type: 'integer',
2891
+ format: 'int64',
2892
+ },
2893
+ listingId: {
2894
+ type: 'string',
2895
+ format: 'uuid',
2896
+ },
2897
+ listingType: {
2898
+ type: 'string',
2899
+ enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
2900
+ },
2901
+ marketplaceStatus: {
2902
+ type: 'string',
2903
+ enum: ['PENDING', 'ACTIVE', 'PAUSED', 'EXPIRED', 'FAILED'],
2904
+ },
2905
+ crmState: {
2906
+ type: 'string',
2907
+ enum: ['OPEN', 'CLOSED'],
2908
+ },
2909
+ isProcessing: {
2910
+ type: 'boolean',
2911
+ description: 'True while any async saga is in flight (create PENDING, or any placement/boost PENDING) — poll the property page until false.',
2912
+ },
2913
+ price: {
2914
+ type: 'number',
2915
+ },
2916
+ deal: {
2917
+ oneOf: [
2918
+ {
2919
+ $ref: '#/components/schemas/Fixed',
2920
+ },
2921
+ {
2922
+ $ref: '#/components/schemas/MonthsOfRent',
2923
+ },
2924
+ {
2925
+ $ref: '#/components/schemas/Percentage',
2926
+ },
2927
+ ],
2928
+ },
2929
+ platformListings: {
2930
+ type: 'array',
2931
+ items: {
2932
+ $ref: '#/components/schemas/PlatformListingResponse',
2933
+ },
2934
+ },
2935
+ createdAt: {
2936
+ type: 'string',
2937
+ format: 'date-time',
2938
+ },
2939
+ closedAt: {
2940
+ type: 'string',
2941
+ format: 'date-time',
2942
+ },
2943
+ },
2944
+ required: [
2945
+ 'createdAt',
2946
+ 'crmState',
2947
+ 'isProcessing',
2948
+ 'listingId',
2949
+ 'listingType',
2950
+ 'marketplaceStatus',
2951
+ 'platformListings',
2952
+ 'price',
2953
+ 'publicId',
2954
+ ],
2955
+ };
2956
+ export const PropertyPageResponseSchema = {
2957
+ type: 'object',
2958
+ properties: {
2959
+ publicId: {
2960
+ type: 'integer',
2961
+ format: 'int64',
2962
+ },
2963
+ propertyId: {
2964
+ type: 'string',
2965
+ format: 'uuid',
2966
+ },
2967
+ type: {
2968
+ type: 'string',
2969
+ enum: [
2970
+ 'HOUSE',
2971
+ 'TOWN_HOUSE',
2972
+ 'COUNTRY_HOUSE',
2973
+ 'VILLA',
2974
+ 'COTTAGE',
2975
+ 'APARTMENT',
2976
+ 'DUPLEX',
2977
+ 'TRIPLEX',
2978
+ 'SEMI_BASEMENT',
2979
+ 'ATTIC',
2980
+ 'AGRICULTURAL_LAND',
2981
+ 'RESIDENTIAL_LAND',
2982
+ 'HOTEL_ROOM',
2983
+ 'MOTEL_ROOM',
2984
+ 'CO_LIVING_SPACE',
2985
+ 'OFFICE',
2986
+ 'COMMERCIAL_SPACE',
2987
+ 'CO_WORKING_SPACE',
2988
+ 'WAREHOUSE',
2989
+ 'GARAGE',
2990
+ ],
2991
+ },
2992
+ state: {
2993
+ type: 'string',
2994
+ enum: [
2995
+ 'IN_REGISTRATION',
2996
+ 'UNLISTED',
2997
+ 'LISTED_INTERNALLY',
2998
+ 'LISTED',
2999
+ 'CLOSED',
3000
+ ],
3001
+ },
3002
+ details: {
3003
+ $ref: '#/components/schemas/PropertyDetailsResponse',
3004
+ },
3005
+ agreement: {
3006
+ $ref: '#/components/schemas/AgreementResponse',
3007
+ },
3008
+ listings: {
3009
+ type: 'array',
3010
+ items: {
3011
+ $ref: '#/components/schemas/PropertyListingResponse',
3012
+ },
3013
+ },
3014
+ createdAt: {
3015
+ type: 'string',
3016
+ format: 'date-time',
3017
+ },
3018
+ updatedAt: {
3019
+ type: 'string',
3020
+ format: 'date-time',
3021
+ },
3022
+ closeReason: {
3023
+ $ref: '#/components/schemas/PropertyCloseReasonResponse',
3024
+ },
3025
+ },
3026
+ required: [
3027
+ 'agreement',
3028
+ 'createdAt',
3029
+ 'listings',
3030
+ 'propertyId',
3031
+ 'publicId',
3032
+ 'state',
3033
+ 'type',
3034
+ 'updatedAt',
3035
+ ],
3036
+ };
2645
3037
  export const ContactAssignedSchema = {
2646
3038
  properties: {
2647
3039
  contactId: {
@@ -3220,7 +3612,7 @@ export const ListingGridViewSchema = {
3220
3612
  },
3221
3613
  commissionType: {
3222
3614
  type: 'string',
3223
- enum: ['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT'],
3615
+ enum: ['NOT_SET', 'FIXED', 'PERCENTAGE', 'MONTHS_OF_RENT'],
3224
3616
  },
3225
3617
  commission: {
3226
3618
  type: 'number',
@@ -3889,37 +4281,6 @@ export const PagedModelContactGridResponseSchema = {
3889
4281
  },
3890
4282
  },
3891
4283
  };
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
4284
  export const AssignedMemberSchema = {
3924
4285
  type: 'object',
3925
4286
  properties: {
@@ -4140,37 +4501,6 @@ export const ContactPropertyResponseSchema = {
4140
4501
  'type',
4141
4502
  ],
4142
4503
  };
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
4504
  export const SourceResponseSchema = {
4175
4505
  type: 'object',
4176
4506
  properties: {