@homespot-sdk/core 0.0.362 → 0.0.363

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.
@@ -1,5 +1,5 @@
1
1
  export type ClientOptions = {
2
- baseUrl: 'https://gateway.dev.homespot.ge/rem' | (string & {});
2
+ baseUrl: `${string}://${string}/rem` | (string & {});
3
3
  };
4
4
  export type WebsiteRequest = {
5
5
  url?: string;
@@ -215,6 +215,22 @@ export type UploadAcknowledgmentResponse = {
215
215
  success: Array<string>;
216
216
  fail: Array<string>;
217
217
  };
218
+ export type PlanLimitResponse = {
219
+ type?: string;
220
+ title?: string;
221
+ status?: number;
222
+ detail?: string;
223
+ instance?: string;
224
+ limit: 'SEATS' | 'ACTIVE_LISTINGS' | 'SOCIAL_POSTS' | 'AGENCY_BRANDING';
225
+ /**
226
+ * How many are in use now; absent for a feature
227
+ */
228
+ used?: number;
229
+ /**
230
+ * How many the plan allows; absent for a feature
231
+ */
232
+ allowed?: number;
233
+ };
218
234
  export type ConnectLinkResponse = {
219
235
  link?: string;
220
236
  expiresAt?: Date;
@@ -252,8 +268,14 @@ export type CreateAdHocTodoRequest = {
252
268
  title: string;
253
269
  };
254
270
  export type SubscribeRequest = {
255
- plan: 'STARTER' | 'PRO' | 'ENTERPRISE';
256
- billingCycle: 'MONTHLY' | 'ANNUAL';
271
+ /**
272
+ * PLUS or PRO to check out right away, FREE to start on Free without the trial; absent to start on the trial only
273
+ */
274
+ plan?: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
275
+ /**
276
+ * Required with PLUS or PRO
277
+ */
278
+ billingCycle?: 'MONTHLY' | 'ANNUAL';
257
279
  name: string;
258
280
  email: string;
259
281
  phone: string;
@@ -269,19 +291,22 @@ export type SubscriptionAddressRequest = {
269
291
  };
270
292
  export type SubscriptionCheckoutResponse = {
271
293
  /**
272
- * Null when payment is already confirmed; continue onboarding without paying again
294
+ * Null when payment is already confirmed, or a signup picked no plan
273
295
  */
274
296
  checkoutUrl?: string;
275
297
  agencyId?: string;
298
+ /**
299
+ * Null for a signup that picked no plan: the agency is on its trial
300
+ */
276
301
  subscriptionId?: string;
277
302
  status?: 'PENDING' | 'TRIALING' | 'ACTIVE' | 'PAST_DUE' | 'CANCELLED' | 'EXPIRED' | 'SUPERSEDED';
278
303
  };
279
304
  export type ChangePlanRequest = {
280
- plan: 'STARTER' | 'PRO' | 'ENTERPRISE';
305
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
281
306
  billingCycle: 'MONTHLY' | 'ANNUAL';
282
307
  };
283
308
  export type CheckoutRequest = {
284
- plan?: 'STARTER' | 'PRO' | 'ENTERPRISE';
309
+ plan?: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
285
310
  billingCycle?: 'MONTHLY' | 'ANNUAL';
286
311
  };
287
312
  export type IdResponseInteger = {
@@ -605,35 +630,32 @@ export type AddTodoTemplateRequest = {
605
630
  */
606
631
  applyToTasksInStage: boolean;
607
632
  };
608
- export type ProvisionAgencyRequest = {
609
- /**
610
- * The customer's existing user account id
611
- */
612
- ownerUserId: string;
613
- name: string;
614
- email: string;
615
- phone: string;
616
- subdomain: string;
617
- address: SubscriptionAddressRequest;
618
- plan: 'STARTER' | 'PRO' | 'ENTERPRISE';
633
+ export type AdminCheckoutRequest = {
634
+ agencyId: string;
635
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
619
636
  billingCycle: 'MONTHLY' | 'ANNUAL';
620
637
  /**
621
- * Exact per-cycle charge in minor units (tetri)
638
+ * Exact per-cycle net price in minor units (tetri), VAT excluded
622
639
  */
623
640
  priceMinorUnits: number;
624
641
  seats: number;
642
+ activeListings: number;
625
643
  /**
626
- * Contacts the agency may create per calendar month
644
+ * AI messages the agency shares each month; 0 means no AI
627
645
  */
628
- monthlyContactLimit: number;
646
+ aiMessages: number;
647
+ features: Array<'SOCIAL_POSTS' | 'AGENCY_BRANDING'>;
629
648
  /**
630
649
  * Free-trial days; 0 charges immediately
631
650
  */
632
651
  trialDays: number;
652
+ /**
653
+ * Months the price lasts (monthly billing only; the checkout charges the first). After them Flitt charges nothing more and the owner keeps the plan at its normal price by a plan change. Absent: until the plan changes
654
+ */
655
+ discountMonths?: number;
633
656
  };
634
- export type AdminProvisionResponse = {
657
+ export type AdminCheckoutResponse = {
635
658
  checkoutUrl?: string;
636
- agencyId?: string;
637
659
  subscriptionId?: string;
638
660
  };
639
661
  export type PositionTaskRequest = {
@@ -662,6 +684,10 @@ export type OrganizationSummaryViewResponse = {
662
684
  status: 'NEW' | 'ACTIVE' | 'PAYMENT_FAILED' | 'INACTIVE' | 'SUSPENDED';
663
685
  phone: string;
664
686
  isPhoneVerified: boolean;
687
+ /**
688
+ * Past the seats the agency's plan has after a downgrade: locked out until the owner upgrades or removes a member
689
+ */
690
+ isSeatLocked: boolean;
665
691
  };
666
692
  export type UserContextViewResponse = {
667
693
  user: UserSummaryViewResponse;
@@ -913,15 +939,32 @@ export type StageCardsResponse = {
913
939
  };
914
940
  export type SubscriptionResponse = {
915
941
  subscriptionId: string;
916
- plan: 'STARTER' | 'PRO' | 'ENTERPRISE';
942
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
917
943
  billingCycle: 'MONTHLY' | 'ANNUAL';
918
944
  /**
919
- * Per-cycle price in minor units (tetri)
945
+ * Per-cycle charge in minor units (tetri), VAT included
920
946
  */
921
947
  priceMinorUnits: number;
948
+ /**
949
+ * The charge without VAT, in minor units
950
+ */
951
+ netMinorUnits: number;
952
+ /**
953
+ * The VAT inside the charge, in minor units
954
+ */
955
+ vatMinorUnits: number;
956
+ /**
957
+ * The VAT rate the subscription was sold at, in percent
958
+ */
959
+ vatPercent: number;
922
960
  currency: string;
923
961
  seats: number;
924
- monthlyContactLimit: number;
962
+ activeListings: number;
963
+ /**
964
+ * AI messages the agency shares each month; 0 means no AI
965
+ */
966
+ aiMessages: number;
967
+ features: Array<'SOCIAL_POSTS' | 'AGENCY_BRANDING'>;
925
968
  trialDays: number;
926
969
  status: 'PENDING' | 'TRIALING' | 'ACTIVE' | 'PAST_DUE' | 'CANCELLED' | 'EXPIRED' | 'SUPERSEDED';
927
970
  /**
@@ -943,6 +986,48 @@ export type SubscriptionResponse = {
943
986
  * When the most recently issued checkout link stops being payable
944
987
  */
945
988
  checkoutExpiresAt?: Date;
989
+ /**
990
+ * Until when its discounted price applies; absent for any other price
991
+ */
992
+ discountEndsAt?: Date;
993
+ };
994
+ export type AiMessages = {
995
+ used: number;
996
+ /**
997
+ * Shared by the whole agency
998
+ */
999
+ limit: number;
1000
+ /**
1001
+ * When the allowance renews: the next 1st in Tbilisi; absent during the trial, whose allowance covers all of it
1002
+ */
1003
+ resetsAt?: Date;
1004
+ };
1005
+ export type PlanResponse = {
1006
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
1007
+ /**
1008
+ * Whether the caller may change the plan: the owner
1009
+ */
1010
+ canManage: boolean;
1011
+ /**
1012
+ * Present only during the trial every new agency starts with
1013
+ */
1014
+ trial?: Trial;
1015
+ /**
1016
+ * The subscription access comes from; absent on Free
1017
+ */
1018
+ subscription?: SubscriptionResponse;
1019
+ seats: Usage;
1020
+ activeListings: Usage;
1021
+ aiMessages: AiMessages;
1022
+ boards: Usage;
1023
+ features: Array<'SOCIAL_POSTS' | 'AGENCY_BRANDING'>;
1024
+ };
1025
+ export type Trial = {
1026
+ endsAt: Date;
1027
+ };
1028
+ export type Usage = {
1029
+ used: number;
1030
+ limit: number;
946
1031
  };
947
1032
  export type PaymentResponse = {
948
1033
  id: string;
@@ -958,7 +1043,22 @@ export type PaymentResponse = {
958
1043
  * What the platform did with it
959
1044
  */
960
1045
  outcome: 'APPLIED' | 'TRIAL_STARTED' | 'DUPLICATE' | 'NOT_APPLIED_CANCELLED' | 'NOT_APPLIED_SUPERSEDED' | 'REJECTED_AMOUNT' | 'REJECTED_CURRENCY' | 'IGNORED_TRANSACTION_TYPE' | 'DECLINED' | 'REVERSED' | 'REVERSAL_IGNORED' | 'RECORDED';
1046
+ /**
1047
+ * VAT included
1048
+ */
961
1049
  amountMinorUnits?: number;
1050
+ /**
1051
+ * The amount without VAT, at the subscription's rate
1052
+ */
1053
+ netMinorUnits?: number;
1054
+ /**
1055
+ * The VAT inside the amount
1056
+ */
1057
+ vatMinorUnits?: number;
1058
+ /**
1059
+ * The subscription's VAT rate, in percent
1060
+ */
1061
+ vatPercent: number;
962
1062
  currency?: string;
963
1063
  responseCode?: string;
964
1064
  responseDescription?: string;
@@ -1090,6 +1190,10 @@ export type InterestResponse = {
1090
1190
  criteria: Criteria;
1091
1191
  recommendationStats: RecommendationStats;
1092
1192
  boundedBox?: BoundingBox;
1193
+ /**
1194
+ * Whether client pages show the agency's own logo; HomeSpot's when false
1195
+ */
1196
+ agencyBranding: boolean;
1093
1197
  recommendations: PagedModelRecommendationsCardView;
1094
1198
  };
1095
1199
  export type PagedModelRecommendationsCardView = {
@@ -1138,6 +1242,44 @@ export type RecommendationDecisionResponse = {
1138
1242
  externalListingId: string;
1139
1243
  decision: 'MAYBE' | 'DISLIKE' | 'LIKE';
1140
1244
  };
1245
+ export type Amount = {
1246
+ netMinorUnits: number;
1247
+ vatMinorUnits: number;
1248
+ totalMinorUnits: number;
1249
+ };
1250
+ export type CatalogResponse = {
1251
+ currency: string;
1252
+ vatPercent: number;
1253
+ /**
1254
+ * Free, Plus and Pro
1255
+ */
1256
+ plans: Array<PlanOffer>;
1257
+ /**
1258
+ * Enterprise's lowest monthly price; every deal is priced individually
1259
+ */
1260
+ enterpriseFromMonthly: Amount;
1261
+ trial: TrialOffer;
1262
+ };
1263
+ export type PlanOffer = {
1264
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
1265
+ monthly: Amount;
1266
+ yearly: Amount;
1267
+ seats: number;
1268
+ activeListings: number;
1269
+ /**
1270
+ * A month's AI messages, shared by the whole agency
1271
+ */
1272
+ aiMessages: number;
1273
+ features: Array<'SOCIAL_POSTS' | 'AGENCY_BRANDING'>;
1274
+ };
1275
+ export type TrialOffer = {
1276
+ days: number;
1277
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
1278
+ /**
1279
+ * For the whole trial
1280
+ */
1281
+ aiMessages: number;
1282
+ };
1141
1283
  export type GroupedPermissionsResponse = {
1142
1284
  group: 'AGENCY' | 'ROLE' | 'MEMBER' | 'CONTACT' | 'BOARD' | 'DEAL';
1143
1285
  permissions: Array<PermissionResponse>;
@@ -1373,6 +1515,16 @@ export type AgentCommented = {
1373
1515
  commentSnippet?: string;
1374
1516
  kind: 'AGENT_COMMENTED';
1375
1517
  };
1518
+ export type AiMessagesRunningLow = {
1519
+ used?: number;
1520
+ allowance?: number;
1521
+ kind: 'AI_MESSAGES_RUNNING_LOW';
1522
+ };
1523
+ export type AiMessagesUsedUp = {
1524
+ allowance?: number;
1525
+ renewsAt?: Date;
1526
+ kind: 'AI_MESSAGES_USED_UP';
1527
+ };
1376
1528
  export type ChannelReauthRequired = {
1377
1529
  connectionId?: ConnectionId;
1378
1530
  channelType?: 'FACEBOOK' | 'INSTAGRAM' | 'WHATSAPP' | 'TIKTOK';
@@ -1404,6 +1556,11 @@ export type CursorPageNotificationView = {
1404
1556
  nextCursor?: string;
1405
1557
  hasNext?: boolean;
1406
1558
  };
1559
+ export type DiscountEnding = {
1560
+ subscriptionId?: SubscriptionId;
1561
+ endsAt?: Date;
1562
+ kind: 'DISCOUNT_ENDING';
1563
+ };
1407
1564
  export type ListingExpired = {
1408
1565
  contactId?: ContactId;
1409
1566
  propertyId?: PropertyId;
@@ -1449,9 +1606,9 @@ export type NotificationFeed = {
1449
1606
  export type NotificationView = {
1450
1607
  id: string;
1451
1608
  seq: number;
1452
- type: 'AGENT_COMMENTED' | 'TASK_COMMENTED' | 'MEMBER_MENTIONED' | 'EXTERNAL_LISTING_EXPIRED' | 'LISTING_EXPIRED' | 'NEW_SEEKER_RATING' | 'NEW_MESSAGE' | 'CONTACT_ASSIGNED' | 'SUBSCRIPTION_PAYMENT_FAILED' | 'SUBSCRIPTION_ENDING' | 'SUBSCRIPTION_EXPIRED' | 'SUBSCRIPTION_PAYMENT_REVERSED' | 'CHANNEL_REAUTH_REQUIRED' | 'SOCIAL_POST_FAILED' | 'SOCIAL_POST_COMMENTED';
1609
+ type: 'AGENT_COMMENTED' | 'TASK_COMMENTED' | 'MEMBER_MENTIONED' | 'EXTERNAL_LISTING_EXPIRED' | 'LISTING_EXPIRED' | 'NEW_SEEKER_RATING' | 'NEW_MESSAGE' | 'CONTACT_ASSIGNED' | 'SUBSCRIPTION_PAYMENT_FAILED' | 'SUBSCRIPTION_ENDING' | 'SUBSCRIPTION_EXPIRED' | 'SUBSCRIPTION_PAYMENT_REVERSED' | 'TRIAL_ENDING' | 'TRIAL_ENDED' | 'DISCOUNT_ENDING' | 'AI_MESSAGES_RUNNING_LOW' | 'AI_MESSAGES_USED_UP' | 'CHANNEL_REAUTH_REQUIRED' | 'SOCIAL_POST_FAILED' | 'SOCIAL_POST_COMMENTED';
1453
1610
  targetId?: string;
1454
- payload: AgentCommented | ChannelReauthRequired | ContactAssigned | ListingExpired | MemberMentioned | NewMessage | NewSeekerRating | SocialPostCommented | SocialPostFailed | SubscriptionEnding | SubscriptionExpired | SubscriptionPaymentFailed | SubscriptionPaymentReversed | TaskCommented;
1611
+ payload: AgentCommented | AiMessagesRunningLow | AiMessagesUsedUp | ChannelReauthRequired | ContactAssigned | DiscountEnding | ListingExpired | MemberMentioned | NewMessage | NewSeekerRating | SocialPostCommented | SocialPostFailed | SubscriptionEnding | SubscriptionExpired | SubscriptionPaymentFailed | SubscriptionPaymentReversed | TaskCommented | TrialEnded | TrialEnding;
1455
1612
  /**
1456
1613
  * How many times this came while unread; the payload is the latest. For SOCIAL_POST_COMMENTED: the new comments on the post since its notification was last read. Starts again at 1 once read
1457
1614
  */
@@ -1525,6 +1682,13 @@ export type TaskCommented = {
1525
1682
  export type TaskId = {
1526
1683
  value?: string;
1527
1684
  };
1685
+ export type TrialEnded = {
1686
+ kind: 'TRIAL_ENDED';
1687
+ };
1688
+ export type TrialEnding = {
1689
+ endsAt?: Date;
1690
+ kind: 'TRIAL_ENDING';
1691
+ };
1528
1692
  export type UnreadCount = {
1529
1693
  count: number;
1530
1694
  };
@@ -1619,6 +1783,14 @@ export type ListingGridResponse = {
1619
1783
  agreementExpiresAt?: Date;
1620
1784
  propertyState: 'IN_REGISTRATION' | 'UNLISTED' | 'LISTED_INTERNALLY' | 'LISTED' | 'CLOSED';
1621
1785
  listingType?: 'SALE' | 'RENT' | 'DAILY_RENT' | 'PLEDGE';
1786
+ /**
1787
+ * Whether the agency still works the listing; null for a property without one
1788
+ */
1789
+ listingState?: 'OPEN' | 'CLOSED';
1790
+ /**
1791
+ * The listing on HomeSpot's own marketplace; null for a property without one
1792
+ */
1793
+ marketplaceStatus?: 'ACTIVE' | 'PAUSED' | 'EXPIRED';
1622
1794
  price?: number;
1623
1795
  commissionType?: 'NOT_SET' | 'FIXED' | 'PERCENTAGE' | 'MONTHS_OF_RENT';
1624
1796
  commission?: number;
@@ -1637,6 +1809,10 @@ export type PagedModelListingGridResponse = {
1637
1809
  export type PlatformView = {
1638
1810
  platformId?: number;
1639
1811
  platform?: 'SS' | 'MY_HOME';
1812
+ /**
1813
+ * PENDING until the portal answers; SYNDICATED while live
1814
+ */
1815
+ status: 'PENDING' | 'SYNDICATED' | 'FAILED' | 'EXPIRED' | 'WITHDRAWING' | 'WITHDRAWN';
1640
1816
  expiresAt?: Date;
1641
1817
  tier?: 'VIP' | 'VIP_PLUS' | 'SUPER_VIP';
1642
1818
  boostExpiresAt?: Date;
@@ -1681,10 +1857,15 @@ export type InterestGridResponse = {
1681
1857
  listingType: 'SALE' | 'RENT' | 'DAILY_RENT' | 'PLEDGE';
1682
1858
  priceRange?: PriceRange;
1683
1859
  bedrooms?: RoomRange;
1860
+ bathrooms?: RoomRange;
1684
1861
  totalArea?: AreaRange;
1685
1862
  livingArea?: AreaRange;
1686
1863
  address?: AddressView;
1864
+ locationType?: 'REGION' | 'DISTRICT' | 'SUBDISTRICT' | 'STREET';
1865
+ locationId?: number;
1687
1866
  status: 'UNPUBLISHED' | 'PUBLISHED' | 'CLOSED';
1867
+ shareToken: string;
1868
+ recommendationCount: number;
1688
1869
  };
1689
1870
  export type Money = {
1690
1871
  amount?: number;
@@ -1856,6 +2037,20 @@ export type SocialCommentThreadResponse = {
1856
2037
  */
1857
2038
  answered: boolean;
1858
2039
  };
2040
+ export type ListingMatch = {
2041
+ externalPropertyId: string;
2042
+ externalListingId: string;
2043
+ listingType: 'SALE' | 'RENT' | 'DAILY_RENT' | 'PLEDGE';
2044
+ price: number;
2045
+ propertyType: 'HOUSE' | 'TOWN_HOUSE' | 'COUNTRY_HOUSE' | 'VILLA' | 'COTTAGE' | 'APARTMENT' | 'DUPLEX' | 'TRIPLEX' | 'SEMI_BASEMENT' | 'ATTIC' | 'AGRICULTURAL_LAND' | 'RESIDENTIAL_LAND' | 'HOTEL_ROOM' | 'MOTEL_ROOM' | 'CO_LIVING_SPACE' | 'OFFICE' | 'COMMERCIAL_SPACE' | 'CO_WORKING_SPACE' | 'WAREHOUSE' | 'GARAGE';
2046
+ address?: string;
2047
+ lat: number;
2048
+ lng: number;
2049
+ totalArea: number;
2050
+ bedrooms: number;
2051
+ bathrooms: number;
2052
+ featuredPhotos: Array<string>;
2053
+ };
1859
2054
  export type ContactGridResponse = {
1860
2055
  id: number;
1861
2056
  createdBy?: string;
@@ -3063,6 +3258,13 @@ export type PostWhitelabelActivateData = {
3063
3258
  query?: never;
3064
3259
  url: '/whitelabel/activate';
3065
3260
  };
3261
+ export type PostWhitelabelActivateErrors = {
3262
+ /**
3263
+ * The plan doesn't include the agency website
3264
+ */
3265
+ 402: PlanLimitResponse;
3266
+ };
3267
+ export type PostWhitelabelActivateError = PostWhitelabelActivateErrors[keyof PostWhitelabelActivateErrors];
3066
3268
  export type PostWhitelabelActivateResponses = {
3067
3269
  /**
3068
3270
  * No Content
@@ -3289,6 +3491,19 @@ export type PostSubscriptionsResumeResponses = {
3289
3491
  204: void;
3290
3492
  };
3291
3493
  export type PostSubscriptionsResumeResponse = PostSubscriptionsResumeResponses[keyof PostSubscriptionsResumeResponses];
3494
+ export type GetSubscriptionsPlanData = {
3495
+ body?: never;
3496
+ path?: never;
3497
+ query?: never;
3498
+ url: '/subscriptions/plan';
3499
+ };
3500
+ export type GetSubscriptionsPlanResponses = {
3501
+ /**
3502
+ * OK
3503
+ */
3504
+ 200: PlanResponse;
3505
+ };
3506
+ export type GetSubscriptionsPlanResponse = GetSubscriptionsPlanResponses[keyof GetSubscriptionsPlanResponses];
3292
3507
  export type PostSubscriptionsPlanData = {
3293
3508
  body: ChangePlanRequest;
3294
3509
  path?: never;
@@ -3382,8 +3597,11 @@ export type PostPublicWebhooksTelegramResponses = {
3382
3597
  /**
3383
3598
  * OK
3384
3599
  */
3385
- 200: unknown;
3600
+ 200: {
3601
+ [key: string]: unknown;
3602
+ };
3386
3603
  };
3604
+ export type PostPublicWebhooksTelegramResponse = PostPublicWebhooksTelegramResponses[keyof PostPublicWebhooksTelegramResponses];
3387
3605
  export type GetPublicWebhooksMetaWaData = {
3388
3606
  body?: never;
3389
3607
  path?: never;
@@ -3678,9 +3896,16 @@ export type PostInvitationData = {
3678
3896
  query?: never;
3679
3897
  url: '/invitation';
3680
3898
  };
3899
+ export type PostInvitationErrors = {
3900
+ /**
3901
+ * The plan's seats are taken
3902
+ */
3903
+ 402: PlanLimitResponse;
3904
+ };
3905
+ export type PostInvitationError = PostInvitationErrors[keyof PostInvitationErrors];
3681
3906
  export type PostInvitationResponses = {
3682
3907
  /**
3683
- * OK
3908
+ * Invitations sent
3684
3909
  */
3685
3910
  200: unknown;
3686
3911
  };
@@ -3827,6 +4052,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsData = {
3827
4052
  query?: never;
3828
4053
  url: '/contacts/{contactId}/properties/{propertyId}/listings';
3829
4054
  };
4055
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsErrors = {
4056
+ /**
4057
+ * The plan's active listings are used up
4058
+ */
4059
+ 402: PlanLimitResponse;
4060
+ };
4061
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsError = PostContactsByContactIdPropertiesByPropertyIdListingsErrors[keyof PostContactsByContactIdPropertiesByPropertyIdListingsErrors];
3830
4062
  export type PostContactsByContactIdPropertiesByPropertyIdListingsResponses = {
3831
4063
  /**
3832
4064
  * Created
@@ -3844,6 +4076,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSoci
3844
4076
  query?: never;
3845
4077
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/social-posts';
3846
4078
  };
4079
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsErrors = {
4080
+ /**
4081
+ * The plan doesn't include Facebook and Instagram posts
4082
+ */
4083
+ 402: PlanLimitResponse;
4084
+ };
4085
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsError = PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsErrors[keyof PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsErrors];
3847
4086
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsResponses = {
3848
4087
  /**
3849
4088
  * Accepted
@@ -3862,6 +4101,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSoci
3862
4101
  query?: never;
3863
4102
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/social-posts/{postId}/retry';
3864
4103
  };
4104
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsByPostIdRetryErrors = {
4105
+ /**
4106
+ * The plan doesn't include Facebook and Instagram posts
4107
+ */
4108
+ 402: PlanLimitResponse;
4109
+ };
4110
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsByPostIdRetryError = PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsByPostIdRetryErrors[keyof PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsByPostIdRetryErrors];
3865
4111
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsByPostIdRetryResponses = {
3866
4112
  /**
3867
4113
  * Accepted
@@ -3915,6 +4161,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResu
3915
4161
  query?: never;
3916
4162
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/resume';
3917
4163
  };
4164
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResumeErrors = {
4165
+ /**
4166
+ * The plan's active listings are used up
4167
+ */
4168
+ 402: PlanLimitResponse;
4169
+ };
4170
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResumeError = PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResumeErrors[keyof PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResumeErrors];
3918
4171
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResumeResponses = {
3919
4172
  /**
3920
4173
  * No Content
@@ -3932,6 +4185,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReop
3932
4185
  query?: never;
3933
4186
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/reopen';
3934
4187
  };
4188
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReopenErrors = {
4189
+ /**
4190
+ * The plan's active listings are used up
4191
+ */
4192
+ 402: PlanLimitResponse;
4193
+ };
4194
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReopenError = PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReopenErrors[keyof PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReopenErrors];
3935
4195
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReopenResponses = {
3936
4196
  /**
3937
4197
  * No Content
@@ -3949,6 +4209,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRene
3949
4209
  query?: never;
3950
4210
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/renew';
3951
4211
  };
4212
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRenewErrors = {
4213
+ /**
4214
+ * The plan's active listings are used up
4215
+ */
4216
+ 402: PlanLimitResponse;
4217
+ };
4218
+ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRenewError = PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRenewErrors[keyof PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRenewErrors];
3952
4219
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRenewResponses = {
3953
4220
  /**
3954
4221
  * No Content
@@ -4055,6 +4322,24 @@ export type PostContactsByContactIdInterestsResponses = {
4055
4322
  201: InterestId;
4056
4323
  };
4057
4324
  export type PostContactsByContactIdInterestsResponse = PostContactsByContactIdInterestsResponses[keyof PostContactsByContactIdInterestsResponses];
4325
+ export type PostContactsByContactIdInterestsByInterestIdItemsFillData = {
4326
+ body?: never;
4327
+ path: {
4328
+ contactId: number;
4329
+ interestId: number;
4330
+ };
4331
+ query?: {
4332
+ limit?: number;
4333
+ };
4334
+ url: '/contacts/{contactId}/interests/{interestId}/items/fill';
4335
+ };
4336
+ export type PostContactsByContactIdInterestsByInterestIdItemsFillResponses = {
4337
+ /**
4338
+ * OK
4339
+ */
4340
+ 200: Array<string>;
4341
+ };
4342
+ export type PostContactsByContactIdInterestsByInterestIdItemsFillResponse = PostContactsByContactIdInterestsByInterestIdItemsFillResponses[keyof PostContactsByContactIdInterestsByInterestIdItemsFillResponses];
4058
4343
  export type DeleteContactsByContactIdCommentsData = {
4059
4344
  body?: never;
4060
4345
  path: {
@@ -4270,19 +4555,19 @@ export type PostBoardByBoardIdStageByStageIdTemplateResponses = {
4270
4555
  201: IdResponseUuid;
4271
4556
  };
4272
4557
  export type PostBoardByBoardIdStageByStageIdTemplateResponse = PostBoardByBoardIdStageByStageIdTemplateResponses[keyof PostBoardByBoardIdStageByStageIdTemplateResponses];
4273
- export type PostApiAdminSubscriptionsProvisionData = {
4274
- body: ProvisionAgencyRequest;
4558
+ export type PostApiAdminSubscriptionsCheckoutData = {
4559
+ body: AdminCheckoutRequest;
4275
4560
  path?: never;
4276
4561
  query?: never;
4277
- url: '/api/admin/subscriptions/provision';
4562
+ url: '/api/admin/subscriptions/checkout';
4278
4563
  };
4279
- export type PostApiAdminSubscriptionsProvisionResponses = {
4564
+ export type PostApiAdminSubscriptionsCheckoutResponses = {
4280
4565
  /**
4281
4566
  * Created
4282
4567
  */
4283
- 201: AdminProvisionResponse;
4568
+ 201: AdminCheckoutResponse;
4284
4569
  };
4285
- export type PostApiAdminSubscriptionsProvisionResponse = PostApiAdminSubscriptionsProvisionResponses[keyof PostApiAdminSubscriptionsProvisionResponses];
4570
+ export type PostApiAdminSubscriptionsCheckoutResponse = PostApiAdminSubscriptionsCheckoutResponses[keyof PostApiAdminSubscriptionsCheckoutResponses];
4286
4571
  export type PatchTaskByTaskIdPositionData = {
4287
4572
  body: PositionTaskRequest;
4288
4573
  path: {
@@ -4532,6 +4817,19 @@ export type GetPublicRecomendationsByTokenDecisionsResponses = {
4532
4817
  200: Array<RecommendationDecisionResponse>;
4533
4818
  };
4534
4819
  export type GetPublicRecomendationsByTokenDecisionsResponse = GetPublicRecomendationsByTokenDecisionsResponses[keyof GetPublicRecomendationsByTokenDecisionsResponses];
4820
+ export type GetPublicPlansData = {
4821
+ body?: never;
4822
+ path?: never;
4823
+ query?: never;
4824
+ url: '/public/plans';
4825
+ };
4826
+ export type GetPublicPlansResponses = {
4827
+ /**
4828
+ * OK
4829
+ */
4830
+ 200: CatalogResponse;
4831
+ };
4832
+ export type GetPublicPlansResponse = GetPublicPlansResponses[keyof GetPublicPlansResponses];
4535
4833
  export type GetPublicPermissionsData = {
4536
4834
  body?: never;
4537
4835
  path?: never;
@@ -4956,21 +5254,6 @@ export type GetListingResponses = {
4956
5254
  200: PagedModelListingGridResponse;
4957
5255
  };
4958
5256
  export type GetListingResponse = GetListingResponses[keyof GetListingResponses];
4959
- export type GetListingByPropertyIdData = {
4960
- body?: never;
4961
- path: {
4962
- propertyId: number;
4963
- };
4964
- query?: never;
4965
- url: '/listing/{propertyId}';
4966
- };
4967
- export type GetListingByPropertyIdResponses = {
4968
- /**
4969
- * OK
4970
- */
4971
- 200: ListingGridResponse;
4972
- };
4973
- export type GetListingByPropertyIdResponse = GetListingByPropertyIdResponses[keyof GetListingByPropertyIdResponses];
4974
5257
  export type GetListingGroupsData = {
4975
5258
  body?: never;
4976
5259
  path?: never;
@@ -5257,6 +5540,24 @@ export type GetContactsByContactIdInterestsByInterestIdRecommendationsDecisionsR
5257
5540
  200: Array<RecommendationDecisionResponse>;
5258
5541
  };
5259
5542
  export type GetContactsByContactIdInterestsByInterestIdRecommendationsDecisionsResponse = GetContactsByContactIdInterestsByInterestIdRecommendationsDecisionsResponses[keyof GetContactsByContactIdInterestsByInterestIdRecommendationsDecisionsResponses];
5543
+ export type GetContactsByContactIdInterestsByInterestIdMatchesData = {
5544
+ body?: never;
5545
+ path: {
5546
+ contactId: number;
5547
+ interestId: number;
5548
+ };
5549
+ query?: {
5550
+ limit?: number;
5551
+ };
5552
+ url: '/contacts/{contactId}/interests/{interestId}/matches';
5553
+ };
5554
+ export type GetContactsByContactIdInterestsByInterestIdMatchesResponses = {
5555
+ /**
5556
+ * OK
5557
+ */
5558
+ 200: Array<ListingMatch>;
5559
+ };
5560
+ export type GetContactsByContactIdInterestsByInterestIdMatchesResponse = GetContactsByContactIdInterestsByInterestIdMatchesResponses[keyof GetContactsByContactIdInterestsByInterestIdMatchesResponses];
5260
5561
  export type DeleteContactByContactIdData = {
5261
5562
  body?: never;
5262
5563
  path: {