@homespot-sdk/core 0.0.361 → 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 = {
@@ -496,6 +521,10 @@ export type SocialCommentAuthor = {
496
521
  };
497
522
  export type SocialCommentResponse = {
498
523
  commentId: string;
524
+ /**
525
+ * The comment it is shown under: the thread's first comment, or on Facebook's third level the second-level reply it sits under — Facebook goes no deeper, and Instagram shows one level of replies. Null on a thread's first comment
526
+ */
527
+ parentCommentId?: string;
499
528
  /**
500
529
  * Who wrote it, as far as Facebook / Instagram say; null on the agency's own comments, and when Meta does not say
501
530
  */
@@ -601,35 +630,32 @@ export type AddTodoTemplateRequest = {
601
630
  */
602
631
  applyToTasksInStage: boolean;
603
632
  };
604
- export type ProvisionAgencyRequest = {
605
- /**
606
- * The customer's existing user account id
607
- */
608
- ownerUserId: string;
609
- name: string;
610
- email: string;
611
- phone: string;
612
- subdomain: string;
613
- address: SubscriptionAddressRequest;
614
- plan: 'STARTER' | 'PRO' | 'ENTERPRISE';
633
+ export type AdminCheckoutRequest = {
634
+ agencyId: string;
635
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
615
636
  billingCycle: 'MONTHLY' | 'ANNUAL';
616
637
  /**
617
- * Exact per-cycle charge in minor units (tetri)
638
+ * Exact per-cycle net price in minor units (tetri), VAT excluded
618
639
  */
619
640
  priceMinorUnits: number;
620
641
  seats: number;
642
+ activeListings: number;
621
643
  /**
622
- * Contacts the agency may create per calendar month
644
+ * AI messages the agency shares each month; 0 means no AI
623
645
  */
624
- monthlyContactLimit: number;
646
+ aiMessages: number;
647
+ features: Array<'SOCIAL_POSTS' | 'AGENCY_BRANDING'>;
625
648
  /**
626
649
  * Free-trial days; 0 charges immediately
627
650
  */
628
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;
629
656
  };
630
- export type AdminProvisionResponse = {
657
+ export type AdminCheckoutResponse = {
631
658
  checkoutUrl?: string;
632
- agencyId?: string;
633
659
  subscriptionId?: string;
634
660
  };
635
661
  export type PositionTaskRequest = {
@@ -658,6 +684,10 @@ export type OrganizationSummaryViewResponse = {
658
684
  status: 'NEW' | 'ACTIVE' | 'PAYMENT_FAILED' | 'INACTIVE' | 'SUSPENDED';
659
685
  phone: string;
660
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;
661
691
  };
662
692
  export type UserContextViewResponse = {
663
693
  user: UserSummaryViewResponse;
@@ -909,15 +939,32 @@ export type StageCardsResponse = {
909
939
  };
910
940
  export type SubscriptionResponse = {
911
941
  subscriptionId: string;
912
- plan: 'STARTER' | 'PRO' | 'ENTERPRISE';
942
+ plan: 'FREE' | 'PLUS' | 'PRO' | 'ENTERPRISE';
913
943
  billingCycle: 'MONTHLY' | 'ANNUAL';
914
944
  /**
915
- * Per-cycle price in minor units (tetri)
945
+ * Per-cycle charge in minor units (tetri), VAT included
916
946
  */
917
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;
918
960
  currency: string;
919
961
  seats: number;
920
- 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'>;
921
968
  trialDays: number;
922
969
  status: 'PENDING' | 'TRIALING' | 'ACTIVE' | 'PAST_DUE' | 'CANCELLED' | 'EXPIRED' | 'SUPERSEDED';
923
970
  /**
@@ -939,6 +986,48 @@ export type SubscriptionResponse = {
939
986
  * When the most recently issued checkout link stops being payable
940
987
  */
941
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;
942
1031
  };
943
1032
  export type PaymentResponse = {
944
1033
  id: string;
@@ -954,7 +1043,22 @@ export type PaymentResponse = {
954
1043
  * What the platform did with it
955
1044
  */
956
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
+ */
957
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;
958
1062
  currency?: string;
959
1063
  responseCode?: string;
960
1064
  responseDescription?: string;
@@ -1086,6 +1190,10 @@ export type InterestResponse = {
1086
1190
  criteria: Criteria;
1087
1191
  recommendationStats: RecommendationStats;
1088
1192
  boundedBox?: BoundingBox;
1193
+ /**
1194
+ * Whether client pages show the agency's own logo; HomeSpot's when false
1195
+ */
1196
+ agencyBranding: boolean;
1089
1197
  recommendations: PagedModelRecommendationsCardView;
1090
1198
  };
1091
1199
  export type PagedModelRecommendationsCardView = {
@@ -1134,6 +1242,44 @@ export type RecommendationDecisionResponse = {
1134
1242
  externalListingId: string;
1135
1243
  decision: 'MAYBE' | 'DISLIKE' | 'LIKE';
1136
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
+ };
1137
1283
  export type GroupedPermissionsResponse = {
1138
1284
  group: 'AGENCY' | 'ROLE' | 'MEMBER' | 'CONTACT' | 'BOARD' | 'DEAL';
1139
1285
  permissions: Array<PermissionResponse>;
@@ -1369,6 +1515,16 @@ export type AgentCommented = {
1369
1515
  commentSnippet?: string;
1370
1516
  kind: 'AGENT_COMMENTED';
1371
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
+ };
1372
1528
  export type ChannelReauthRequired = {
1373
1529
  connectionId?: ConnectionId;
1374
1530
  channelType?: 'FACEBOOK' | 'INSTAGRAM' | 'WHATSAPP' | 'TIKTOK';
@@ -1400,6 +1556,11 @@ export type CursorPageNotificationView = {
1400
1556
  nextCursor?: string;
1401
1557
  hasNext?: boolean;
1402
1558
  };
1559
+ export type DiscountEnding = {
1560
+ subscriptionId?: SubscriptionId;
1561
+ endsAt?: Date;
1562
+ kind: 'DISCOUNT_ENDING';
1563
+ };
1403
1564
  export type ListingExpired = {
1404
1565
  contactId?: ContactId;
1405
1566
  propertyId?: PropertyId;
@@ -1445,9 +1606,9 @@ export type NotificationFeed = {
1445
1606
  export type NotificationView = {
1446
1607
  id: string;
1447
1608
  seq: number;
1448
- 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';
1449
1610
  targetId?: string;
1450
- 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;
1451
1612
  /**
1452
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
1453
1614
  */
@@ -1521,6 +1682,13 @@ export type TaskCommented = {
1521
1682
  export type TaskId = {
1522
1683
  value?: string;
1523
1684
  };
1685
+ export type TrialEnded = {
1686
+ kind: 'TRIAL_ENDED';
1687
+ };
1688
+ export type TrialEnding = {
1689
+ endsAt?: Date;
1690
+ kind: 'TRIAL_ENDING';
1691
+ };
1524
1692
  export type UnreadCount = {
1525
1693
  count: number;
1526
1694
  };
@@ -1615,6 +1783,14 @@ export type ListingGridResponse = {
1615
1783
  agreementExpiresAt?: Date;
1616
1784
  propertyState: 'IN_REGISTRATION' | 'UNLISTED' | 'LISTED_INTERNALLY' | 'LISTED' | 'CLOSED';
1617
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';
1618
1794
  price?: number;
1619
1795
  commissionType?: 'NOT_SET' | 'FIXED' | 'PERCENTAGE' | 'MONTHS_OF_RENT';
1620
1796
  commission?: number;
@@ -1633,6 +1809,10 @@ export type PagedModelListingGridResponse = {
1633
1809
  export type PlatformView = {
1634
1810
  platformId?: number;
1635
1811
  platform?: 'SS' | 'MY_HOME';
1812
+ /**
1813
+ * PENDING until the portal answers; SYNDICATED while live
1814
+ */
1815
+ status: 'PENDING' | 'SYNDICATED' | 'FAILED' | 'EXPIRED' | 'WITHDRAWING' | 'WITHDRAWN';
1636
1816
  expiresAt?: Date;
1637
1817
  tier?: 'VIP' | 'VIP_PLUS' | 'SUPER_VIP';
1638
1818
  boostExpiresAt?: Date;
@@ -1677,10 +1857,15 @@ export type InterestGridResponse = {
1677
1857
  listingType: 'SALE' | 'RENT' | 'DAILY_RENT' | 'PLEDGE';
1678
1858
  priceRange?: PriceRange;
1679
1859
  bedrooms?: RoomRange;
1860
+ bathrooms?: RoomRange;
1680
1861
  totalArea?: AreaRange;
1681
1862
  livingArea?: AreaRange;
1682
1863
  address?: AddressView;
1864
+ locationType?: 'REGION' | 'DISTRICT' | 'SUBDISTRICT' | 'STREET';
1865
+ locationId?: number;
1683
1866
  status: 'UNPUBLISHED' | 'PUBLISHED' | 'CLOSED';
1867
+ shareToken: string;
1868
+ recommendationCount: number;
1684
1869
  };
1685
1870
  export type Money = {
1686
1871
  amount?: number;
@@ -1844,7 +2029,7 @@ export type SocialCommentThreadResponse = {
1844
2029
  */
1845
2030
  comment: SocialCommentResponse;
1846
2031
  /**
1847
- * Oldest first, one level deep as Facebook and Instagram show it: a reply to a reply is listed here too
2032
+ * All of the thread's replies, oldest first; each one's parentCommentId says which comment it is shown under (Facebook shows two levels of replies, Instagram one)
1848
2033
  */
1849
2034
  replies: Array<SocialCommentResponse>;
1850
2035
  /**
@@ -1852,6 +2037,20 @@ export type SocialCommentThreadResponse = {
1852
2037
  */
1853
2038
  answered: boolean;
1854
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
+ };
1855
2054
  export type ContactGridResponse = {
1856
2055
  id: number;
1857
2056
  createdBy?: string;
@@ -3059,6 +3258,13 @@ export type PostWhitelabelActivateData = {
3059
3258
  query?: never;
3060
3259
  url: '/whitelabel/activate';
3061
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];
3062
3268
  export type PostWhitelabelActivateResponses = {
3063
3269
  /**
3064
3270
  * No Content
@@ -3285,6 +3491,19 @@ export type PostSubscriptionsResumeResponses = {
3285
3491
  204: void;
3286
3492
  };
3287
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];
3288
3507
  export type PostSubscriptionsPlanData = {
3289
3508
  body: ChangePlanRequest;
3290
3509
  path?: never;
@@ -3378,8 +3597,11 @@ export type PostPublicWebhooksTelegramResponses = {
3378
3597
  /**
3379
3598
  * OK
3380
3599
  */
3381
- 200: unknown;
3600
+ 200: {
3601
+ [key: string]: unknown;
3602
+ };
3382
3603
  };
3604
+ export type PostPublicWebhooksTelegramResponse = PostPublicWebhooksTelegramResponses[keyof PostPublicWebhooksTelegramResponses];
3383
3605
  export type GetPublicWebhooksMetaWaData = {
3384
3606
  body?: never;
3385
3607
  path?: never;
@@ -3674,9 +3896,16 @@ export type PostInvitationData = {
3674
3896
  query?: never;
3675
3897
  url: '/invitation';
3676
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];
3677
3906
  export type PostInvitationResponses = {
3678
3907
  /**
3679
- * OK
3908
+ * Invitations sent
3680
3909
  */
3681
3910
  200: unknown;
3682
3911
  };
@@ -3823,6 +4052,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsData = {
3823
4052
  query?: never;
3824
4053
  url: '/contacts/{contactId}/properties/{propertyId}/listings';
3825
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];
3826
4062
  export type PostContactsByContactIdPropertiesByPropertyIdListingsResponses = {
3827
4063
  /**
3828
4064
  * Created
@@ -3840,6 +4076,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSoci
3840
4076
  query?: never;
3841
4077
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/social-posts';
3842
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];
3843
4086
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsResponses = {
3844
4087
  /**
3845
4088
  * Accepted
@@ -3858,6 +4101,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSoci
3858
4101
  query?: never;
3859
4102
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/social-posts/{postId}/retry';
3860
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];
3861
4111
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdSocialPostsByPostIdRetryResponses = {
3862
4112
  /**
3863
4113
  * Accepted
@@ -3911,6 +4161,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResu
3911
4161
  query?: never;
3912
4162
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/resume';
3913
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];
3914
4171
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdResumeResponses = {
3915
4172
  /**
3916
4173
  * No Content
@@ -3928,6 +4185,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReop
3928
4185
  query?: never;
3929
4186
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/reopen';
3930
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];
3931
4195
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdReopenResponses = {
3932
4196
  /**
3933
4197
  * No Content
@@ -3945,6 +4209,13 @@ export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRene
3945
4209
  query?: never;
3946
4210
  url: '/contacts/{contactId}/properties/{propertyId}/listings/{listingId}/renew';
3947
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];
3948
4219
  export type PostContactsByContactIdPropertiesByPropertyIdListingsByListingIdRenewResponses = {
3949
4220
  /**
3950
4221
  * No Content
@@ -4051,6 +4322,24 @@ export type PostContactsByContactIdInterestsResponses = {
4051
4322
  201: InterestId;
4052
4323
  };
4053
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];
4054
4343
  export type DeleteContactsByContactIdCommentsData = {
4055
4344
  body?: never;
4056
4345
  path: {
@@ -4266,19 +4555,19 @@ export type PostBoardByBoardIdStageByStageIdTemplateResponses = {
4266
4555
  201: IdResponseUuid;
4267
4556
  };
4268
4557
  export type PostBoardByBoardIdStageByStageIdTemplateResponse = PostBoardByBoardIdStageByStageIdTemplateResponses[keyof PostBoardByBoardIdStageByStageIdTemplateResponses];
4269
- export type PostApiAdminSubscriptionsProvisionData = {
4270
- body: ProvisionAgencyRequest;
4558
+ export type PostApiAdminSubscriptionsCheckoutData = {
4559
+ body: AdminCheckoutRequest;
4271
4560
  path?: never;
4272
4561
  query?: never;
4273
- url: '/api/admin/subscriptions/provision';
4562
+ url: '/api/admin/subscriptions/checkout';
4274
4563
  };
4275
- export type PostApiAdminSubscriptionsProvisionResponses = {
4564
+ export type PostApiAdminSubscriptionsCheckoutResponses = {
4276
4565
  /**
4277
4566
  * Created
4278
4567
  */
4279
- 201: AdminProvisionResponse;
4568
+ 201: AdminCheckoutResponse;
4280
4569
  };
4281
- export type PostApiAdminSubscriptionsProvisionResponse = PostApiAdminSubscriptionsProvisionResponses[keyof PostApiAdminSubscriptionsProvisionResponses];
4570
+ export type PostApiAdminSubscriptionsCheckoutResponse = PostApiAdminSubscriptionsCheckoutResponses[keyof PostApiAdminSubscriptionsCheckoutResponses];
4282
4571
  export type PatchTaskByTaskIdPositionData = {
4283
4572
  body: PositionTaskRequest;
4284
4573
  path: {
@@ -4528,6 +4817,19 @@ export type GetPublicRecomendationsByTokenDecisionsResponses = {
4528
4817
  200: Array<RecommendationDecisionResponse>;
4529
4818
  };
4530
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];
4531
4833
  export type GetPublicPermissionsData = {
4532
4834
  body?: never;
4533
4835
  path?: never;
@@ -4952,21 +5254,6 @@ export type GetListingResponses = {
4952
5254
  200: PagedModelListingGridResponse;
4953
5255
  };
4954
5256
  export type GetListingResponse = GetListingResponses[keyof GetListingResponses];
4955
- export type GetListingByPropertyIdData = {
4956
- body?: never;
4957
- path: {
4958
- propertyId: number;
4959
- };
4960
- query?: never;
4961
- url: '/listing/{propertyId}';
4962
- };
4963
- export type GetListingByPropertyIdResponses = {
4964
- /**
4965
- * OK
4966
- */
4967
- 200: ListingGridResponse;
4968
- };
4969
- export type GetListingByPropertyIdResponse = GetListingByPropertyIdResponses[keyof GetListingByPropertyIdResponses];
4970
5257
  export type GetListingGroupsData = {
4971
5258
  body?: never;
4972
5259
  path?: never;
@@ -5253,6 +5540,24 @@ export type GetContactsByContactIdInterestsByInterestIdRecommendationsDecisionsR
5253
5540
  200: Array<RecommendationDecisionResponse>;
5254
5541
  };
5255
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];
5256
5561
  export type DeleteContactByContactIdData = {
5257
5562
  body?: never;
5258
5563
  path: {