@homespot-sdk/core 0.0.301 → 0.0.303

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 (41) hide show
  1. package/dist/property/index.d.ts +2 -2
  2. package/dist/property/index.d.ts.map +1 -1
  3. package/dist/property/index.js +1 -1
  4. package/dist/property/index.js.map +1 -1
  5. package/dist/property/schemas.gen.d.ts +27 -1
  6. package/dist/property/schemas.gen.d.ts.map +1 -1
  7. package/dist/property/schemas.gen.js +48 -1
  8. package/dist/property/schemas.gen.js.map +1 -1
  9. package/dist/property/sdk.gen.d.ts +2 -1
  10. package/dist/property/sdk.gen.d.ts.map +1 -1
  11. package/dist/property/sdk.gen.js +9 -0
  12. package/dist/property/sdk.gen.js.map +1 -1
  13. package/dist/property/types.gen.d.ts +23 -1
  14. package/dist/property/types.gen.d.ts.map +1 -1
  15. package/dist/property/zod.gen.d.ts +69 -3
  16. package/dist/property/zod.gen.d.ts.map +1 -1
  17. package/dist/property/zod.gen.js +54 -1
  18. package/dist/property/zod.gen.js.map +1 -1
  19. package/dist/rem/index.d.ts +2 -2
  20. package/dist/rem/index.d.ts.map +1 -1
  21. package/dist/rem/index.js +1 -1
  22. package/dist/rem/index.js.map +1 -1
  23. package/dist/rem/schemas.gen.d.ts +380 -782
  24. package/dist/rem/schemas.gen.d.ts.map +1 -1
  25. package/dist/rem/schemas.gen.js +513 -983
  26. package/dist/rem/schemas.gen.js.map +1 -1
  27. package/dist/rem/sdk.gen.d.ts +47 -54
  28. package/dist/rem/sdk.gen.d.ts.map +1 -1
  29. package/dist/rem/sdk.gen.js +122 -179
  30. package/dist/rem/sdk.gen.js.map +1 -1
  31. package/dist/rem/transformers.gen.d.ts +9 -7
  32. package/dist/rem/transformers.gen.d.ts.map +1 -1
  33. package/dist/rem/transformers.gen.js +50 -30
  34. package/dist/rem/transformers.gen.js.map +1 -1
  35. package/dist/rem/types.gen.d.ts +550 -785
  36. package/dist/rem/types.gen.d.ts.map +1 -1
  37. package/dist/rem/zod.gen.d.ts +1778 -3251
  38. package/dist/rem/zod.gen.d.ts.map +1 -1
  39. package/dist/rem/zod.gen.js +867 -1256
  40. package/dist/rem/zod.gen.js.map +1 -1
  41. package/package.json +1 -1
@@ -213,14 +213,10 @@ export const RolesRequestSchema = {
213
213
  'MEMBER_READ',
214
214
  'MEMBER_WRITE',
215
215
  'MEETING_READ_ALL',
216
- 'LEAD_READ',
217
- 'LEAD_WRITE',
218
- 'LEAD_READ_ALL',
219
- 'LEAD_WRITE_ALL',
220
- 'CLIENT_READ',
221
- 'CLIENT_WRITE',
222
- 'CLIENT_READ_ALL',
223
- 'CLIENT_WRITE_ALL',
216
+ 'CONTACT_READ',
217
+ 'CONTACT_WRITE',
218
+ 'CONTACT_READ_ALL',
219
+ 'CONTACT_WRITE_ALL',
224
220
  'PROPERTY_READ_ALL',
225
221
  ],
226
222
  },
@@ -306,159 +302,6 @@ export const RescheduleRequestSchema = {
306
302
  },
307
303
  required: ['start'],
308
304
  };
309
- export const RecordSourceRequestSchema = {
310
- type: 'object',
311
- properties: {
312
- sourceUrl: {
313
- type: 'string',
314
- },
315
- },
316
- };
317
- export const NoteRequestSchema = {
318
- type: 'object',
319
- properties: {
320
- note: {
321
- type: 'string',
322
- },
323
- },
324
- };
325
- export const RecordLostLeadRequestSchema = {
326
- type: 'object',
327
- properties: {
328
- reason: {
329
- type: 'string',
330
- enum: [
331
- 'NOT_WORKING_WITH_AGENTS',
332
- 'NOT_RESPONDING',
333
- 'ALREADY_SOLD',
334
- 'COULD_NOT_NEGOTIATE_PRICE',
335
- 'CHOSE_ANOTHER_AGENCY',
336
- 'CHANGED_PLANS',
337
- 'OUT_OF_BUDGET',
338
- 'SPAM',
339
- 'OTHER',
340
- ],
341
- },
342
- },
343
- required: ['reason'],
344
- };
345
- export const IntentRequestSchema = {
346
- type: 'object',
347
- properties: {
348
- clientType: {
349
- type: 'string',
350
- enum: ['LISTING', 'SEEKING'],
351
- },
352
- listingType: {
353
- type: 'string',
354
- enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
355
- },
356
- propertyType: {
357
- type: 'string',
358
- enum: [
359
- 'HOUSE',
360
- 'TOWN_HOUSE',
361
- 'COUNTRY_HOUSE',
362
- 'VILLA',
363
- 'COTTAGE',
364
- 'APARTMENT',
365
- 'DUPLEX',
366
- 'TRIPLEX',
367
- 'SEMI_BASEMENT',
368
- 'ATTIC',
369
- 'AGRICULTURAL_LAND',
370
- 'RESIDENTIAL_LAND',
371
- 'HOTEL_ROOM',
372
- 'MOTEL_ROOM',
373
- 'CO_LIVING_SPACE',
374
- 'OFFICE',
375
- 'COMMERCIAL_SPACE',
376
- 'CO_WORKING_SPACE',
377
- 'WAREHOUSE',
378
- 'GARAGE',
379
- ],
380
- },
381
- price: {
382
- $ref: '#/components/schemas/PriceRangeRequest',
383
- },
384
- targetLocation: {
385
- $ref: '#/components/schemas/LocationTargetRequest',
386
- },
387
- area: {
388
- type: 'number',
389
- format: 'double',
390
- },
391
- numberOfRooms: {
392
- type: 'integer',
393
- format: 'int32',
394
- },
395
- },
396
- required: ['clientType', 'listingType', 'propertyType'],
397
- };
398
- export const LocationTargetRequestSchema = {
399
- type: 'object',
400
- properties: {
401
- id: {
402
- type: 'integer',
403
- format: 'int64',
404
- },
405
- type: {
406
- type: 'string',
407
- enum: ['REGION', 'DISTRICT', 'SUBDISTRICT', 'STREET'],
408
- },
409
- },
410
- required: ['id', 'type'],
411
- };
412
- export const PriceRangeRequestSchema = {
413
- type: 'object',
414
- properties: {
415
- min: {
416
- type: 'number',
417
- },
418
- max: {
419
- type: 'number',
420
- },
421
- },
422
- };
423
- export const ContactInfoRequestSchema = {
424
- type: 'object',
425
- properties: {
426
- firstName: {
427
- type: 'string',
428
- maxLength: 20,
429
- minLength: 1,
430
- },
431
- lastName: {
432
- type: 'string',
433
- maxLength: 20,
434
- minLength: 1,
435
- },
436
- gender: {
437
- type: 'string',
438
- enum: ['MALE', 'FEMALE', 'UNKNOWN'],
439
- },
440
- email: {
441
- type: 'string',
442
- format: 'email',
443
- },
444
- phone: {
445
- type: 'string',
446
- maxLength: 20,
447
- minLength: 1,
448
- },
449
- },
450
- required: ['phone'],
451
- };
452
- export const ReassignMemberRequestSchema = {
453
- type: 'object',
454
- properties: {
455
- memberId: {
456
- type: 'string',
457
- format: 'uuid',
458
- },
459
- },
460
- required: ['memberId'],
461
- };
462
305
  export const RenameClientRecommendationsRequestSchema = {
463
306
  type: 'object',
464
307
  properties: {
@@ -481,15 +324,6 @@ export const AgreementRequestSchema = {
481
324
  },
482
325
  required: ['type'],
483
326
  };
484
- export const ReprioritizeClientRequestSchema = {
485
- type: 'object',
486
- properties: {
487
- priority: {
488
- type: 'string',
489
- enum: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'],
490
- },
491
- },
492
- };
493
327
  export const CaptureInterestRequestSchema = {
494
328
  type: 'object',
495
329
  properties: {
@@ -571,6 +405,80 @@ export const CaptureInterestRequestSchema = {
571
405
  },
572
406
  required: ['listingType', 'propertyTypes'],
573
407
  };
408
+ export const LocationTargetRequestSchema = {
409
+ type: 'object',
410
+ properties: {
411
+ id: {
412
+ type: 'integer',
413
+ format: 'int64',
414
+ },
415
+ type: {
416
+ type: 'string',
417
+ enum: ['REGION', 'DISTRICT', 'SUBDISTRICT', 'STREET'],
418
+ },
419
+ },
420
+ required: ['id', 'type'],
421
+ };
422
+ export const CommentBodyRequestSchema = {
423
+ type: 'object',
424
+ properties: {
425
+ body: {
426
+ type: 'string',
427
+ maxLength: 4000,
428
+ minLength: 0,
429
+ },
430
+ },
431
+ required: ['body'],
432
+ };
433
+ export const ContactStatusRequestSchema = {
434
+ type: 'object',
435
+ properties: {
436
+ status: {
437
+ type: 'string',
438
+ enum: [
439
+ 'NEW',
440
+ 'ON_HOLD',
441
+ 'COLD',
442
+ 'WARM',
443
+ 'HOT',
444
+ 'WAITING_PAYMENT',
445
+ 'LOST',
446
+ 'CLOSED',
447
+ ],
448
+ },
449
+ },
450
+ required: ['status'],
451
+ };
452
+ export const ReprioritizeClientRequestSchema = {
453
+ type: 'object',
454
+ properties: {
455
+ priority: {
456
+ type: 'string',
457
+ enum: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'],
458
+ },
459
+ },
460
+ required: ['priority'],
461
+ };
462
+ export const RecordLostContactRequestSchema = {
463
+ type: 'object',
464
+ properties: {
465
+ reason: {
466
+ type: 'string',
467
+ enum: [
468
+ 'NOT_WORKING_WITH_AGENTS',
469
+ 'NOT_RESPONDING',
470
+ 'ALREADY_SOLD',
471
+ 'COULD_NOT_NEGOTIATE_PRICE',
472
+ 'CHOSE_ANOTHER_AGENCY',
473
+ 'CHANGED_PLANS',
474
+ 'OUT_OF_BUDGET',
475
+ 'SPAM',
476
+ 'OTHER',
477
+ ],
478
+ },
479
+ },
480
+ required: ['reason'],
481
+ };
574
482
  export const UpdateContactPreferencesRequestSchema = {
575
483
  type: 'object',
576
484
  properties: {
@@ -588,6 +496,45 @@ export const UpdateContactPreferencesRequestSchema = {
588
496
  },
589
497
  required: ['contactMethods'],
590
498
  };
499
+ export const ContactInfoRequestSchema = {
500
+ type: 'object',
501
+ properties: {
502
+ firstName: {
503
+ type: 'string',
504
+ maxLength: 20,
505
+ minLength: 1,
506
+ },
507
+ lastName: {
508
+ type: 'string',
509
+ maxLength: 20,
510
+ minLength: 1,
511
+ },
512
+ gender: {
513
+ type: 'string',
514
+ enum: ['MALE', 'FEMALE', 'UNKNOWN'],
515
+ },
516
+ email: {
517
+ type: 'string',
518
+ format: 'email',
519
+ },
520
+ phone: {
521
+ type: 'string',
522
+ maxLength: 20,
523
+ minLength: 1,
524
+ },
525
+ },
526
+ required: ['phone'],
527
+ };
528
+ export const ReassignMemberRequestSchema = {
529
+ type: 'object',
530
+ properties: {
531
+ memberId: {
532
+ type: 'string',
533
+ format: 'uuid',
534
+ },
535
+ },
536
+ required: ['memberId'],
537
+ };
591
538
  export const AddressRequestSchema = {
592
539
  type: 'object',
593
540
  properties: {
@@ -768,20 +715,6 @@ export const IdResponseIntegerSchema = {
768
715
  },
769
716
  required: ['id'],
770
717
  };
771
- export const CaptureLeadRequestSchema = {
772
- type: 'object',
773
- properties: {
774
- contactInfo: {
775
- $ref: '#/components/schemas/ContactInfoRequest',
776
- },
777
- note: {
778
- type: 'string',
779
- maxLength: 500,
780
- minLength: 0,
781
- },
782
- },
783
- required: ['contactInfo'],
784
- };
785
718
  export const RateRecommendationItemRequestSchema = {
786
719
  type: 'object',
787
720
  properties: {
@@ -808,7 +741,7 @@ export const AttendeeRequestSchema = {
808
741
  type: 'string',
809
742
  format: 'uuid',
810
743
  },
811
- clientId: {
744
+ contactId: {
812
745
  type: 'integer',
813
746
  format: 'int64',
814
747
  },
@@ -919,28 +852,6 @@ export const MeetingResponseSchema = {
919
852
  },
920
853
  required: ['meetingId'],
921
854
  };
922
- export const LeadIdSchema = {
923
- type: 'object',
924
- properties: {
925
- value: {
926
- type: 'integer',
927
- format: 'int64',
928
- },
929
- },
930
- };
931
- export const OnboardFromSourceRequestSchema = {
932
- type: 'object',
933
- properties: {
934
- sourceLink: {
935
- type: 'string',
936
- },
937
- phone: {
938
- type: 'string',
939
- minLength: 1,
940
- },
941
- },
942
- required: ['phone', 'sourceLink'],
943
- };
944
855
  export const BulkRecruitmentRequestSchema = {
945
856
  type: 'object',
946
857
  properties: {
@@ -959,449 +870,177 @@ export const RecruitmentRequestSchema = {
959
870
  properties: {
960
871
  email: {
961
872
  type: 'string',
962
- format: 'email',
963
- },
964
- roleId: {
965
- type: 'integer',
966
- format: 'int32',
967
- },
968
- },
969
- required: ['email', 'roleId'],
970
- };
971
- export const AuthRequestSchema = {
972
- type: 'object',
973
- properties: {
974
- sub: {
975
- type: 'string',
976
- },
977
- agencyId: {
978
- type: 'string',
979
- format: 'uuid',
980
- },
981
- },
982
- };
983
- export const AgencyPrincipalDtoSchema = {
984
- type: 'object',
985
- properties: {
986
- memberId: {
987
- type: 'string',
988
- format: 'uuid',
989
- },
990
- permissions: {
991
- type: 'array',
992
- items: {
993
- type: 'string',
994
- enum: [
995
- 'AGENCY_WRITE',
996
- 'INVITATION_READ',
997
- 'INVITATION_WRITE',
998
- 'ROLE_READ',
999
- 'ROLE_WRITE',
1000
- 'MEMBER_READ',
1001
- 'MEMBER_WRITE',
1002
- 'MEETING_READ_ALL',
1003
- 'LEAD_READ',
1004
- 'LEAD_WRITE',
1005
- 'LEAD_READ_ALL',
1006
- 'LEAD_WRITE_ALL',
1007
- 'CLIENT_READ',
1008
- 'CLIENT_WRITE',
1009
- 'CLIENT_READ_ALL',
1010
- 'CLIENT_WRITE_ALL',
1011
- 'PROPERTY_READ_ALL',
1012
- ],
1013
- },
1014
- uniqueItems: true,
1015
- },
1016
- isActive: {
1017
- type: 'boolean',
1018
- },
1019
- isOwner: {
1020
- type: 'boolean',
1021
- },
1022
- },
1023
- };
1024
- export const OnboardClientRequestSchema = {
1025
- type: 'object',
1026
- properties: {
1027
- contactInfo: {
1028
- $ref: '#/components/schemas/ContactInfoRequest',
1029
- },
1030
- contactMethods: {
1031
- type: 'array',
1032
- items: {
1033
- type: 'string',
1034
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
1035
- },
1036
- uniqueItems: true,
1037
- },
1038
- favoriteContactMethod: {
1039
- type: 'string',
1040
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
1041
- },
1042
- priority: {
1043
- type: 'string',
1044
- enum: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'],
1045
- },
1046
- convertedFromLeadId: {
1047
- type: 'integer',
1048
- format: 'int64',
1049
- },
1050
- },
1051
- required: ['contactInfo', 'contactMethods'],
1052
- };
1053
- export const AddressNamesSchema = {
1054
- type: 'object',
1055
- properties: {
1056
- region: {
1057
- type: 'object',
1058
- additionalProperties: {
1059
- type: 'string',
1060
- },
1061
- },
1062
- district: {
1063
- type: 'object',
1064
- additionalProperties: {
1065
- type: 'string',
1066
- },
1067
- },
1068
- subdistrict: {
1069
- type: 'object',
1070
- additionalProperties: {
1071
- type: 'string',
1072
- },
1073
- },
1074
- street: {
1075
- type: 'object',
1076
- additionalProperties: {
1077
- type: 'string',
1078
- },
1079
- },
1080
- },
1081
- };
1082
- export const AddressRefSchema = {
1083
- type: 'object',
1084
- properties: {
1085
- regionId: {
1086
- type: 'integer',
1087
- format: 'int64',
1088
- },
1089
- districtId: {
1090
- type: 'integer',
1091
- format: 'int64',
1092
- },
1093
- subdistrictId: {
1094
- type: 'integer',
1095
- format: 'int64',
1096
- },
1097
- streetId: {
1098
- type: 'integer',
1099
- format: 'int64',
1100
- },
1101
- names: {
1102
- $ref: '#/components/schemas/AddressNames',
1103
- },
1104
- cadastreCode: {
1105
- type: 'string',
1106
- },
1107
- coordinates: {
1108
- $ref: '#/components/schemas/Coordinates',
1109
- },
1110
- },
1111
- };
1112
- export const ClientOnboardedResponseSchema = {
1113
- type: 'object',
1114
- properties: {
1115
- clientId: {
1116
- type: 'integer',
1117
- format: 'int64',
1118
- },
1119
- importedProperty: {
1120
- $ref: '#/components/schemas/ImportedPropertyDraft',
1121
- },
1122
- },
1123
- required: ['clientId'],
1124
- };
1125
- export const ContactSummarySchema = {
1126
- type: 'object',
1127
- properties: {
1128
- firstName: {
1129
- type: 'string',
1130
- },
1131
- lastName: {
1132
- type: 'string',
1133
- },
1134
- gender: {
1135
- type: 'string',
1136
- enum: ['MALE', 'FEMALE', 'UNKNOWN'],
1137
- },
1138
- email: {
1139
- type: 'string',
1140
- },
1141
- phone: {
1142
- type: 'string',
873
+ format: 'email',
874
+ },
875
+ roleId: {
876
+ type: 'integer',
877
+ format: 'int32',
1143
878
  },
1144
879
  },
880
+ required: ['email', 'roleId'],
1145
881
  };
1146
- export const CoordinatesSchema = {
882
+ export const AuthRequestSchema = {
1147
883
  type: 'object',
1148
884
  properties: {
1149
- lat: {
1150
- type: 'number',
1151
- format: 'double',
885
+ sub: {
886
+ type: 'string',
1152
887
  },
1153
- lng: {
1154
- type: 'number',
1155
- format: 'double',
888
+ agencyId: {
889
+ type: 'string',
890
+ format: 'uuid',
1156
891
  },
1157
892
  },
1158
893
  };
1159
- export const ImportedPropertyDraftSchema = {
894
+ export const AgencyPrincipalDtoSchema = {
1160
895
  type: 'object',
1161
896
  properties: {
1162
- contact: {
1163
- $ref: '#/components/schemas/ContactSummary',
1164
- },
1165
- listingType: {
897
+ memberId: {
1166
898
  type: 'string',
1167
- enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
1168
- },
1169
- askingPrice: {
1170
- type: 'number',
1171
- },
1172
- propertyCreationRequest: {
1173
- $ref: '#/components/schemas/PropertyCreationRequest',
899
+ format: 'uuid',
1174
900
  },
1175
- photosForUpload: {
901
+ permissions: {
1176
902
  type: 'array',
1177
903
  items: {
1178
- $ref: '#/components/schemas/PresignedResult',
904
+ type: 'string',
905
+ enum: [
906
+ 'AGENCY_WRITE',
907
+ 'INVITATION_READ',
908
+ 'INVITATION_WRITE',
909
+ 'ROLE_READ',
910
+ 'ROLE_WRITE',
911
+ 'MEMBER_READ',
912
+ 'MEMBER_WRITE',
913
+ 'MEETING_READ_ALL',
914
+ 'CONTACT_READ',
915
+ 'CONTACT_WRITE',
916
+ 'CONTACT_READ_ALL',
917
+ 'CONTACT_WRITE_ALL',
918
+ 'PROPERTY_READ_ALL',
919
+ ],
1179
920
  },
921
+ uniqueItems: true,
922
+ },
923
+ isActive: {
924
+ type: 'boolean',
925
+ },
926
+ isOwner: {
927
+ type: 'boolean',
1180
928
  },
1181
929
  },
1182
930
  };
1183
- export const PhotoInternalRequestSchema = {
931
+ export const CreateClientRecommendationsRequestSchema = {
1184
932
  type: 'object',
1185
933
  properties: {
1186
- photo: {
934
+ title: {
1187
935
  type: 'string',
1188
- maxLength: 255,
1189
- minLength: 0,
1190
- },
1191
- width: {
1192
- type: 'integer',
1193
- format: 'int32',
1194
- maximum: 11000,
1195
- minimum: 10,
936
+ minLength: 1,
1196
937
  },
1197
- height: {
938
+ interestId: {
1198
939
  type: 'integer',
1199
- format: 'int32',
1200
- maximum: 11000,
1201
- minimum: 10,
940
+ format: 'int64',
1202
941
  },
1203
942
  },
1204
- required: ['photo', 'width'],
943
+ required: ['interestId', 'title'],
1205
944
  };
1206
- export const PhotoKeySchema = {
945
+ export const RecommendationsIdSchema = {
1207
946
  type: 'object',
1208
947
  properties: {
1209
948
  value: {
1210
949
  type: 'string',
950
+ format: 'uuid',
1211
951
  },
1212
952
  },
1213
953
  };
1214
- export const PresignedResultSchema = {
954
+ export const RecommendListingRequestSchema = {
1215
955
  type: 'object',
1216
956
  properties: {
1217
- originalName: {
957
+ externalPropertyId: {
1218
958
  type: 'string',
959
+ format: 'uuid',
1219
960
  },
1220
- key: {
1221
- $ref: '#/components/schemas/PhotoKey',
1222
- },
1223
- presignedUrl: {
961
+ externalListingId: {
1224
962
  type: 'string',
963
+ format: 'uuid',
1225
964
  },
1226
965
  },
966
+ required: ['externalListingId', 'externalPropertyId'],
1227
967
  };
1228
- export const PropertyCreationRequestSchema = {
968
+ export const AddDealRequestSchema = {
1229
969
  type: 'object',
1230
970
  properties: {
1231
- draftId: {
1232
- type: 'string',
1233
- format: 'uuid',
1234
- },
1235
- clientId: {
971
+ listingId: {
1236
972
  type: 'integer',
1237
973
  format: 'int64',
1238
974
  },
1239
- propertyType: {
975
+ commissionType: {
1240
976
  type: 'string',
1241
- enum: [
1242
- 'HOUSE',
1243
- 'TOWN_HOUSE',
1244
- 'COUNTRY_HOUSE',
1245
- 'VILLA',
1246
- 'COTTAGE',
1247
- 'APARTMENT',
1248
- 'DUPLEX',
1249
- 'TRIPLEX',
1250
- 'SEMI_BASEMENT',
1251
- 'ATTIC',
1252
- 'AGRICULTURAL_LAND',
1253
- 'RESIDENTIAL_LAND',
1254
- 'HOTEL_ROOM',
1255
- 'MOTEL_ROOM',
1256
- 'CO_LIVING_SPACE',
1257
- 'OFFICE',
1258
- 'COMMERCIAL_SPACE',
1259
- 'CO_WORKING_SPACE',
1260
- 'WAREHOUSE',
1261
- 'GARAGE',
1262
- ],
1263
- },
1264
- address: {
1265
- $ref: '#/components/schemas/AddressRef',
1266
- },
1267
- photoUrls: {
1268
- type: 'array',
1269
- items: {
1270
- $ref: '#/components/schemas/PhotoInternalRequest',
1271
- },
1272
- maxItems: 2147483647,
1273
- minItems: 5,
1274
- },
1275
- spaces: {
1276
- type: 'object',
1277
- additionalProperties: {
1278
- type: 'array',
1279
- items: {
1280
- type: 'number',
1281
- format: 'double',
1282
- },
1283
- },
1284
- example: {
1285
- BATHROOM: [5, 8],
1286
- BEDROOM: [15.5, 16, 22],
1287
- LIVING_ROOM: [52.5],
1288
- KITCHEN: [20.5],
1289
- },
977
+ enum: ['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT'],
1290
978
  },
1291
- totalArea: {
979
+ rate: {
1292
980
  type: 'number',
1293
- format: 'double',
1294
981
  },
1295
- livingArea: {
982
+ amount: {
1296
983
  type: 'number',
1297
- format: 'double',
1298
984
  },
1299
- balconyArea: {
985
+ factor: {
1300
986
  type: 'number',
1301
- format: 'double',
1302
- },
1303
- status: {
1304
- type: 'string',
1305
- enum: [
1306
- 'OLD_BUILDING',
1307
- 'NEW_BUILDING',
1308
- 'UNDER_CONSTRUCTION',
1309
- 'FINISHED',
1310
- ],
1311
- },
1312
- condition: {
1313
- type: 'string',
1314
- enum: [
1315
- 'NEWLY_RENOVATED',
1316
- 'OLD_RENOVATED',
1317
- 'CURRENT_RENOVATION',
1318
- 'REPAIRING',
1319
- 'WHITE_FRAME',
1320
- 'BLACK_FRAME',
1321
- 'GREEN_FRAME',
1322
- 'WHITE_PLUS',
1323
- ],
1324
- },
1325
- totalFloors: {
1326
- type: 'integer',
1327
- format: 'int32',
1328
- },
1329
- floorAt: {
1330
- type: 'integer',
1331
- format: 'int32',
1332
- },
1333
- amenities: {
1334
- type: 'array',
1335
- items: {
1336
- type: 'integer',
1337
- format: 'int32',
1338
- },
1339
- },
1340
- title: {
1341
- type: 'string',
1342
- minLength: 1,
1343
- },
1344
- description: {
1345
- type: 'object',
1346
- additionalProperties: {
1347
- type: 'string',
1348
- },
1349
- example: {
1350
- ka: 'example ka',
1351
- en: 'example en',
1352
- ru: 'example ru',
1353
- },
1354
- minProperties: 1,
1355
987
  },
1356
988
  },
1357
- required: [
1358
- 'address',
1359
- 'amenities',
1360
- 'description',
1361
- 'draftId',
1362
- 'photoUrls',
1363
- 'propertyType',
1364
- 'spaces',
1365
- 'title',
1366
- 'totalArea',
1367
- ],
989
+ required: ['commissionType', 'listingId'],
1368
990
  };
1369
- export const CreateClientRecommendationsRequestSchema = {
991
+ export const InterestIdSchema = {
1370
992
  type: 'object',
1371
993
  properties: {
1372
- title: {
1373
- type: 'string',
1374
- minLength: 1,
1375
- },
1376
- interestId: {
994
+ value: {
1377
995
  type: 'integer',
1378
996
  format: 'int64',
1379
997
  },
1380
998
  },
1381
- required: ['interestId', 'title'],
1382
999
  };
1383
- export const RecommendationsIdSchema = {
1000
+ export const IdResponseUUIDSchema = {
1384
1001
  type: 'object',
1385
1002
  properties: {
1386
- value: {
1003
+ id: {
1387
1004
  type: 'string',
1388
1005
  format: 'uuid',
1389
1006
  },
1390
1007
  },
1008
+ required: ['id'],
1391
1009
  };
1392
- export const RecommendListingRequestSchema = {
1010
+ export const OnboardClientRequestSchema = {
1393
1011
  type: 'object',
1394
1012
  properties: {
1395
- externalPropertyId: {
1013
+ contactInfo: {
1014
+ $ref: '#/components/schemas/ContactInfoRequest',
1015
+ },
1016
+ contactMethods: {
1017
+ type: 'array',
1018
+ items: {
1019
+ type: 'string',
1020
+ enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
1021
+ },
1022
+ uniqueItems: true,
1023
+ },
1024
+ favoriteContactMethod: {
1396
1025
  type: 'string',
1397
- format: 'uuid',
1026
+ enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
1398
1027
  },
1399
- externalListingId: {
1028
+ priority: {
1400
1029
  type: 'string',
1401
- format: 'uuid',
1030
+ enum: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'],
1402
1031
  },
1403
1032
  },
1404
- required: ['externalListingId', 'externalPropertyId'],
1033
+ required: ['contactInfo', 'contactMethods'],
1034
+ };
1035
+ export const IdResponseLongSchema = {
1036
+ type: 'object',
1037
+ properties: {
1038
+ id: {
1039
+ type: 'integer',
1040
+ format: 'int64',
1041
+ },
1042
+ },
1043
+ required: ['id'],
1405
1044
  };
1406
1045
  export const ExternalListingPublishRequestSchema = {
1407
1046
  type: 'object',
@@ -1439,47 +1078,18 @@ export const ExternalListingBoostRequestSchema = {
1439
1078
  },
1440
1079
  required: ['listingId', 'numberOfDays', 'platform', 'tier'],
1441
1080
  };
1442
- export const AddDealRequestSchema = {
1081
+ export const OnboardFromSourceRequestSchema = {
1443
1082
  type: 'object',
1444
1083
  properties: {
1445
- listingId: {
1446
- type: 'integer',
1447
- format: 'int64',
1448
- },
1449
- commissionType: {
1084
+ sourceLink: {
1450
1085
  type: 'string',
1451
- enum: ['FIXED_SALE', 'FIXED_RENT', 'PERCENTAGE', 'MONTHS_OF_RENT'],
1452
- },
1453
- rate: {
1454
- type: 'number',
1455
- },
1456
- amount: {
1457
- type: 'number',
1458
- },
1459
- factor: {
1460
- type: 'number',
1461
- },
1462
- },
1463
- required: ['commissionType', 'listingId'],
1464
- };
1465
- export const InterestIdSchema = {
1466
- type: 'object',
1467
- properties: {
1468
- value: {
1469
- type: 'integer',
1470
- format: 'int64',
1471
1086
  },
1472
- },
1473
- };
1474
- export const IdResponseUUIDSchema = {
1475
- type: 'object',
1476
- properties: {
1477
- id: {
1087
+ phone: {
1478
1088
  type: 'string',
1479
- format: 'uuid',
1089
+ minLength: 1,
1480
1090
  },
1481
1091
  },
1482
- required: ['id'],
1092
+ required: ['phone', 'sourceLink'],
1483
1093
  };
1484
1094
  export const OrganizationSummaryViewResponseSchema = {
1485
1095
  type: 'object',
@@ -1524,14 +1134,10 @@ export const OrganizationSummaryViewResponseSchema = {
1524
1134
  'MEMBER_READ',
1525
1135
  'MEMBER_WRITE',
1526
1136
  'MEETING_READ_ALL',
1527
- 'LEAD_READ',
1528
- 'LEAD_WRITE',
1529
- 'LEAD_READ_ALL',
1530
- 'LEAD_WRITE_ALL',
1531
- 'CLIENT_READ',
1532
- 'CLIENT_WRITE',
1533
- 'CLIENT_READ_ALL',
1534
- 'CLIENT_WRITE_ALL',
1137
+ 'CONTACT_READ',
1138
+ 'CONTACT_WRITE',
1139
+ 'CONTACT_READ_ALL',
1140
+ 'CONTACT_WRITE_ALL',
1535
1141
  'PROPERTY_READ_ALL',
1536
1142
  ],
1537
1143
  },
@@ -1649,14 +1255,10 @@ export const RoleResponseSchema = {
1649
1255
  'MEMBER_READ',
1650
1256
  'MEMBER_WRITE',
1651
1257
  'MEETING_READ_ALL',
1652
- 'LEAD_READ',
1653
- 'LEAD_WRITE',
1654
- 'LEAD_READ_ALL',
1655
- 'LEAD_WRITE_ALL',
1656
- 'CLIENT_READ',
1657
- 'CLIENT_WRITE',
1658
- 'CLIENT_READ_ALL',
1659
- 'CLIENT_WRITE_ALL',
1258
+ 'CONTACT_READ',
1259
+ 'CONTACT_WRITE',
1260
+ 'CONTACT_READ_ALL',
1261
+ 'CONTACT_WRITE_ALL',
1660
1262
  'PROPERTY_READ_ALL',
1661
1263
  ],
1662
1264
  },
@@ -1780,7 +1382,7 @@ export const RecommendationsCardViewSchema = {
1780
1382
  clientNote: {
1781
1383
  type: 'string',
1782
1384
  },
1783
- ownerClientId: {
1385
+ ownerContactId: {
1784
1386
  type: 'integer',
1785
1387
  format: 'int64',
1786
1388
  },
@@ -1861,7 +1463,7 @@ export const RecommendationsCardViewSchema = {
1861
1463
  'externalPropertyId',
1862
1464
  'listingId',
1863
1465
  'listingType',
1864
- 'ownerClientId',
1466
+ 'ownerContactId',
1865
1467
  'price',
1866
1468
  'propertyId',
1867
1469
  'recommendationItemId',
@@ -1901,8 +1503,7 @@ export const GroupedPermissionsResponseSchema = {
1901
1503
  'INVITATION',
1902
1504
  'ROLE',
1903
1505
  'MEMBER',
1904
- 'LEAD',
1905
- 'CLIENT',
1506
+ 'CONTACT',
1906
1507
  'PROPERTY',
1907
1508
  ],
1908
1509
  },
@@ -1929,14 +1530,10 @@ export const PermissionResponseSchema = {
1929
1530
  'MEMBER_READ',
1930
1531
  'MEMBER_WRITE',
1931
1532
  'MEETING_READ_ALL',
1932
- 'LEAD_READ',
1933
- 'LEAD_WRITE',
1934
- 'LEAD_READ_ALL',
1935
- 'LEAD_WRITE_ALL',
1936
- 'CLIENT_READ',
1937
- 'CLIENT_WRITE',
1938
- 'CLIENT_READ_ALL',
1939
- 'CLIENT_WRITE_ALL',
1533
+ 'CONTACT_READ',
1534
+ 'CONTACT_WRITE',
1535
+ 'CONTACT_READ_ALL',
1536
+ 'CONTACT_WRITE_ALL',
1940
1537
  'PROPERTY_READ_ALL',
1941
1538
  ],
1942
1539
  },
@@ -1953,14 +1550,10 @@ export const PermissionResponseSchema = {
1953
1550
  'MEMBER_READ',
1954
1551
  'MEMBER_WRITE',
1955
1552
  'MEETING_READ_ALL',
1956
- 'LEAD_READ',
1957
- 'LEAD_WRITE',
1958
- 'LEAD_READ_ALL',
1959
- 'LEAD_WRITE_ALL',
1960
- 'CLIENT_READ',
1961
- 'CLIENT_WRITE',
1962
- 'CLIENT_READ_ALL',
1963
- 'CLIENT_WRITE_ALL',
1553
+ 'CONTACT_READ',
1554
+ 'CONTACT_WRITE',
1555
+ 'CONTACT_READ_ALL',
1556
+ 'CONTACT_WRITE_ALL',
1964
1557
  'PROPERTY_READ_ALL',
1965
1558
  ],
1966
1559
  },
@@ -2238,7 +1831,11 @@ export const OauthConnectionResponseSchema = {
2238
1831
  },
2239
1832
  provider: {
2240
1833
  type: 'string',
2241
- enum: ['GOOGLE', 'FACEBOOK'],
1834
+ enum: ['FACEBOOK', 'INSTAGRAM', 'WHATSAPP'],
1835
+ },
1836
+ status: {
1837
+ type: 'string',
1838
+ enum: ['ACTIVE', 'REVOKED'],
2242
1839
  },
2243
1840
  pagePicture: {
2244
1841
  type: 'string',
@@ -2254,8 +1851,19 @@ export const OauthConnectionResponseSchema = {
2254
1851
  type: 'string',
2255
1852
  format: 'date-time',
2256
1853
  },
1854
+ revokedAt: {
1855
+ type: 'string',
1856
+ format: 'date-time',
1857
+ },
2257
1858
  },
2258
- required: ['agencyId', 'createdAt', 'provider', 'updatedAt', 'userId'],
1859
+ required: [
1860
+ 'agencyId',
1861
+ 'createdAt',
1862
+ 'provider',
1863
+ 'status',
1864
+ 'updatedAt',
1865
+ 'userId',
1866
+ ],
2259
1867
  };
2260
1868
  export const MemberViewResponseSchema = {
2261
1869
  type: 'object',
@@ -2424,7 +2032,7 @@ export const AttendeeViewSchema = {
2424
2032
  type: 'string',
2425
2033
  format: 'uuid',
2426
2034
  },
2427
- clientId: {
2035
+ contactId: {
2428
2036
  type: 'integer',
2429
2037
  format: 'int64',
2430
2038
  },
@@ -2578,7 +2186,7 @@ export const ListingGridViewSchema = {
2578
2186
  type: 'integer',
2579
2187
  format: 'int64',
2580
2188
  },
2581
- clientId: {
2189
+ contactId: {
2582
2190
  type: 'integer',
2583
2191
  format: 'int64',
2584
2192
  },
@@ -2737,160 +2345,6 @@ export const GroupCountSchema = {
2737
2345
  },
2738
2346
  required: ['count', 'groupKey', 'label'],
2739
2347
  };
2740
- export const IntentResponseSchema = {
2741
- type: 'object',
2742
- properties: {
2743
- id: {
2744
- type: 'integer',
2745
- format: 'int64',
2746
- },
2747
- clientType: {
2748
- type: 'string',
2749
- enum: ['LISTING', 'SEEKING'],
2750
- },
2751
- listingType: {
2752
- type: 'string',
2753
- enum: ['SALE', 'RENT', 'DAILY_RENT', 'PLEDGE'],
2754
- },
2755
- propertyType: {
2756
- type: 'string',
2757
- enum: [
2758
- 'HOUSE',
2759
- 'TOWN_HOUSE',
2760
- 'COUNTRY_HOUSE',
2761
- 'VILLA',
2762
- 'COTTAGE',
2763
- 'APARTMENT',
2764
- 'DUPLEX',
2765
- 'TRIPLEX',
2766
- 'SEMI_BASEMENT',
2767
- 'ATTIC',
2768
- 'AGRICULTURAL_LAND',
2769
- 'RESIDENTIAL_LAND',
2770
- 'HOTEL_ROOM',
2771
- 'MOTEL_ROOM',
2772
- 'CO_LIVING_SPACE',
2773
- 'OFFICE',
2774
- 'COMMERCIAL_SPACE',
2775
- 'CO_WORKING_SPACE',
2776
- 'WAREHOUSE',
2777
- 'GARAGE',
2778
- ],
2779
- },
2780
- priceMin: {
2781
- type: 'number',
2782
- },
2783
- priceMax: {
2784
- type: 'number',
2785
- },
2786
- area: {
2787
- type: 'number',
2788
- format: 'double',
2789
- },
2790
- numberOfRooms: {
2791
- type: 'integer',
2792
- format: 'int32',
2793
- },
2794
- region: {
2795
- $ref: '#/components/schemas/LocationResponse',
2796
- },
2797
- district: {
2798
- $ref: '#/components/schemas/LocationResponse',
2799
- },
2800
- subDistrict: {
2801
- $ref: '#/components/schemas/LocationResponse',
2802
- },
2803
- street: {
2804
- $ref: '#/components/schemas/LocationResponse',
2805
- },
2806
- },
2807
- required: ['clientType', 'id', 'listingType', 'propertyType'],
2808
- };
2809
- export const LeadGridResponseSchema = {
2810
- type: 'object',
2811
- properties: {
2812
- id: {
2813
- type: 'integer',
2814
- format: 'int64',
2815
- },
2816
- createdBy: {
2817
- type: 'string',
2818
- format: 'uuid',
2819
- },
2820
- assignedTo: {
2821
- $ref: '#/components/schemas/AssignedToResponse',
2822
- },
2823
- status: {
2824
- type: 'string',
2825
- enum: ['NEW', 'ON_HOLD', 'LOST', 'CONVERTED'],
2826
- },
2827
- contactFullName: {
2828
- type: 'string',
2829
- },
2830
- contactGender: {
2831
- type: 'string',
2832
- enum: ['MALE', 'FEMALE', 'UNKNOWN'],
2833
- },
2834
- contactPhoneNumber: {
2835
- type: 'string',
2836
- },
2837
- contactEmail: {
2838
- type: 'string',
2839
- },
2840
- note: {
2841
- type: 'string',
2842
- },
2843
- sourceType: {
2844
- type: 'string',
2845
- enum: ['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'],
2846
- },
2847
- sourceLink: {
2848
- type: 'string',
2849
- },
2850
- isSearching: {
2851
- type: 'boolean',
2852
- },
2853
- isListing: {
2854
- type: 'boolean',
2855
- },
2856
- createdAt: {
2857
- type: 'string',
2858
- format: 'date-time',
2859
- },
2860
- updatedAt: {
2861
- type: 'string',
2862
- format: 'date-time',
2863
- },
2864
- intents: {
2865
- type: 'array',
2866
- items: {
2867
- $ref: '#/components/schemas/IntentResponse',
2868
- },
2869
- },
2870
- },
2871
- required: [
2872
- 'contactPhoneNumber',
2873
- 'id',
2874
- 'isListing',
2875
- 'isSearching',
2876
- 'sourceType',
2877
- 'status',
2878
- ],
2879
- };
2880
- export const PagedModelLeadGridResponseSchema = {
2881
- type: 'object',
2882
- properties: {
2883
- content: {
2884
- type: 'array',
2885
- items: {
2886
- $ref: '#/components/schemas/LeadGridResponse',
2887
- },
2888
- },
2889
- page: {
2890
- $ref: '#/components/schemas/PageMetadata',
2891
- },
2892
- },
2893
- };
2894
2348
  export const InvitationViewResponseSchema = {
2895
2349
  type: 'object',
2896
2350
  properties: {
@@ -2937,93 +2391,7 @@ export const PagedModelInvitationViewResponseSchema = {
2937
2391
  },
2938
2392
  },
2939
2393
  };
2940
- export const AssignedAgentSchema = {
2941
- type: 'object',
2942
- properties: {
2943
- memberId: {
2944
- type: 'string',
2945
- format: 'uuid',
2946
- },
2947
- firstName: {
2948
- type: 'string',
2949
- },
2950
- lastName: {
2951
- type: 'string',
2952
- },
2953
- photo: {
2954
- type: 'string',
2955
- },
2956
- phone: {
2957
- type: 'string',
2958
- },
2959
- },
2960
- required: ['firstName', 'lastName', 'memberId'],
2961
- };
2962
- export const DuplicateContactInfoSchema = {
2963
- type: 'object',
2964
- properties: {
2965
- type: {
2966
- type: 'string',
2967
- enum: ['LEAD', 'CLIENT'],
2968
- },
2969
- contactId: {
2970
- type: 'integer',
2971
- format: 'int64',
2972
- },
2973
- isActive: {
2974
- type: 'boolean',
2975
- },
2976
- firstName: {
2977
- type: 'string',
2978
- },
2979
- lastName: {
2980
- type: 'string',
2981
- },
2982
- gender: {
2983
- type: 'string',
2984
- enum: ['MALE', 'FEMALE', 'UNKNOWN'],
2985
- },
2986
- email: {
2987
- type: 'string',
2988
- },
2989
- phone: {
2990
- type: 'string',
2991
- },
2992
- contactMethods: {
2993
- type: 'array',
2994
- items: {
2995
- type: 'string',
2996
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
2997
- },
2998
- uniqueItems: true,
2999
- },
3000
- favoriteContactMethod: {
3001
- type: 'string',
3002
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
3003
- },
3004
- assignedTo: {
3005
- $ref: '#/components/schemas/AssignedAgent',
3006
- },
3007
- },
3008
- required: ['contactId', 'isActive', 'phone', 'type'],
3009
- };
3010
- export const PhoneDuplicateCheckResponseSchema = {
3011
- type: 'object',
3012
- properties: {
3013
- policy: {
3014
- type: 'string',
3015
- enum: ['ALLOW', 'WARN', 'PREVENT'],
3016
- },
3017
- matches: {
3018
- type: 'array',
3019
- items: {
3020
- $ref: '#/components/schemas/DuplicateContactInfo',
3021
- },
3022
- },
3023
- },
3024
- required: ['matches', 'policy'],
3025
- };
3026
- export const ClientInterestResponseSchema = {
2394
+ export const ConstantInterestResponseSchema = {
3027
2395
  type: 'object',
3028
2396
  properties: {
3029
2397
  id: {
@@ -3107,19 +2475,76 @@ export const ClientInterestResponseSchema = {
3107
2475
  district: {
3108
2476
  $ref: '#/components/schemas/LocationResponse',
3109
2477
  },
3110
- subDistrict: {
3111
- $ref: '#/components/schemas/LocationResponse',
2478
+ subDistrict: {
2479
+ $ref: '#/components/schemas/LocationResponse',
2480
+ },
2481
+ street: {
2482
+ $ref: '#/components/schemas/LocationResponse',
2483
+ },
2484
+ active: {
2485
+ type: 'boolean',
2486
+ },
2487
+ },
2488
+ required: ['active', 'id', 'listingType', 'propertyTypes'],
2489
+ };
2490
+ export const CommentViewSchema = {
2491
+ type: 'object',
2492
+ properties: {
2493
+ id: {
2494
+ type: 'string',
2495
+ format: 'uuid',
2496
+ },
2497
+ contactId: {
2498
+ type: 'integer',
2499
+ format: 'int64',
2500
+ },
2501
+ authorId: {
2502
+ type: 'string',
2503
+ format: 'uuid',
2504
+ },
2505
+ authorFirstName: {
2506
+ type: 'string',
2507
+ },
2508
+ authorLastName: {
2509
+ type: 'string',
2510
+ },
2511
+ body: {
2512
+ type: 'string',
2513
+ },
2514
+ createdAt: {
2515
+ type: 'string',
2516
+ format: 'date-time',
2517
+ },
2518
+ editedAt: {
2519
+ type: 'string',
2520
+ format: 'date-time',
3112
2521
  },
3113
- street: {
3114
- $ref: '#/components/schemas/LocationResponse',
2522
+ },
2523
+ required: [
2524
+ 'authorFirstName',
2525
+ 'authorId',
2526
+ 'authorLastName',
2527
+ 'body',
2528
+ 'contactId',
2529
+ 'createdAt',
2530
+ 'id',
2531
+ ],
2532
+ };
2533
+ export const PagedModelCommentViewSchema = {
2534
+ type: 'object',
2535
+ properties: {
2536
+ content: {
2537
+ type: 'array',
2538
+ items: {
2539
+ $ref: '#/components/schemas/CommentView',
2540
+ },
3115
2541
  },
3116
- active: {
3117
- type: 'boolean',
2542
+ page: {
2543
+ $ref: '#/components/schemas/PageMetadata',
3118
2544
  },
3119
2545
  },
3120
- required: ['active', 'id', 'listingType', 'propertyTypes'],
3121
2546
  };
3122
- export const ClientGridResponseSchema = {
2547
+ export const ContactGridResponseSchema = {
3123
2548
  type: 'object',
3124
2549
  properties: {
3125
2550
  id: {
@@ -3130,29 +2555,51 @@ export const ClientGridResponseSchema = {
3130
2555
  type: 'string',
3131
2556
  format: 'uuid',
3132
2557
  },
3133
- leadId: {
3134
- type: 'integer',
3135
- format: 'int64',
3136
- },
3137
2558
  assignedTo: {
3138
2559
  $ref: '#/components/schemas/AssignedToResponse',
3139
2560
  },
3140
- contactFullName: {
2561
+ status: {
2562
+ type: 'string',
2563
+ enum: [
2564
+ 'NEW',
2565
+ 'ON_HOLD',
2566
+ 'COLD',
2567
+ 'WARM',
2568
+ 'HOT',
2569
+ 'WAITING_PAYMENT',
2570
+ 'LOST',
2571
+ 'CLOSED',
2572
+ ],
2573
+ },
2574
+ priority: {
3141
2575
  type: 'string',
2576
+ enum: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'],
3142
2577
  },
3143
- contactPhoneNumber: {
2578
+ contactName: {
3144
2579
  type: 'string',
3145
2580
  },
3146
- contactGender: {
2581
+ gender: {
3147
2582
  type: 'string',
3148
2583
  enum: ['MALE', 'FEMALE', 'UNKNOWN'],
3149
2584
  },
3150
- contactEmail: {
2585
+ phoneNumber: {
2586
+ type: 'string',
2587
+ },
2588
+ email: {
3151
2589
  type: 'string',
3152
2590
  },
3153
2591
  sourceType: {
3154
2592
  type: 'string',
3155
- enum: ['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'],
2593
+ enum: [
2594
+ 'MY_HOME',
2595
+ 'SS',
2596
+ 'HOME_SPOT',
2597
+ 'AGENCY_MEMBER',
2598
+ 'FACEBOOK',
2599
+ 'INSTAGRAM',
2600
+ 'WHATSAPP',
2601
+ 'UNKNOWN',
2602
+ ],
3156
2603
  },
3157
2604
  sourceLink: {
3158
2605
  type: 'string',
@@ -3163,39 +2610,31 @@ export const ClientGridResponseSchema = {
3163
2610
  isListing: {
3164
2611
  type: 'boolean',
3165
2612
  },
3166
- contactMethods: {
3167
- type: 'array',
3168
- items: {
3169
- type: 'string',
3170
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
3171
- },
3172
- uniqueItems: true,
3173
- },
3174
- favoriteContactMethod: {
2613
+ createdAt: {
3175
2614
  type: 'string',
3176
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
2615
+ format: 'date-time',
3177
2616
  },
3178
- priority: {
2617
+ updatedAt: {
3179
2618
  type: 'string',
3180
- enum: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'],
2619
+ format: 'date-time',
3181
2620
  },
3182
2621
  },
3183
2622
  required: [
3184
- 'contactMethods',
3185
- 'contactPhoneNumber',
3186
- 'createdBy',
2623
+ 'createdAt',
3187
2624
  'id',
3188
2625
  'isListing',
3189
2626
  'isSearching',
2627
+ 'status',
2628
+ 'updatedAt',
3190
2629
  ],
3191
2630
  };
3192
- export const PagedModelClientGridResponseSchema = {
2631
+ export const PagedModelContactGridResponseSchema = {
3193
2632
  type: 'object',
3194
2633
  properties: {
3195
2634
  content: {
3196
2635
  type: 'array',
3197
2636
  items: {
3198
- $ref: '#/components/schemas/ClientGridResponse',
2637
+ $ref: '#/components/schemas/ContactGridResponse',
3199
2638
  },
3200
2639
  },
3201
2640
  page: {
@@ -3257,7 +2696,7 @@ export const AssignedMemberSchema = {
3257
2696
  export const Client360ResponseSchema = {
3258
2697
  type: 'object',
3259
2698
  properties: {
3260
- clientId: {
2699
+ contactId: {
3261
2700
  type: 'integer',
3262
2701
  format: 'int64',
3263
2702
  },
@@ -3265,7 +2704,7 @@ export const Client360ResponseSchema = {
3265
2704
  type: 'string',
3266
2705
  format: 'uuid',
3267
2706
  },
3268
- clientUserId: {
2707
+ contactUserId: {
3269
2708
  type: 'string',
3270
2709
  },
3271
2710
  createdBy: {
@@ -3305,19 +2744,19 @@ export const Client360ResponseSchema = {
3305
2744
  interests: {
3306
2745
  type: 'array',
3307
2746
  items: {
3308
- $ref: '#/components/schemas/ClientInterestResponse',
2747
+ $ref: '#/components/schemas/ConstantInterestResponse',
3309
2748
  },
3310
2749
  },
3311
2750
  properties: {
3312
2751
  type: 'array',
3313
2752
  items: {
3314
- $ref: '#/components/schemas/ClientPropertyResponse',
2753
+ $ref: '#/components/schemas/ContactPropertyResponse',
3315
2754
  },
3316
2755
  },
3317
2756
  },
3318
2757
  required: [
3319
2758
  'agencyId',
3320
- 'clientId',
2759
+ 'contactId',
3321
2760
  'contactInfo',
3322
2761
  'createdAt',
3323
2762
  'createdBy',
@@ -3329,7 +2768,60 @@ export const Client360ResponseSchema = {
3329
2768
  'updatedAt',
3330
2769
  ],
3331
2770
  };
3332
- export const ClientListingsResponseSchema = {
2771
+ export const ColoredListingResponseSchema = {
2772
+ type: 'object',
2773
+ properties: {
2774
+ activatedAt: {
2775
+ type: 'string',
2776
+ format: 'date',
2777
+ },
2778
+ expiresAt: {
2779
+ type: 'string',
2780
+ format: 'date',
2781
+ },
2782
+ },
2783
+ required: ['activatedAt', 'expiresAt'],
2784
+ };
2785
+ export const CommunicationPreferenceResponseSchema = {
2786
+ type: 'object',
2787
+ properties: {
2788
+ preferredContactMethod: {
2789
+ type: 'string',
2790
+ enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
2791
+ },
2792
+ contactMethods: {
2793
+ type: 'array',
2794
+ items: {
2795
+ type: 'string',
2796
+ enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
2797
+ },
2798
+ },
2799
+ },
2800
+ required: ['contactMethods'],
2801
+ };
2802
+ export const ContactInfoResponseSchema = {
2803
+ type: 'object',
2804
+ properties: {
2805
+ firstName: {
2806
+ type: 'string',
2807
+ },
2808
+ lastName: {
2809
+ type: 'string',
2810
+ },
2811
+ gender: {
2812
+ type: 'string',
2813
+ enum: ['MALE', 'FEMALE', 'UNKNOWN'],
2814
+ },
2815
+ phoneNumber: {
2816
+ type: 'string',
2817
+ },
2818
+ email: {
2819
+ type: 'string',
2820
+ },
2821
+ },
2822
+ required: ['gender', 'phoneNumber'],
2823
+ };
2824
+ export const ContactListingsResponseSchema = {
3333
2825
  type: 'object',
3334
2826
  properties: {
3335
2827
  publicId: {
@@ -3365,7 +2857,7 @@ export const ClientListingsResponseSchema = {
3365
2857
  'publicId',
3366
2858
  ],
3367
2859
  };
3368
- export const ClientPropertyResponseSchema = {
2860
+ export const ContactPropertyResponseSchema = {
3369
2861
  type: 'object',
3370
2862
  properties: {
3371
2863
  publicId: {
@@ -3420,7 +2912,7 @@ export const ClientPropertyResponseSchema = {
3420
2912
  listings: {
3421
2913
  type: 'array',
3422
2914
  items: {
3423
- $ref: '#/components/schemas/ClientListingsResponse',
2915
+ $ref: '#/components/schemas/ContactListingsResponse',
3424
2916
  },
3425
2917
  },
3426
2918
  },
@@ -3433,59 +2925,6 @@ export const ClientPropertyResponseSchema = {
3433
2925
  'type',
3434
2926
  ],
3435
2927
  };
3436
- export const ColoredListingResponseSchema = {
3437
- type: 'object',
3438
- properties: {
3439
- activatedAt: {
3440
- type: 'string',
3441
- format: 'date',
3442
- },
3443
- expiresAt: {
3444
- type: 'string',
3445
- format: 'date',
3446
- },
3447
- },
3448
- required: ['activatedAt', 'expiresAt'],
3449
- };
3450
- export const CommunicationPreferenceResponseSchema = {
3451
- type: 'object',
3452
- properties: {
3453
- preferredContactMethod: {
3454
- type: 'string',
3455
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
3456
- },
3457
- contactMethods: {
3458
- type: 'array',
3459
- items: {
3460
- type: 'string',
3461
- enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
3462
- },
3463
- },
3464
- },
3465
- required: ['contactMethods'],
3466
- };
3467
- export const ContactInfoResponseSchema = {
3468
- type: 'object',
3469
- properties: {
3470
- firstName: {
3471
- type: 'string',
3472
- },
3473
- lastName: {
3474
- type: 'string',
3475
- },
3476
- gender: {
3477
- type: 'string',
3478
- enum: ['MALE', 'FEMALE', 'UNKNOWN'],
3479
- },
3480
- phoneNumber: {
3481
- type: 'string',
3482
- },
3483
- email: {
3484
- type: 'string',
3485
- },
3486
- },
3487
- required: ['gender', 'phoneNumber'],
3488
- };
3489
2928
  export const DealResponseSchema = {
3490
2929
  type: 'object',
3491
2930
  properties: {
@@ -3576,7 +3015,16 @@ export const SourceResponseSchema = {
3576
3015
  properties: {
3577
3016
  sourceType: {
3578
3017
  type: 'string',
3579
- enum: ['MY_HOME', 'SS', 'HOME_SPOT', 'UNKNOWN'],
3018
+ enum: [
3019
+ 'MY_HOME',
3020
+ 'SS',
3021
+ 'HOME_SPOT',
3022
+ 'AGENCY_MEMBER',
3023
+ 'FACEBOOK',
3024
+ 'INSTAGRAM',
3025
+ 'WHATSAPP',
3026
+ 'UNKNOWN',
3027
+ ],
3580
3028
  },
3581
3029
  sourceLink: {
3582
3030
  type: 'string',
@@ -3584,6 +3032,88 @@ export const SourceResponseSchema = {
3584
3032
  },
3585
3033
  required: ['sourceType'],
3586
3034
  };
3035
+ export const AssignedAgentSchema = {
3036
+ type: 'object',
3037
+ properties: {
3038
+ memberId: {
3039
+ type: 'string',
3040
+ format: 'uuid',
3041
+ },
3042
+ firstName: {
3043
+ type: 'string',
3044
+ },
3045
+ lastName: {
3046
+ type: 'string',
3047
+ },
3048
+ photo: {
3049
+ type: 'string',
3050
+ },
3051
+ phone: {
3052
+ type: 'string',
3053
+ },
3054
+ },
3055
+ required: ['firstName', 'lastName', 'memberId'],
3056
+ };
3057
+ export const DuplicateContactInfoSchema = {
3058
+ type: 'object',
3059
+ properties: {
3060
+ contactId: {
3061
+ type: 'integer',
3062
+ format: 'int64',
3063
+ },
3064
+ isActive: {
3065
+ type: 'boolean',
3066
+ },
3067
+ firstName: {
3068
+ type: 'string',
3069
+ },
3070
+ lastName: {
3071
+ type: 'string',
3072
+ },
3073
+ gender: {
3074
+ type: 'string',
3075
+ enum: ['MALE', 'FEMALE', 'UNKNOWN'],
3076
+ },
3077
+ email: {
3078
+ type: 'string',
3079
+ },
3080
+ phone: {
3081
+ type: 'string',
3082
+ },
3083
+ contactMethods: {
3084
+ type: 'array',
3085
+ items: {
3086
+ type: 'string',
3087
+ enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
3088
+ },
3089
+ uniqueItems: true,
3090
+ },
3091
+ favoriteContactMethod: {
3092
+ type: 'string',
3093
+ enum: ['WHATSAPP', 'VIBER', 'PHONE_CALL'],
3094
+ },
3095
+ assignedTo: {
3096
+ $ref: '#/components/schemas/AssignedAgent',
3097
+ },
3098
+ },
3099
+ required: ['contactId', 'isActive', 'phone'],
3100
+ };
3101
+ export const PhoneDuplicateCheckResponseSchema = {
3102
+ type: 'object',
3103
+ properties: {
3104
+ policy: {
3105
+ type: 'string',
3106
+ enum: ['ALLOW', 'WARN', 'PREVENT'],
3107
+ },
3108
+ matches: {
3109
+ type: 'array',
3110
+ items: {
3111
+ $ref: '#/components/schemas/DuplicateContactInfo',
3112
+ },
3113
+ },
3114
+ },
3115
+ required: ['matches', 'policy'],
3116
+ };
3587
3117
  export const AddressViewResponseSchema = {
3588
3118
  type: 'object',
3589
3119
  properties: {