@growsober/types 1.0.14 → 1.0.16

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.
@@ -243,6 +243,40 @@ export interface paths {
243
243
  patch?: never;
244
244
  trace?: never;
245
245
  };
246
+ "/users/me/phone/send-otp": {
247
+ parameters: {
248
+ query?: never;
249
+ header?: never;
250
+ path?: never;
251
+ cookie?: never;
252
+ };
253
+ get?: never;
254
+ put?: never;
255
+ /** Send OTP to verify phone number for current user */
256
+ post: operations["UsersController_sendPhoneOtp"];
257
+ delete?: never;
258
+ options?: never;
259
+ head?: never;
260
+ patch?: never;
261
+ trace?: never;
262
+ };
263
+ "/users/me/phone/verify-otp": {
264
+ parameters: {
265
+ query?: never;
266
+ header?: never;
267
+ path?: never;
268
+ cookie?: never;
269
+ };
270
+ get?: never;
271
+ put?: never;
272
+ /** Verify OTP and update phone number for current user */
273
+ post: operations["UsersController_verifyPhoneOtp"];
274
+ delete?: never;
275
+ options?: never;
276
+ head?: never;
277
+ patch?: never;
278
+ trace?: never;
279
+ };
246
280
  "/users/{id}/public": {
247
281
  parameters: {
248
282
  query?: never;
@@ -501,176 +535,6 @@ export interface paths {
501
535
  patch?: never;
502
536
  trace?: never;
503
537
  };
504
- "/businesses": {
505
- parameters: {
506
- query?: never;
507
- header?: never;
508
- path?: never;
509
- cookie?: never;
510
- };
511
- /** Get all business partners with pagination and filters */
512
- get: operations["BusinessesController_findAll"];
513
- put?: never;
514
- post?: never;
515
- delete?: never;
516
- options?: never;
517
- head?: never;
518
- patch?: never;
519
- trace?: never;
520
- };
521
- "/businesses/featured": {
522
- parameters: {
523
- query?: never;
524
- header?: never;
525
- path?: never;
526
- cookie?: never;
527
- };
528
- /** Get featured business partners */
529
- get: operations["BusinessesController_getFeatured"];
530
- put?: never;
531
- post?: never;
532
- delete?: never;
533
- options?: never;
534
- head?: never;
535
- patch?: never;
536
- trace?: never;
537
- };
538
- "/businesses/nearby": {
539
- parameters: {
540
- query?: never;
541
- header?: never;
542
- path?: never;
543
- cookie?: never;
544
- };
545
- /** Get businesses near a location */
546
- get: operations["BusinessesController_getNearby"];
547
- put?: never;
548
- post?: never;
549
- delete?: never;
550
- options?: never;
551
- head?: never;
552
- patch?: never;
553
- trace?: never;
554
- };
555
- "/businesses/{idOrSlug}": {
556
- parameters: {
557
- query?: never;
558
- header?: never;
559
- path?: never;
560
- cookie?: never;
561
- };
562
- /** Get business details by ID or slug */
563
- get: operations["BusinessesController_findByIdOrSlug"];
564
- put?: never;
565
- post?: never;
566
- delete?: never;
567
- options?: never;
568
- head?: never;
569
- patch?: never;
570
- trace?: never;
571
- };
572
- "/businesses/{idOrSlug}/offers": {
573
- parameters: {
574
- query?: never;
575
- header?: never;
576
- path?: never;
577
- cookie?: never;
578
- };
579
- /** Get offers for a specific business */
580
- get: operations["BusinessesController_getBusinessOffers"];
581
- put?: never;
582
- post?: never;
583
- delete?: never;
584
- options?: never;
585
- head?: never;
586
- patch?: never;
587
- trace?: never;
588
- };
589
- "/businesses/{idOrSlug}/events": {
590
- parameters: {
591
- query?: never;
592
- header?: never;
593
- path?: never;
594
- cookie?: never;
595
- };
596
- /** Get upcoming events at a specific business/venue */
597
- get: operations["BusinessesController_getBusinessEvents"];
598
- put?: never;
599
- post?: never;
600
- delete?: never;
601
- options?: never;
602
- head?: never;
603
- patch?: never;
604
- trace?: never;
605
- };
606
- "/offers": {
607
- parameters: {
608
- query?: never;
609
- header?: never;
610
- path?: never;
611
- cookie?: never;
612
- };
613
- /** Get all active offers */
614
- get: operations["OffersController_findAll"];
615
- put?: never;
616
- post?: never;
617
- delete?: never;
618
- options?: never;
619
- head?: never;
620
- patch?: never;
621
- trace?: never;
622
- };
623
- "/offers/{id}": {
624
- parameters: {
625
- query?: never;
626
- header?: never;
627
- path?: never;
628
- cookie?: never;
629
- };
630
- /** Get offer details by ID */
631
- get: operations["OffersController_findById"];
632
- put?: never;
633
- post?: never;
634
- delete?: never;
635
- options?: never;
636
- head?: never;
637
- patch?: never;
638
- trace?: never;
639
- };
640
- "/offers/{id}/redeem": {
641
- parameters: {
642
- query?: never;
643
- header?: never;
644
- path?: never;
645
- cookie?: never;
646
- };
647
- get?: never;
648
- put?: never;
649
- /** Redeem an offer */
650
- post: operations["OffersController_redeemOffer"];
651
- delete?: never;
652
- options?: never;
653
- head?: never;
654
- patch?: never;
655
- trace?: never;
656
- };
657
- "/offers/{id}/can-redeem": {
658
- parameters: {
659
- query?: never;
660
- header?: never;
661
- path?: never;
662
- cookie?: never;
663
- };
664
- /** Check if current user can redeem an offer */
665
- get: operations["OffersController_checkCanRedeem"];
666
- put?: never;
667
- post?: never;
668
- delete?: never;
669
- options?: never;
670
- head?: never;
671
- patch?: never;
672
- trace?: never;
673
- };
674
538
  "/subscriptions/plans": {
675
539
  parameters: {
676
540
  query?: never;
@@ -1283,14 +1147,14 @@ export interface paths {
1283
1147
  patch?: never;
1284
1148
  trace?: never;
1285
1149
  };
1286
- "/api/v1/rewards/business/{businessId}": {
1150
+ "/api/v1/rewards/venue/{venueId}": {
1287
1151
  parameters: {
1288
1152
  query?: never;
1289
1153
  header?: never;
1290
1154
  path?: never;
1291
1155
  cookie?: never;
1292
1156
  };
1293
- get: operations["PartnerRewardsController_getRewardsForBusiness"];
1157
+ get: operations["PartnerRewardsController_getRewardsForVenue"];
1294
1158
  put?: never;
1295
1159
  post?: never;
1296
1160
  delete?: never;
@@ -1363,23 +1227,23 @@ export interface paths {
1363
1227
  patch?: never;
1364
1228
  trace?: never;
1365
1229
  };
1366
- "/api/v1/businesses/{businessId}/rewards": {
1230
+ "/api/v1/venues/{venueId}/partner-rewards": {
1367
1231
  parameters: {
1368
1232
  query?: never;
1369
1233
  header?: never;
1370
1234
  path?: never;
1371
1235
  cookie?: never;
1372
1236
  };
1373
- get: operations["BusinessRewardsController_getBusinessRewards"];
1237
+ get: operations["PartnerVenueRewardsController_getVenueRewards"];
1374
1238
  put?: never;
1375
- post: operations["BusinessRewardsController_createReward"];
1239
+ post: operations["PartnerVenueRewardsController_createReward"];
1376
1240
  delete?: never;
1377
1241
  options?: never;
1378
1242
  head?: never;
1379
1243
  patch?: never;
1380
1244
  trace?: never;
1381
1245
  };
1382
- "/api/v1/businesses/{businessId}/rewards/{rewardId}": {
1246
+ "/api/v1/venues/{venueId}/partner-rewards/{rewardId}": {
1383
1247
  parameters: {
1384
1248
  query?: never;
1385
1249
  header?: never;
@@ -1392,7 +1256,7 @@ export interface paths {
1392
1256
  delete?: never;
1393
1257
  options?: never;
1394
1258
  head?: never;
1395
- patch: operations["BusinessRewardsController_updateReward"];
1259
+ patch: operations["PartnerVenueRewardsController_updateReward"];
1396
1260
  trace?: never;
1397
1261
  };
1398
1262
  "/rewards/available": {
@@ -1639,6 +1503,74 @@ export interface paths {
1639
1503
  patch: operations["CreatorRewardsController_updateReward"];
1640
1504
  trace?: never;
1641
1505
  };
1506
+ "/offers": {
1507
+ parameters: {
1508
+ query?: never;
1509
+ header?: never;
1510
+ path?: never;
1511
+ cookie?: never;
1512
+ };
1513
+ /** Get all active offers */
1514
+ get: operations["OffersController_findAll"];
1515
+ put?: never;
1516
+ post?: never;
1517
+ delete?: never;
1518
+ options?: never;
1519
+ head?: never;
1520
+ patch?: never;
1521
+ trace?: never;
1522
+ };
1523
+ "/offers/{id}": {
1524
+ parameters: {
1525
+ query?: never;
1526
+ header?: never;
1527
+ path?: never;
1528
+ cookie?: never;
1529
+ };
1530
+ /** Get offer details by ID */
1531
+ get: operations["OffersController_findById"];
1532
+ put?: never;
1533
+ post?: never;
1534
+ delete?: never;
1535
+ options?: never;
1536
+ head?: never;
1537
+ patch?: never;
1538
+ trace?: never;
1539
+ };
1540
+ "/offers/{id}/redeem": {
1541
+ parameters: {
1542
+ query?: never;
1543
+ header?: never;
1544
+ path?: never;
1545
+ cookie?: never;
1546
+ };
1547
+ get?: never;
1548
+ put?: never;
1549
+ /** Redeem an offer */
1550
+ post: operations["OffersController_redeemOffer"];
1551
+ delete?: never;
1552
+ options?: never;
1553
+ head?: never;
1554
+ patch?: never;
1555
+ trace?: never;
1556
+ };
1557
+ "/offers/{id}/can-redeem": {
1558
+ parameters: {
1559
+ query?: never;
1560
+ header?: never;
1561
+ path?: never;
1562
+ cookie?: never;
1563
+ };
1564
+ /** Check if current user can redeem an offer */
1565
+ get: operations["OffersController_checkCanRedeem"];
1566
+ put?: never;
1567
+ post?: never;
1568
+ delete?: never;
1569
+ options?: never;
1570
+ head?: never;
1571
+ patch?: never;
1572
+ trace?: never;
1573
+ };
1642
1574
  "/hubs": {
1643
1575
  parameters: {
1644
1576
  query?: never;
@@ -2170,8 +2102,7 @@ export interface paths {
2170
2102
  path?: never;
2171
2103
  cookie?: never;
2172
2104
  };
2173
- /** Get venue details by ID */
2174
- get: operations["VenuesController_findById"];
2105
+ get?: never;
2175
2106
  /** Update a venue */
2176
2107
  put: operations["VenuesController_update"];
2177
2108
  post?: never;
@@ -2216,25 +2147,42 @@ export interface paths {
2216
2147
  patch?: never;
2217
2148
  trace?: never;
2218
2149
  };
2219
- "/venues/{id}/owners": {
2150
+ "/venues/{idOrSlug}": {
2220
2151
  parameters: {
2221
2152
  query?: never;
2222
2153
  header?: never;
2223
2154
  path?: never;
2224
2155
  cookie?: never;
2225
2156
  };
2226
- /** Get venue owners */
2227
- get: operations["VenuesController_getOwners"];
2157
+ /** Get venue details by ID or slug */
2158
+ get: operations["VenuesController_findByIdOrSlug"];
2228
2159
  put?: never;
2229
- /** Add a venue owner */
2230
- post: operations["VenuesController_addOwner"];
2160
+ post?: never;
2231
2161
  delete?: never;
2232
2162
  options?: never;
2233
2163
  head?: never;
2234
2164
  patch?: never;
2235
2165
  trace?: never;
2236
2166
  };
2237
- "/venues/{id}/owners/{userId}": {
2167
+ "/venues/{id}/owners": {
2168
+ parameters: {
2169
+ query?: never;
2170
+ header?: never;
2171
+ path?: never;
2172
+ cookie?: never;
2173
+ };
2174
+ /** Get venue owners */
2175
+ get: operations["VenuesController_getOwners"];
2176
+ put?: never;
2177
+ /** Add a venue owner */
2178
+ post: operations["VenuesController_addOwner"];
2179
+ delete?: never;
2180
+ options?: never;
2181
+ head?: never;
2182
+ patch?: never;
2183
+ trace?: never;
2184
+ };
2185
+ "/venues/{id}/owners/{userId}": {
2238
2186
  parameters: {
2239
2187
  query?: never;
2240
2188
  header?: never;
@@ -2251,7 +2199,7 @@ export interface paths {
2251
2199
  patch?: never;
2252
2200
  trace?: never;
2253
2201
  };
2254
- "/venues/{id}/events": {
2202
+ "/venues/{idOrSlug}/events": {
2255
2203
  parameters: {
2256
2204
  query?: never;
2257
2205
  header?: never;
@@ -2268,6 +2216,23 @@ export interface paths {
2268
2216
  patch?: never;
2269
2217
  trace?: never;
2270
2218
  };
2219
+ "/venues/{idOrSlug}/offers": {
2220
+ parameters: {
2221
+ query?: never;
2222
+ header?: never;
2223
+ path?: never;
2224
+ cookie?: never;
2225
+ };
2226
+ /** Get active offers at a venue */
2227
+ get: operations["VenuesController_getVenueOffers"];
2228
+ put?: never;
2229
+ post?: never;
2230
+ delete?: never;
2231
+ options?: never;
2232
+ head?: never;
2233
+ patch?: never;
2234
+ trace?: never;
2235
+ };
2271
2236
  "/creators": {
2272
2237
  parameters: {
2273
2238
  query?: never;
@@ -2863,59 +2828,6 @@ export interface paths {
2863
2828
  patch?: never;
2864
2829
  trace?: never;
2865
2830
  };
2866
- "/admin/businesses": {
2867
- parameters: {
2868
- query?: never;
2869
- header?: never;
2870
- path?: never;
2871
- cookie?: never;
2872
- };
2873
- /** List all businesses */
2874
- get: operations["AdminBusinessesController_findAll"];
2875
- put?: never;
2876
- /** Create business */
2877
- post: operations["AdminBusinessesController_create"];
2878
- delete?: never;
2879
- options?: never;
2880
- head?: never;
2881
- patch?: never;
2882
- trace?: never;
2883
- };
2884
- "/admin/businesses/{id}": {
2885
- parameters: {
2886
- query?: never;
2887
- header?: never;
2888
- path?: never;
2889
- cookie?: never;
2890
- };
2891
- get?: never;
2892
- /** Update business */
2893
- put: operations["AdminBusinessesController_update"];
2894
- post?: never;
2895
- /** Delete business */
2896
- delete: operations["AdminBusinessesController_delete"];
2897
- options?: never;
2898
- head?: never;
2899
- patch?: never;
2900
- trace?: never;
2901
- };
2902
- "/admin/businesses/{id}/offers": {
2903
- parameters: {
2904
- query?: never;
2905
- header?: never;
2906
- path?: never;
2907
- cookie?: never;
2908
- };
2909
- get?: never;
2910
- put?: never;
2911
- /** Create offer for business */
2912
- post: operations["AdminBusinessesController_createOffer"];
2913
- delete?: never;
2914
- options?: never;
2915
- head?: never;
2916
- patch?: never;
2917
- trace?: never;
2918
- };
2919
2831
  "/admin/analytics/overview": {
2920
2832
  parameters: {
2921
2833
  query?: never;
@@ -4321,7 +4233,7 @@ export interface paths {
4321
4233
  patch?: never;
4322
4234
  trace?: never;
4323
4235
  };
4324
- "/map/businesses": {
4236
+ "/map/venues": {
4325
4237
  parameters: {
4326
4238
  query?: never;
4327
4239
  header?: never;
@@ -4329,10 +4241,10 @@ export interface paths {
4329
4241
  cookie?: never;
4330
4242
  };
4331
4243
  /**
4332
- * Get businesses/venues on map
4333
- * @description Returns active businesses with location data. Shows partner venues, AF-friendly spots, and more. Supports filtering by radius from a center point.
4244
+ * Get venues on map
4245
+ * @description Returns active venues with location data. Shows founding partner venues, AF-friendly spots, and more. Supports filtering by radius from a center point.
4334
4246
  */
4335
- get: operations["MapController_getMapBusinesses"];
4247
+ get: operations["MapController_getMapVenues"];
4336
4248
  put?: never;
4337
4249
  post?: never;
4338
4250
  delete?: never;
@@ -5342,6 +5254,37 @@ export interface components {
5342
5254
  /** @example true */
5343
5255
  onboardingComplete?: boolean;
5344
5256
  };
5257
+ UserSendOtpDto: {
5258
+ /**
5259
+ * @description Phone number to send OTP to (E.164 format recommended)
5260
+ * @example +14155551234
5261
+ */
5262
+ phone: string;
5263
+ /**
5264
+ * @description Channel to send OTP through
5265
+ * @default sms
5266
+ * @enum {string}
5267
+ */
5268
+ channel: "sms" | "call";
5269
+ };
5270
+ UserOtpSentResponseDto: {
5271
+ /** @description Whether OTP was sent successfully */
5272
+ success: boolean;
5273
+ /** @description Masked phone number */
5274
+ phone: string;
5275
+ };
5276
+ UserVerifyOtpDto: {
5277
+ /**
5278
+ * @description Phone number that received the OTP
5279
+ * @example +14155551234
5280
+ */
5281
+ phone: string;
5282
+ /**
5283
+ * @description 6-digit OTP code
5284
+ * @example 123456
5285
+ */
5286
+ code: string;
5287
+ };
5345
5288
  UserPublicResponseDto: {
5346
5289
  /** @example user-123 */
5347
5290
  id: string;
@@ -5564,377 +5507,88 @@ export interface components {
5564
5507
  */
5565
5508
  updatedAt: string;
5566
5509
  };
5567
- BusinessResponseDto: {
5568
- /** @example business-123 */
5510
+ SubscriptionResponseDto: {
5511
+ /**
5512
+ * @description Subscription ID
5513
+ * @example sub_1234567890
5514
+ */
5569
5515
  id: string;
5570
- /** @example growsober */
5571
- appId: string;
5572
- /** @example The Sober Spot */
5573
- name: string;
5574
- /** @example the-sober-spot */
5575
- slug?: Record<string, never>;
5576
- /** @example A cozy coffee shop with amazing mocktails */
5577
- description?: Record<string, never>;
5578
5516
  /**
5579
- * @example COFFEE_SHOP
5517
+ * @description User ID
5518
+ * @example user-123
5519
+ */
5520
+ userId: string;
5521
+ /**
5522
+ * @description Subscription tier
5523
+ * @example PREMIUM
5580
5524
  * @enum {string}
5581
5525
  */
5582
- type: "COFFEE_SHOP" | "RESTAURANT" | "BAR" | "WELLNESS" | "VENUE" | "ACTIVITY" | "RETAIL" | "OTHER";
5583
- /** @example true */
5584
- hasAfDrinks: boolean;
5585
- /** @example false */
5586
- isAfVenue: boolean;
5526
+ tier: "FREE" | "PREMIUM";
5587
5527
  /**
5588
- * @example [
5589
- * "Great mocktail menu",
5590
- * "Quiet atmosphere"
5591
- * ]
5528
+ * @description Subscription status
5529
+ * @example ACTIVE
5530
+ * @enum {string}
5592
5531
  */
5593
- afHighlights: string[];
5594
- /** @example 123 Main Street, Berlin */
5595
- address?: Record<string, never>;
5596
- /** @example city-uuid */
5597
- cityId?: Record<string, never>;
5598
- /** @example 52.52 */
5599
- locationLat?: Record<string, never>;
5600
- /** @example 13.405 */
5601
- locationLong?: Record<string, never>;
5602
- /** @example +49 30 12345678 */
5603
- phone?: Record<string, never>;
5604
- /** @example hello@soberspot.com */
5605
- email?: Record<string, never>;
5606
- /** @example https://soberspot.com */
5607
- website?: Record<string, never>;
5608
- /** @example https://instagram.com/soberspot */
5609
- instagramUrl?: Record<string, never>;
5610
- /** @example https://example.com/logo.jpg */
5611
- profileImage?: Record<string, never>;
5612
- /** @example https://example.com/banner.jpg */
5613
- bannerImage?: Record<string, never>;
5532
+ status: "ACTIVE" | "TRIALING" | "PAST_DUE" | "CANCELLED" | "PAUSED";
5614
5533
  /**
5615
- * @example [
5616
- * "https://example.com/photo1.jpg",
5617
- * "https://example.com/photo2.jpg"
5618
- * ]
5534
+ * @description Stripe customer ID
5535
+ * @example cus_1234567890
5619
5536
  */
5620
- photos: string[];
5537
+ stripeCustomerId?: Record<string, never>;
5621
5538
  /**
5622
- * @example {
5623
- * "mon": "09:00-17:00",
5624
- * "tue": "09:00-17:00",
5625
- * "sat": "10:00-15:00"
5626
- * }
5539
+ * @description Stripe subscription ID
5540
+ * @example sub_1234567890
5627
5541
  */
5628
- openingHours?: Record<string, never>;
5629
- /** @example true */
5630
- isActive: boolean;
5631
- /** @example false */
5632
- isVerified: boolean;
5633
- /** @example false */
5634
- isFeatured: boolean;
5635
- /** @example true */
5636
- isPartner: boolean;
5542
+ stripeSubscriptionId?: Record<string, never>;
5637
5543
  /**
5638
- * Format: date-time
5639
- * @example 2024-01-01T00:00:00.000Z
5544
+ * @description Stripe price ID
5545
+ * @example price_1234567890
5640
5546
  */
5641
- createdAt: string;
5547
+ stripePriceId?: Record<string, never>;
5642
5548
  /**
5643
- * Format: date-time
5549
+ * @description Current billing period start date
5644
5550
  * @example 2024-01-01T00:00:00.000Z
5645
5551
  */
5646
- updatedAt: string;
5647
- };
5648
- OfferResponseDto: {
5649
- /** @example offer-123 */
5650
- id: string;
5651
- /** @example business-123 */
5652
- businessId: string;
5653
- /** @example 20% off all mocktails */
5654
- title: string;
5655
- /** @example Show your GrowSober app to get 20% off */
5656
- description?: Record<string, never>;
5552
+ currentPeriodStart?: Record<string, never>;
5657
5553
  /**
5658
- * @example PERCENTAGE
5659
- * @enum {string}
5554
+ * @description Current billing period end date
5555
+ * @example 2024-02-01T00:00:00.000Z
5660
5556
  */
5661
- discountType?: "PERCENTAGE" | "FIXED_AMOUNT" | "FREE_ITEM" | "BOGO";
5662
- /** @example 20.00 */
5663
- discountValue?: Record<string, never>;
5664
- /** @example GROWSOBER20 */
5665
- discountCode?: Record<string, never>;
5557
+ currentPeriodEnd?: Record<string, never>;
5666
5558
  /**
5667
- * Format: date-time
5559
+ * @description Whether subscription will cancel at end of period
5560
+ * @example false
5561
+ */
5562
+ cancelAtPeriodEnd: boolean;
5563
+ /**
5564
+ * @description Cancellation date
5565
+ * @example 2024-01-15T00:00:00.000Z
5566
+ */
5567
+ cancelledAt?: Record<string, never>;
5568
+ /**
5569
+ * @description Trial start date
5668
5570
  * @example 2024-01-01T00:00:00.000Z
5669
5571
  */
5670
- validFrom: string;
5671
- /** @example 2024-12-31T23:59:59.000Z */
5672
- validTo?: Record<string, never>;
5673
- /** @example Valid for dine-in only. Cannot be combined with other offers. */
5674
- terms?: Record<string, never>;
5675
- /** @example 100 */
5676
- maxRedemptions?: Record<string, never>;
5677
- /** @example 25 */
5678
- redemptionCount: number;
5679
- /** @example 1 */
5680
- perUserLimit?: Record<string, never>;
5681
- /** @example false */
5682
- premiumOnly: boolean;
5683
- /** @example true */
5684
- isActive: boolean;
5572
+ trialStart?: Record<string, never>;
5573
+ /**
5574
+ * @description Trial end date
5575
+ * @example 2024-01-14T00:00:00.000Z
5576
+ */
5577
+ trialEnd?: Record<string, never>;
5578
+ /**
5579
+ * @description Whether user has already used their trial
5580
+ * @example false
5581
+ */
5582
+ hadTrial: boolean;
5685
5583
  /**
5686
5584
  * Format: date-time
5585
+ * @description Subscription creation date
5687
5586
  * @example 2024-01-01T00:00:00.000Z
5688
5587
  */
5689
5588
  createdAt: string;
5690
5589
  /**
5691
5590
  * Format: date-time
5692
- * @example 2024-01-01T00:00:00.000Z
5693
- */
5694
- updatedAt: string;
5695
- };
5696
- EventCityDto: {
5697
- /** @example city-uuid */
5698
- id: string;
5699
- /** @example Lisbon */
5700
- name: string;
5701
- /** @example Portugal */
5702
- country: string;
5703
- };
5704
- EventVenueDto: {
5705
- /** @example venue-uuid */
5706
- id: string;
5707
- /** @example The Coffee Place */
5708
- name: string;
5709
- /** @example the-coffee-place */
5710
- slug: string;
5711
- /** @example https://example.com/image.jpg */
5712
- profileImage?: string;
5713
- };
5714
- EventCreatorDto: {
5715
- /** @example creator-uuid */
5716
- id: string;
5717
- /** @example John Doe */
5718
- displayName: string;
5719
- /** @example john-doe */
5720
- slug: string;
5721
- /** @example https://example.com/avatar.jpg */
5722
- avatarUrl?: string;
5723
- };
5724
- EventBrandDto: {
5725
- /** @example brand-uuid */
5726
- id: string;
5727
- /** @example Wellness Co */
5728
- name: string;
5729
- /** @example wellness-co */
5730
- slug: string;
5731
- /** @example https://example.com/logo.png */
5732
- logoUrl?: string;
5733
- };
5734
- EventResponseDto: {
5735
- /** @example event-123 */
5736
- id: string;
5737
- /** @example Morning Coffee & Connection */
5738
- title: string;
5739
- /** @example morning-coffee-and-connection */
5740
- slug?: Record<string, never>;
5741
- /** @example Join us for a morning coffee */
5742
- description?: Record<string, never>;
5743
- /** @example https://example.com/banner.jpg */
5744
- bannerImage?: Record<string, never>;
5745
- /**
5746
- * Format: date-time
5747
- * @example 2024-03-15T10:00:00.000Z
5748
- */
5749
- startDate: string;
5750
- /** @example 2024-03-15T12:00:00.000Z */
5751
- endDate?: Record<string, never>;
5752
- /** @example Europe/Berlin */
5753
- timezone?: Record<string, never>;
5754
- /** @example false */
5755
- isRecurring: boolean;
5756
- /** @example FREQ=WEEKLY;BYDAY=SA */
5757
- recurrenceRule?: Record<string, never>;
5758
- /** @example The Coffee Place */
5759
- locationName?: Record<string, never>;
5760
- /** @example Alexanderplatz 1, Berlin */
5761
- locationAddress?: Record<string, never>;
5762
- /** @example 52.52 */
5763
- locationLat?: Record<string, never>;
5764
- /** @example 13.405 */
5765
- locationLong?: Record<string, never>;
5766
- /** @example city-uuid */
5767
- cityId?: Record<string, never>;
5768
- /** @example false */
5769
- isOnline: boolean;
5770
- /** @example https://zoom.us/j/123456789 */
5771
- onlineUrl?: Record<string, never>;
5772
- /** @example 20 */
5773
- totalSpots: number;
5774
- /** @example 15 */
5775
- availableSpots: number;
5776
- /** @example true */
5777
- isFree: boolean;
5778
- /** @example 10.00 */
5779
- price?: Record<string, never>;
5780
- /** @example EUR */
5781
- currency: string;
5782
- /** @example hub-uuid */
5783
- hubId?: Record<string, never>;
5784
- /**
5785
- * @description Venue where event takes place
5786
- * @example venue-uuid
5787
- */
5788
- venueId?: Record<string, never>;
5789
- /**
5790
- * @description Creator/facilitator of the event
5791
- * @example creator-uuid
5792
- */
5793
- creatorId?: Record<string, never>;
5794
- /**
5795
- * @description Sponsor brand of the event
5796
- * @example brand-uuid
5797
- */
5798
- sponsorBrandId?: Record<string, never>;
5799
- /**
5800
- * @description Type of gathering
5801
- * @enum {string}
5802
- */
5803
- gatheringType?: "FACILITATOR_LED" | "COMMUNITY" | "SOCIAL" | "ONLINE";
5804
- /** @enum {string} */
5805
- visibility: "PUBLIC" | "MEMBERS_ONLY" | "INVITE_ONLY";
5806
- /** @example false */
5807
- requiresApproval: boolean;
5808
- /** @example true */
5809
- allowWaitlist: boolean;
5810
- /** @example https://chat.whatsapp.com/... */
5811
- whatsappGroup?: Record<string, never>;
5812
- /** @example https://eventbrite.com/... */
5813
- externalUrl?: Record<string, never>;
5814
- /** @enum {string} */
5815
- status: "DRAFT" | "PUBLISHED" | "CANCELLED" | "COMPLETED";
5816
- /** @example false */
5817
- isFeatured: boolean;
5818
- /** @example false */
5819
- isCancelled: boolean;
5820
- /** @example false */
5821
- isAmbient: boolean;
5822
- /**
5823
- * @description Ambient event category
5824
- * @example COFFEE
5825
- */
5826
- ambientCategory?: Record<string, never>;
5827
- /**
5828
- * @description Event vibe/atmosphere
5829
- * @enum {string}
5830
- */
5831
- vibe?: "CHILL" | "ACTIVE" | "SOCIAL" | "CREATIVE" | "DEEP_TALK" | "ADVENTURE";
5832
- /** @description City where event takes place */
5833
- city?: components["schemas"]["EventCityDto"];
5834
- /** @description Venue where event takes place */
5835
- venue?: components["schemas"]["EventVenueDto"];
5836
- /** @description Creator/facilitator of the event */
5837
- creator?: components["schemas"]["EventCreatorDto"];
5838
- /** @description Sponsor brand of the event */
5839
- sponsorBrand?: components["schemas"]["EventBrandDto"];
5840
- /** @example 5 */
5841
- bookingCount: number;
5842
- /** @example 3 */
5843
- checkinCount: number;
5844
- /**
5845
- * Format: date-time
5846
- * @example 2024-01-01T00:00:00.000Z
5847
- */
5848
- createdAt: string;
5849
- /** @example 2024-01-01T00:00:00.000Z */
5850
- publishedAt?: Record<string, never>;
5851
- };
5852
- RedeemOfferDto: {
5853
- /** @example Any additional notes or verification code */
5854
- notes?: string;
5855
- };
5856
- SubscriptionResponseDto: {
5857
- /**
5858
- * @description Subscription ID
5859
- * @example sub_1234567890
5860
- */
5861
- id: string;
5862
- /**
5863
- * @description User ID
5864
- * @example user-123
5865
- */
5866
- userId: string;
5867
- /**
5868
- * @description Subscription tier
5869
- * @example PREMIUM
5870
- * @enum {string}
5871
- */
5872
- tier: "FREE" | "PREMIUM";
5873
- /**
5874
- * @description Subscription status
5875
- * @example ACTIVE
5876
- * @enum {string}
5877
- */
5878
- status: "ACTIVE" | "TRIALING" | "PAST_DUE" | "CANCELLED" | "PAUSED";
5879
- /**
5880
- * @description Stripe customer ID
5881
- * @example cus_1234567890
5882
- */
5883
- stripeCustomerId?: Record<string, never>;
5884
- /**
5885
- * @description Stripe subscription ID
5886
- * @example sub_1234567890
5887
- */
5888
- stripeSubscriptionId?: Record<string, never>;
5889
- /**
5890
- * @description Stripe price ID
5891
- * @example price_1234567890
5892
- */
5893
- stripePriceId?: Record<string, never>;
5894
- /**
5895
- * @description Current billing period start date
5896
- * @example 2024-01-01T00:00:00.000Z
5897
- */
5898
- currentPeriodStart?: Record<string, never>;
5899
- /**
5900
- * @description Current billing period end date
5901
- * @example 2024-02-01T00:00:00.000Z
5902
- */
5903
- currentPeriodEnd?: Record<string, never>;
5904
- /**
5905
- * @description Whether subscription will cancel at end of period
5906
- * @example false
5907
- */
5908
- cancelAtPeriodEnd: boolean;
5909
- /**
5910
- * @description Cancellation date
5911
- * @example 2024-01-15T00:00:00.000Z
5912
- */
5913
- cancelledAt?: Record<string, never>;
5914
- /**
5915
- * @description Trial start date
5916
- * @example 2024-01-01T00:00:00.000Z
5917
- */
5918
- trialStart?: Record<string, never>;
5919
- /**
5920
- * @description Trial end date
5921
- * @example 2024-01-14T00:00:00.000Z
5922
- */
5923
- trialEnd?: Record<string, never>;
5924
- /**
5925
- * @description Whether user has already used their trial
5926
- * @example false
5927
- */
5928
- hadTrial: boolean;
5929
- /**
5930
- * Format: date-time
5931
- * @description Subscription creation date
5932
- * @example 2024-01-01T00:00:00.000Z
5933
- */
5934
- createdAt: string;
5935
- /**
5936
- * Format: date-time
5937
- * @description Last update date
5591
+ * @description Last update date
5938
5592
  * @example 2024-01-01T00:00:00.000Z
5939
5593
  */
5940
5594
  updatedAt: string;
@@ -6713,27 +6367,79 @@ export interface components {
6713
6367
  */
6714
6368
  isActive?: boolean;
6715
6369
  };
6716
- CreateHubDto: {
6717
- /** @example Berlin Sober Squad */
6718
- name: string;
6719
- /** @example berlin-sober-squad */
6720
- slug?: string;
6721
- /** @example A community for sober-curious people in Berlin */
6722
- description?: string;
6723
- /** @example https://example.com/banner.jpg */
6724
- bannerImage?: string;
6725
- /** @example https://example.com/profile.jpg */
6726
- profileImage?: string;
6727
- /** @example city-uuid */
6728
- cityId?: string;
6729
- /** @example Alexanderplatz 1, Berlin */
6730
- address?: string;
6731
- /** @example 52.52 */
6732
- locationLat?: number;
6733
- /** @example 13.405 */
6734
- locationLong?: number;
6735
- /** @example https://chat.whatsapp.com/... */
6736
- whatsappGroup?: string;
6370
+ OfferResponseDto: {
6371
+ /** @example offer-123 */
6372
+ id: string;
6373
+ /** @example venue-123 */
6374
+ venueId: string;
6375
+ /** @example 20% off all mocktails */
6376
+ title: string;
6377
+ /** @example Show your GrowSober app to get 20% off */
6378
+ description?: Record<string, never>;
6379
+ /**
6380
+ * @example PERCENTAGE
6381
+ * @enum {string}
6382
+ */
6383
+ discountType?: "PERCENTAGE" | "FIXED_AMOUNT" | "FREE_ITEM" | "BOGO";
6384
+ /** @example 20.00 */
6385
+ discountValue?: Record<string, never>;
6386
+ /** @example GROWSOBER20 */
6387
+ discountCode?: Record<string, never>;
6388
+ /**
6389
+ * Format: date-time
6390
+ * @example 2024-01-01T00:00:00.000Z
6391
+ */
6392
+ validFrom: string;
6393
+ /** @example 2024-12-31T23:59:59.000Z */
6394
+ validTo?: Record<string, never>;
6395
+ /** @example Valid for dine-in only. Cannot be combined with other offers. */
6396
+ terms?: Record<string, never>;
6397
+ /** @example 100 */
6398
+ maxRedemptions?: Record<string, never>;
6399
+ /** @example 25 */
6400
+ redemptionCount: number;
6401
+ /** @example 1 */
6402
+ perUserLimit?: Record<string, never>;
6403
+ /** @example false */
6404
+ premiumOnly: boolean;
6405
+ /** @example true */
6406
+ isActive: boolean;
6407
+ /**
6408
+ * Format: date-time
6409
+ * @example 2024-01-01T00:00:00.000Z
6410
+ */
6411
+ createdAt: string;
6412
+ /**
6413
+ * Format: date-time
6414
+ * @example 2024-01-01T00:00:00.000Z
6415
+ */
6416
+ updatedAt: string;
6417
+ };
6418
+ RedeemOfferDto: {
6419
+ /** @example Any additional notes or verification code */
6420
+ notes?: string;
6421
+ };
6422
+ CreateHubDto: {
6423
+ /** @example Berlin Sober Squad */
6424
+ name: string;
6425
+ /** @example berlin-sober-squad */
6426
+ slug?: string;
6427
+ /** @example A community for sober-curious people in Berlin */
6428
+ description?: string;
6429
+ /** @example https://example.com/banner.jpg */
6430
+ bannerImage?: string;
6431
+ /** @example https://example.com/profile.jpg */
6432
+ profileImage?: string;
6433
+ /** @example city-uuid */
6434
+ cityId?: string;
6435
+ /** @example Alexanderplatz 1, Berlin */
6436
+ address?: string;
6437
+ /** @example 52.52 */
6438
+ locationLat?: number;
6439
+ /** @example 13.405 */
6440
+ locationLong?: number;
6441
+ /** @example https://chat.whatsapp.com/... */
6442
+ whatsappGroup?: string;
6737
6443
  /** @example https://instagram.com/berlinsobersquad */
6738
6444
  instagramUrl?: string;
6739
6445
  /** @example https://berlinsobersquad.com */
@@ -6913,6 +6619,162 @@ export interface components {
6913
6619
  */
6914
6620
  vibe?: "CHILL" | "ACTIVE" | "SOCIAL" | "CREATIVE" | "DEEP_TALK" | "ADVENTURE";
6915
6621
  };
6622
+ EventCityDto: {
6623
+ /** @example city-uuid */
6624
+ id: string;
6625
+ /** @example Lisbon */
6626
+ name: string;
6627
+ /** @example Portugal */
6628
+ country: string;
6629
+ };
6630
+ EventVenueDto: {
6631
+ /** @example venue-uuid */
6632
+ id: string;
6633
+ /** @example The Coffee Place */
6634
+ name: string;
6635
+ /** @example the-coffee-place */
6636
+ slug: string;
6637
+ /** @example https://example.com/image.jpg */
6638
+ profileImage?: string;
6639
+ };
6640
+ EventCreatorDto: {
6641
+ /** @example creator-uuid */
6642
+ id: string;
6643
+ /** @example John Doe */
6644
+ displayName: string;
6645
+ /** @example john-doe */
6646
+ slug: string;
6647
+ /** @example https://example.com/avatar.jpg */
6648
+ avatarUrl?: string;
6649
+ };
6650
+ EventBrandDto: {
6651
+ /** @example brand-uuid */
6652
+ id: string;
6653
+ /** @example Wellness Co */
6654
+ name: string;
6655
+ /** @example wellness-co */
6656
+ slug: string;
6657
+ /** @example https://example.com/logo.png */
6658
+ logoUrl?: string;
6659
+ };
6660
+ EventResponseDto: {
6661
+ /** @example event-123 */
6662
+ id: string;
6663
+ /** @example Morning Coffee & Connection */
6664
+ title: string;
6665
+ /** @example morning-coffee-and-connection */
6666
+ slug?: Record<string, never>;
6667
+ /** @example Join us for a morning coffee */
6668
+ description?: Record<string, never>;
6669
+ /** @example https://example.com/banner.jpg */
6670
+ bannerImage?: Record<string, never>;
6671
+ /**
6672
+ * Format: date-time
6673
+ * @example 2024-03-15T10:00:00.000Z
6674
+ */
6675
+ startDate: string;
6676
+ /** @example 2024-03-15T12:00:00.000Z */
6677
+ endDate?: Record<string, never>;
6678
+ /** @example Europe/Berlin */
6679
+ timezone?: Record<string, never>;
6680
+ /** @example false */
6681
+ isRecurring: boolean;
6682
+ /** @example FREQ=WEEKLY;BYDAY=SA */
6683
+ recurrenceRule?: Record<string, never>;
6684
+ /** @example The Coffee Place */
6685
+ locationName?: Record<string, never>;
6686
+ /** @example Alexanderplatz 1, Berlin */
6687
+ locationAddress?: Record<string, never>;
6688
+ /** @example 52.52 */
6689
+ locationLat?: Record<string, never>;
6690
+ /** @example 13.405 */
6691
+ locationLong?: Record<string, never>;
6692
+ /** @example city-uuid */
6693
+ cityId?: Record<string, never>;
6694
+ /** @example false */
6695
+ isOnline: boolean;
6696
+ /** @example https://zoom.us/j/123456789 */
6697
+ onlineUrl?: Record<string, never>;
6698
+ /** @example 20 */
6699
+ totalSpots: number;
6700
+ /** @example 15 */
6701
+ availableSpots: number;
6702
+ /** @example true */
6703
+ isFree: boolean;
6704
+ /** @example 10.00 */
6705
+ price?: Record<string, never>;
6706
+ /** @example EUR */
6707
+ currency: string;
6708
+ /** @example hub-uuid */
6709
+ hubId?: Record<string, never>;
6710
+ /**
6711
+ * @description Venue where event takes place
6712
+ * @example venue-uuid
6713
+ */
6714
+ venueId?: Record<string, never>;
6715
+ /**
6716
+ * @description Creator/facilitator of the event
6717
+ * @example creator-uuid
6718
+ */
6719
+ creatorId?: Record<string, never>;
6720
+ /**
6721
+ * @description Sponsor brand of the event
6722
+ * @example brand-uuid
6723
+ */
6724
+ sponsorBrandId?: Record<string, never>;
6725
+ /**
6726
+ * @description Type of gathering
6727
+ * @enum {string}
6728
+ */
6729
+ gatheringType?: "FACILITATOR_LED" | "COMMUNITY" | "SOCIAL" | "ONLINE";
6730
+ /** @enum {string} */
6731
+ visibility: "PUBLIC" | "MEMBERS_ONLY" | "INVITE_ONLY";
6732
+ /** @example false */
6733
+ requiresApproval: boolean;
6734
+ /** @example true */
6735
+ allowWaitlist: boolean;
6736
+ /** @example https://chat.whatsapp.com/... */
6737
+ whatsappGroup?: Record<string, never>;
6738
+ /** @example https://eventbrite.com/... */
6739
+ externalUrl?: Record<string, never>;
6740
+ /** @enum {string} */
6741
+ status: "DRAFT" | "PUBLISHED" | "CANCELLED" | "COMPLETED";
6742
+ /** @example false */
6743
+ isFeatured: boolean;
6744
+ /** @example false */
6745
+ isCancelled: boolean;
6746
+ /** @example false */
6747
+ isAmbient: boolean;
6748
+ /**
6749
+ * @description Ambient event category
6750
+ * @example COFFEE
6751
+ */
6752
+ ambientCategory?: Record<string, never>;
6753
+ /**
6754
+ * @description Event vibe/atmosphere
6755
+ * @enum {string}
6756
+ */
6757
+ vibe?: "CHILL" | "ACTIVE" | "SOCIAL" | "CREATIVE" | "DEEP_TALK" | "ADVENTURE";
6758
+ /** @description City where event takes place */
6759
+ city?: components["schemas"]["EventCityDto"];
6760
+ /** @description Venue where event takes place */
6761
+ venue?: components["schemas"]["EventVenueDto"];
6762
+ /** @description Creator/facilitator of the event */
6763
+ creator?: components["schemas"]["EventCreatorDto"];
6764
+ /** @description Sponsor brand of the event */
6765
+ sponsorBrand?: components["schemas"]["EventBrandDto"];
6766
+ /** @example 5 */
6767
+ bookingCount: number;
6768
+ /** @example 3 */
6769
+ checkinCount: number;
6770
+ /**
6771
+ * Format: date-time
6772
+ * @example 2024-01-01T00:00:00.000Z
6773
+ */
6774
+ createdAt: string;
6775
+ /** @example 2024-01-01T00:00:00.000Z */
6776
+ publishedAt?: Record<string, never>;
6777
+ };
6916
6778
  UpdateEventDto: {
6917
6779
  /** @example Morning Coffee & Connection */
6918
6780
  title?: string;
@@ -7487,6 +7349,11 @@ export interface components {
7487
7349
  /** @example 2026-02-01 */
7488
7350
  date: string;
7489
7351
  slots: components["schemas"]["AvailableSlotDto"][];
7352
+ /**
7353
+ * @description Timezone of the slot times
7354
+ * @example Europe/London
7355
+ */
7356
+ timezone: string;
7490
7357
  };
7491
7358
  BrandResponseDto: {
7492
7359
  id: string;
@@ -7794,76 +7661,32 @@ export interface components {
7794
7661
  */
7795
7662
  authorName?: string;
7796
7663
  };
7797
- AdminCreateBusinessDto: {
7664
+ AdminOverviewStatsDto: {
7665
+ /** @description Total number of users */
7666
+ totalUsers: number;
7667
+ /** @description Active users (last 30 days) */
7668
+ activeUsers: number;
7669
+ /** @description Premium users */
7670
+ premiumUsers: number;
7671
+ /** @description Total hubs */
7672
+ totalHubs: number;
7673
+ /** @description Total events */
7674
+ totalEvents: number;
7675
+ /** @description Upcoming events */
7676
+ upcomingEvents: number;
7677
+ /** @description Total bookings */
7678
+ totalBookings: number;
7679
+ /** @description Total venues */
7680
+ totalVenues: number;
7681
+ /** @description Total library content */
7682
+ totalContent: number;
7683
+ };
7684
+ GenerateGatheringsDto: {
7685
+ /** @description City ID to generate events for */
7686
+ cityId: string;
7798
7687
  /**
7799
- * @description Business name
7800
- * @example The Good Life Cafe
7801
- */
7802
- name: string;
7803
- /**
7804
- * @description Business description
7805
- * @example Amazing alcohol-free cafe in the heart of London
7806
- */
7807
- description?: string;
7808
- /**
7809
- * @description Business type
7810
- * @enum {string}
7811
- */
7812
- type: "COFFEE_SHOP" | "RESTAURANT" | "BAR" | "WELLNESS" | "VENUE" | "ACTIVITY" | "RETAIL" | "OTHER";
7813
- /**
7814
- * @description Has alcohol-free drinks
7815
- * @default true
7816
- */
7817
- hasAfDrinks: boolean;
7818
- /**
7819
- * @description Completely alcohol-free venue
7820
- * @default false
7821
- */
7822
- isAfVenue: boolean;
7823
- /** @description City ID */
7824
- cityId?: string;
7825
- /**
7826
- * @description Address
7827
- * @example 123 Main St, London
7828
- */
7829
- address?: string;
7830
- /**
7831
- * @description Partner status
7832
- * @default false
7833
- */
7834
- isPartner: boolean;
7835
- /**
7836
- * @description Featured status
7837
- * @default false
7838
- */
7839
- isFeatured: boolean;
7840
- };
7841
- AdminOverviewStatsDto: {
7842
- /** @description Total number of users */
7843
- totalUsers: number;
7844
- /** @description Active users (last 30 days) */
7845
- activeUsers: number;
7846
- /** @description Premium users */
7847
- premiumUsers: number;
7848
- /** @description Total hubs */
7849
- totalHubs: number;
7850
- /** @description Total events */
7851
- totalEvents: number;
7852
- /** @description Upcoming events */
7853
- upcomingEvents: number;
7854
- /** @description Total bookings */
7855
- totalBookings: number;
7856
- /** @description Total businesses */
7857
- totalBusinesses: number;
7858
- /** @description Total library content */
7859
- totalContent: number;
7860
- };
7861
- GenerateGatheringsDto: {
7862
- /** @description City ID to generate events for */
7863
- cityId: string;
7864
- /**
7865
- * @description Date to generate events for (YYYY-MM-DD)
7866
- * @example 2026-01-25
7688
+ * @description Date to generate events for (YYYY-MM-DD)
7689
+ * @example 2026-01-25
7867
7690
  */
7868
7691
  date: string;
7869
7692
  /**
@@ -7959,6 +7782,11 @@ export interface components {
7959
7782
  * @example EUR
7960
7783
  */
7961
7784
  currency: string;
7785
+ /**
7786
+ * @description Max participants
7787
+ * @example 20
7788
+ */
7789
+ maxParticipants?: number | null;
7962
7790
  /** @description Whether AI generated this suggestion */
7963
7791
  isAiGenerated: boolean;
7964
7792
  /** @description Whether the facilitator approved this */
@@ -8013,6 +7841,12 @@ export interface components {
8013
7841
  venueType?: string;
8014
7842
  /** @description Suggested price (null = free) */
8015
7843
  suggestedPrice?: number;
7844
+ /**
7845
+ * @description Max participants
7846
+ * @default 20
7847
+ * @example 20
7848
+ */
7849
+ maxParticipants: number;
8016
7850
  /**
8017
7851
  * @description Currency
8018
7852
  * @default EUR
@@ -8055,6 +7889,12 @@ export interface components {
8055
7889
  venueType?: string;
8056
7890
  /** @description Suggested price (null = free) */
8057
7891
  suggestedPrice?: number;
7892
+ /**
7893
+ * @description Max participants
7894
+ * @default 20
7895
+ * @example 20
7896
+ */
7897
+ maxParticipants: number;
8058
7898
  /**
8059
7899
  * @description Currency
8060
7900
  * @default EUR
@@ -10429,6 +10269,75 @@ export interface operations {
10429
10269
  };
10430
10270
  };
10431
10271
  };
10272
+ UsersController_sendPhoneOtp: {
10273
+ parameters: {
10274
+ query?: never;
10275
+ header?: never;
10276
+ path?: never;
10277
+ cookie?: never;
10278
+ };
10279
+ requestBody: {
10280
+ content: {
10281
+ "application/json": components["schemas"]["UserSendOtpDto"];
10282
+ };
10283
+ };
10284
+ responses: {
10285
+ /** @description OTP sent successfully */
10286
+ 200: {
10287
+ headers: {
10288
+ [name: string]: unknown;
10289
+ };
10290
+ content: {
10291
+ "application/json": components["schemas"]["UserOtpSentResponseDto"];
10292
+ };
10293
+ };
10294
+ /** @description Phone number already in use */
10295
+ 409: {
10296
+ headers: {
10297
+ [name: string]: unknown;
10298
+ };
10299
+ content?: never;
10300
+ };
10301
+ };
10302
+ };
10303
+ UsersController_verifyPhoneOtp: {
10304
+ parameters: {
10305
+ query?: never;
10306
+ header?: never;
10307
+ path?: never;
10308
+ cookie?: never;
10309
+ };
10310
+ requestBody: {
10311
+ content: {
10312
+ "application/json": components["schemas"]["UserVerifyOtpDto"];
10313
+ };
10314
+ };
10315
+ responses: {
10316
+ /** @description Phone number verified and updated */
10317
+ 200: {
10318
+ headers: {
10319
+ [name: string]: unknown;
10320
+ };
10321
+ content: {
10322
+ "application/json": components["schemas"]["UserResponseDto"];
10323
+ };
10324
+ };
10325
+ /** @description Invalid verification code */
10326
+ 400: {
10327
+ headers: {
10328
+ [name: string]: unknown;
10329
+ };
10330
+ content?: never;
10331
+ };
10332
+ /** @description Phone number already in use */
10333
+ 409: {
10334
+ headers: {
10335
+ [name: string]: unknown;
10336
+ };
10337
+ content?: never;
10338
+ };
10339
+ };
10340
+ };
10432
10341
  UsersController_getPublicProfile: {
10433
10342
  parameters: {
10434
10343
  query?: never;
@@ -10765,375 +10674,35 @@ export interface operations {
10765
10674
  };
10766
10675
  };
10767
10676
  };
10768
- LibraryController_markAsViewed: {
10769
- parameters: {
10770
- query?: never;
10771
- header?: never;
10772
- path: {
10773
- /** @description Content ID */
10774
- id: string;
10775
- };
10776
- cookie?: never;
10777
- };
10778
- requestBody?: never;
10779
- responses: {
10780
- /** @description Content marked as viewed */
10781
- 200: {
10782
- headers: {
10783
- [name: string]: unknown;
10784
- };
10785
- content: {
10786
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10787
- };
10788
- };
10789
- /** @description Premium subscription required */
10790
- 403: {
10791
- headers: {
10792
- [name: string]: unknown;
10793
- };
10794
- content?: never;
10795
- };
10796
- /** @description Content not found */
10797
- 404: {
10798
- headers: {
10799
- [name: string]: unknown;
10800
- };
10801
- content?: never;
10802
- };
10803
- };
10804
- };
10805
- LibraryController_markAsCompleted: {
10806
- parameters: {
10807
- query?: never;
10808
- header?: never;
10809
- path: {
10810
- /** @description Content ID */
10811
- id: string;
10812
- };
10813
- cookie?: never;
10814
- };
10815
- requestBody?: never;
10816
- responses: {
10817
- /** @description Content marked as completed */
10818
- 200: {
10819
- headers: {
10820
- [name: string]: unknown;
10821
- };
10822
- content: {
10823
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10824
- };
10825
- };
10826
- /** @description Premium subscription required */
10827
- 403: {
10828
- headers: {
10829
- [name: string]: unknown;
10830
- };
10831
- content?: never;
10832
- };
10833
- /** @description Content not found */
10834
- 404: {
10835
- headers: {
10836
- [name: string]: unknown;
10837
- };
10838
- content?: never;
10839
- };
10840
- };
10841
- };
10842
- LibraryController_toggleLike: {
10843
- parameters: {
10844
- query?: never;
10845
- header?: never;
10846
- path: {
10847
- /** @description Content ID */
10848
- id: string;
10849
- };
10850
- cookie?: never;
10851
- };
10852
- requestBody?: never;
10853
- responses: {
10854
- /** @description Content liked/unliked */
10855
- 200: {
10856
- headers: {
10857
- [name: string]: unknown;
10858
- };
10859
- content: {
10860
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10861
- };
10862
- };
10863
- /** @description Premium subscription required */
10864
- 403: {
10865
- headers: {
10866
- [name: string]: unknown;
10867
- };
10868
- content?: never;
10869
- };
10870
- /** @description Content not found */
10871
- 404: {
10872
- headers: {
10873
- [name: string]: unknown;
10874
- };
10875
- content?: never;
10876
- };
10877
- };
10878
- };
10879
- LibraryController_addBookmark: {
10880
- parameters: {
10881
- query?: never;
10882
- header?: never;
10883
- path: {
10884
- /** @description Content ID */
10885
- id: string;
10886
- };
10887
- cookie?: never;
10888
- };
10889
- requestBody?: never;
10890
- responses: {
10891
- /** @description Content bookmarked */
10892
- 200: {
10893
- headers: {
10894
- [name: string]: unknown;
10895
- };
10896
- content: {
10897
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10898
- };
10899
- };
10900
- /** @description Premium subscription required */
10901
- 403: {
10902
- headers: {
10903
- [name: string]: unknown;
10904
- };
10905
- content?: never;
10906
- };
10907
- /** @description Content not found */
10908
- 404: {
10909
- headers: {
10910
- [name: string]: unknown;
10911
- };
10912
- content?: never;
10913
- };
10914
- };
10915
- };
10916
- LibraryController_removeBookmark: {
10917
- parameters: {
10918
- query?: never;
10919
- header?: never;
10920
- path: {
10921
- /** @description Content ID */
10922
- id: string;
10923
- };
10924
- cookie?: never;
10925
- };
10926
- requestBody?: never;
10927
- responses: {
10928
- /** @description Bookmark removed */
10929
- 200: {
10930
- headers: {
10931
- [name: string]: unknown;
10932
- };
10933
- content: {
10934
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10935
- };
10936
- };
10937
- /** @description Content not found */
10938
- 404: {
10939
- headers: {
10940
- [name: string]: unknown;
10941
- };
10942
- content?: never;
10943
- };
10944
- };
10945
- };
10946
- BusinessesController_findAll: {
10947
- parameters: {
10948
- query?: {
10949
- /** @description Page number */
10950
- page?: number;
10951
- /** @description Items per page */
10952
- limit?: number;
10953
- /** @description Search by name or description */
10954
- search?: string;
10955
- /** @description Filter by city ID */
10956
- cityId?: string;
10957
- /** @description Filter by business type */
10958
- type?: "COFFEE_SHOP" | "RESTAURANT" | "BAR" | "WELLNESS" | "VENUE" | "ACTIVITY" | "RETAIL" | "OTHER";
10959
- /** @description Filter businesses with AF drinks */
10960
- hasAfDrinks?: boolean;
10961
- /** @description Filter AF-only venues */
10962
- isAfVenue?: boolean;
10963
- /** @description Filter featured businesses only */
10964
- isFeatured?: boolean;
10965
- /** @description Filter partner businesses only */
10966
- isPartner?: boolean;
10967
- /** @description Latitude for nearby search */
10968
- lat?: number;
10969
- /** @description Longitude for nearby search */
10970
- long?: number;
10971
- /** @description Radius in kilometers for nearby search */
10972
- radius?: number;
10973
- /** @description Sort field */
10974
- sortBy?: string;
10975
- /** @description Sort order */
10976
- sortOrder?: string;
10977
- };
10978
- header?: never;
10979
- path?: never;
10980
- cookie?: never;
10981
- };
10982
- requestBody?: never;
10983
- responses: {
10984
- /** @description List of business partners */
10985
- 200: {
10986
- headers: {
10987
- [name: string]: unknown;
10988
- };
10989
- content?: never;
10990
- };
10991
- };
10992
- };
10993
- BusinessesController_getFeatured: {
10994
- parameters: {
10995
- query?: {
10996
- /** @description Number of businesses to return */
10997
- limit?: number;
10998
- };
10999
- header?: never;
11000
- path?: never;
11001
- cookie?: never;
11002
- };
11003
- requestBody?: never;
11004
- responses: {
11005
- /** @description List of featured business partners */
11006
- 200: {
11007
- headers: {
11008
- [name: string]: unknown;
11009
- };
11010
- content: {
11011
- "application/json": components["schemas"]["BusinessResponseDto"][];
11012
- };
11013
- };
11014
- };
11015
- };
11016
- BusinessesController_getNearby: {
11017
- parameters: {
11018
- query: {
11019
- /** @description Latitude */
11020
- lat: number;
11021
- /** @description Longitude */
11022
- long: number;
11023
- /** @description Search radius in kilometers */
11024
- radius?: number;
11025
- /** @description Number of businesses to return */
11026
- limit?: number;
11027
- };
11028
- header?: never;
11029
- path?: never;
11030
- cookie?: never;
11031
- };
11032
- requestBody?: never;
11033
- responses: {
11034
- /** @description List of nearby businesses */
11035
- 200: {
11036
- headers: {
11037
- [name: string]: unknown;
11038
- };
11039
- content: {
11040
- "application/json": components["schemas"]["BusinessResponseDto"][];
11041
- };
11042
- };
11043
- /** @description Invalid coordinates */
11044
- 400: {
11045
- headers: {
11046
- [name: string]: unknown;
11047
- };
11048
- content?: never;
11049
- };
11050
- };
11051
- };
11052
- BusinessesController_findByIdOrSlug: {
11053
- parameters: {
11054
- query?: never;
11055
- header?: never;
11056
- path: {
11057
- /** @description Business ID (UUID) or slug */
11058
- idOrSlug: string;
11059
- };
11060
- cookie?: never;
11061
- };
11062
- requestBody?: never;
11063
- responses: {
11064
- /** @description Business details */
11065
- 200: {
11066
- headers: {
11067
- [name: string]: unknown;
11068
- };
11069
- content: {
11070
- "application/json": components["schemas"]["BusinessResponseDto"];
11071
- };
11072
- };
11073
- /** @description Business not found */
11074
- 404: {
11075
- headers: {
11076
- [name: string]: unknown;
11077
- };
11078
- content?: never;
11079
- };
11080
- };
11081
- };
11082
- BusinessesController_getBusinessOffers: {
11083
- parameters: {
11084
- query?: never;
11085
- header?: never;
11086
- path: {
11087
- /** @description Business ID or slug */
11088
- idOrSlug: string;
11089
- };
11090
- cookie?: never;
11091
- };
11092
- requestBody?: never;
11093
- responses: {
11094
- /** @description List of business offers */
11095
- 200: {
11096
- headers: {
11097
- [name: string]: unknown;
11098
- };
11099
- content: {
11100
- "application/json": components["schemas"]["OfferResponseDto"][];
11101
- };
11102
- };
11103
- /** @description Business not found */
11104
- 404: {
11105
- headers: {
11106
- [name: string]: unknown;
11107
- };
11108
- content?: never;
11109
- };
11110
- };
11111
- };
11112
- BusinessesController_getBusinessEvents: {
10677
+ LibraryController_markAsViewed: {
11113
10678
  parameters: {
11114
- query?: {
11115
- /** @description Number of events to return */
11116
- limit?: number;
11117
- };
10679
+ query?: never;
11118
10680
  header?: never;
11119
10681
  path: {
11120
- /** @description Business ID or slug */
11121
- idOrSlug: string;
10682
+ /** @description Content ID */
10683
+ id: string;
11122
10684
  };
11123
10685
  cookie?: never;
11124
10686
  };
11125
10687
  requestBody?: never;
11126
10688
  responses: {
11127
- /** @description List of upcoming events at this venue */
10689
+ /** @description Content marked as viewed */
11128
10690
  200: {
11129
10691
  headers: {
11130
10692
  [name: string]: unknown;
11131
10693
  };
11132
10694
  content: {
11133
- "application/json": components["schemas"]["EventResponseDto"][];
10695
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
10696
+ };
10697
+ };
10698
+ /** @description Premium subscription required */
10699
+ 403: {
10700
+ headers: {
10701
+ [name: string]: unknown;
11134
10702
  };
10703
+ content?: never;
11135
10704
  };
11136
- /** @description Business not found */
10705
+ /** @description Content not found */
11137
10706
  404: {
11138
10707
  headers: {
11139
10708
  [name: string]: unknown;
@@ -11142,51 +10711,72 @@ export interface operations {
11142
10711
  };
11143
10712
  };
11144
10713
  };
11145
- OffersController_findAll: {
10714
+ LibraryController_markAsCompleted: {
11146
10715
  parameters: {
11147
- query?: {
11148
- /** @description Number of offers to return */
11149
- limit?: number;
11150
- };
10716
+ query?: never;
11151
10717
  header?: never;
11152
- path?: never;
10718
+ path: {
10719
+ /** @description Content ID */
10720
+ id: string;
10721
+ };
11153
10722
  cookie?: never;
11154
10723
  };
11155
10724
  requestBody?: never;
11156
10725
  responses: {
11157
- /** @description List of active offers */
10726
+ /** @description Content marked as completed */
11158
10727
  200: {
11159
10728
  headers: {
11160
10729
  [name: string]: unknown;
11161
10730
  };
11162
10731
  content: {
11163
- "application/json": components["schemas"]["OfferResponseDto"][];
10732
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
10733
+ };
10734
+ };
10735
+ /** @description Premium subscription required */
10736
+ 403: {
10737
+ headers: {
10738
+ [name: string]: unknown;
10739
+ };
10740
+ content?: never;
10741
+ };
10742
+ /** @description Content not found */
10743
+ 404: {
10744
+ headers: {
10745
+ [name: string]: unknown;
11164
10746
  };
10747
+ content?: never;
11165
10748
  };
11166
10749
  };
11167
10750
  };
11168
- OffersController_findById: {
10751
+ LibraryController_toggleLike: {
11169
10752
  parameters: {
11170
10753
  query?: never;
11171
10754
  header?: never;
11172
10755
  path: {
11173
- /** @description Offer ID */
10756
+ /** @description Content ID */
11174
10757
  id: string;
11175
10758
  };
11176
10759
  cookie?: never;
11177
10760
  };
11178
10761
  requestBody?: never;
11179
10762
  responses: {
11180
- /** @description Offer details */
10763
+ /** @description Content liked/unliked */
11181
10764
  200: {
11182
10765
  headers: {
11183
10766
  [name: string]: unknown;
11184
10767
  };
11185
10768
  content: {
11186
- "application/json": components["schemas"]["OfferResponseDto"];
10769
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
11187
10770
  };
11188
10771
  };
11189
- /** @description Offer not found */
10772
+ /** @description Premium subscription required */
10773
+ 403: {
10774
+ headers: {
10775
+ [name: string]: unknown;
10776
+ };
10777
+ content?: never;
10778
+ };
10779
+ /** @description Content not found */
11190
10780
  404: {
11191
10781
  headers: {
11192
10782
  [name: string]: unknown;
@@ -11195,44 +10785,35 @@ export interface operations {
11195
10785
  };
11196
10786
  };
11197
10787
  };
11198
- OffersController_redeemOffer: {
10788
+ LibraryController_addBookmark: {
11199
10789
  parameters: {
11200
10790
  query?: never;
11201
10791
  header?: never;
11202
10792
  path: {
11203
- /** @description Offer ID */
10793
+ /** @description Content ID */
11204
10794
  id: string;
11205
10795
  };
11206
10796
  cookie?: never;
11207
10797
  };
11208
- requestBody: {
11209
- content: {
11210
- "application/json": components["schemas"]["RedeemOfferDto"];
11211
- };
11212
- };
10798
+ requestBody?: never;
11213
10799
  responses: {
11214
- /** @description Offer redeemed successfully */
11215
- 201: {
10800
+ /** @description Content bookmarked */
10801
+ 200: {
11216
10802
  headers: {
11217
10803
  [name: string]: unknown;
11218
10804
  };
11219
- content?: never;
11220
- };
11221
- /** @description Offer expired, limit reached, or invalid */
11222
- 400: {
11223
- headers: {
11224
- [name: string]: unknown;
10805
+ content: {
10806
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
11225
10807
  };
11226
- content?: never;
11227
10808
  };
11228
- /** @description Premium membership required */
10809
+ /** @description Premium subscription required */
11229
10810
  403: {
11230
10811
  headers: {
11231
10812
  [name: string]: unknown;
11232
10813
  };
11233
10814
  content?: never;
11234
10815
  };
11235
- /** @description Offer not found */
10816
+ /** @description Content not found */
11236
10817
  404: {
11237
10818
  headers: {
11238
10819
  [name: string]: unknown;
@@ -11241,20 +10822,29 @@ export interface operations {
11241
10822
  };
11242
10823
  };
11243
10824
  };
11244
- OffersController_checkCanRedeem: {
10825
+ LibraryController_removeBookmark: {
11245
10826
  parameters: {
11246
10827
  query?: never;
11247
10828
  header?: never;
11248
10829
  path: {
11249
- /** @description Offer ID */
10830
+ /** @description Content ID */
11250
10831
  id: string;
11251
10832
  };
11252
10833
  cookie?: never;
11253
10834
  };
11254
10835
  requestBody?: never;
11255
10836
  responses: {
11256
- /** @description Redemption eligibility status */
10837
+ /** @description Bookmark removed */
11257
10838
  200: {
10839
+ headers: {
10840
+ [name: string]: unknown;
10841
+ };
10842
+ content: {
10843
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
10844
+ };
10845
+ };
10846
+ /** @description Content not found */
10847
+ 404: {
11258
10848
  headers: {
11259
10849
  [name: string]: unknown;
11260
10850
  };
@@ -12326,12 +11916,12 @@ export interface operations {
12326
11916
  };
12327
11917
  };
12328
11918
  };
12329
- PartnerRewardsController_getRewardsForBusiness: {
11919
+ PartnerRewardsController_getRewardsForVenue: {
12330
11920
  parameters: {
12331
11921
  query?: never;
12332
11922
  header?: never;
12333
11923
  path: {
12334
- businessId: string;
11924
+ venueId: string;
12335
11925
  };
12336
11926
  cookie?: never;
12337
11927
  };
@@ -12415,12 +12005,12 @@ export interface operations {
12415
12005
  };
12416
12006
  };
12417
12007
  };
12418
- BusinessRewardsController_getBusinessRewards: {
12008
+ PartnerVenueRewardsController_getVenueRewards: {
12419
12009
  parameters: {
12420
12010
  query?: never;
12421
12011
  header?: never;
12422
12012
  path: {
12423
- businessId: string;
12013
+ venueId: string;
12424
12014
  };
12425
12015
  cookie?: never;
12426
12016
  };
@@ -12434,12 +12024,12 @@ export interface operations {
12434
12024
  };
12435
12025
  };
12436
12026
  };
12437
- BusinessRewardsController_createReward: {
12027
+ PartnerVenueRewardsController_createReward: {
12438
12028
  parameters: {
12439
12029
  query?: never;
12440
12030
  header?: never;
12441
12031
  path: {
12442
- businessId: string;
12032
+ venueId: string;
12443
12033
  };
12444
12034
  cookie?: never;
12445
12035
  };
@@ -12453,12 +12043,12 @@ export interface operations {
12453
12043
  };
12454
12044
  };
12455
12045
  };
12456
- BusinessRewardsController_updateReward: {
12046
+ PartnerVenueRewardsController_updateReward: {
12457
12047
  parameters: {
12458
12048
  query?: never;
12459
12049
  header?: never;
12460
12050
  path: {
12461
- businessId: string;
12051
+ venueId: string;
12462
12052
  rewardId: string;
12463
12053
  };
12464
12054
  cookie?: never;
@@ -12866,74 +12456,209 @@ export interface operations {
12866
12456
  };
12867
12457
  requestBody?: never;
12868
12458
  responses: {
12869
- /** @description List of creator rewards */
12459
+ /** @description List of creator rewards */
12460
+ 200: {
12461
+ headers: {
12462
+ [name: string]: unknown;
12463
+ };
12464
+ content: {
12465
+ "application/json": components["schemas"]["RewardResponseDto"][];
12466
+ };
12467
+ };
12468
+ };
12469
+ };
12470
+ CreatorRewardsController_createReward: {
12471
+ parameters: {
12472
+ query?: never;
12473
+ header?: never;
12474
+ path: {
12475
+ /** @description Creator ID */
12476
+ creatorId: string;
12477
+ };
12478
+ cookie?: never;
12479
+ };
12480
+ requestBody: {
12481
+ content: {
12482
+ "application/json": components["schemas"]["CreateRewardDto"];
12483
+ };
12484
+ };
12485
+ responses: {
12486
+ /** @description Reward created */
12487
+ 201: {
12488
+ headers: {
12489
+ [name: string]: unknown;
12490
+ };
12491
+ content: {
12492
+ "application/json": components["schemas"]["RewardResponseDto"];
12493
+ };
12494
+ };
12495
+ /** @description Not authorized */
12496
+ 403: {
12497
+ headers: {
12498
+ [name: string]: unknown;
12499
+ };
12500
+ content?: never;
12501
+ };
12502
+ };
12503
+ };
12504
+ CreatorRewardsController_deleteReward: {
12505
+ parameters: {
12506
+ query?: never;
12507
+ header?: never;
12508
+ path: {
12509
+ /** @description Reward ID */
12510
+ rewardId: string;
12511
+ /** @description Creator ID */
12512
+ creatorId: unknown;
12513
+ };
12514
+ cookie?: never;
12515
+ };
12516
+ requestBody?: never;
12517
+ responses: {
12518
+ /** @description Reward deleted */
12519
+ 200: {
12520
+ headers: {
12521
+ [name: string]: unknown;
12522
+ };
12523
+ content?: never;
12524
+ };
12525
+ /** @description Not authorized */
12526
+ 403: {
12527
+ headers: {
12528
+ [name: string]: unknown;
12529
+ };
12530
+ content?: never;
12531
+ };
12532
+ };
12533
+ };
12534
+ CreatorRewardsController_updateReward: {
12535
+ parameters: {
12536
+ query?: never;
12537
+ header?: never;
12538
+ path: {
12539
+ /** @description Reward ID */
12540
+ rewardId: string;
12541
+ /** @description Creator ID */
12542
+ creatorId: unknown;
12543
+ };
12544
+ cookie?: never;
12545
+ };
12546
+ requestBody: {
12547
+ content: {
12548
+ "application/json": components["schemas"]["UpdateRewardDto"];
12549
+ };
12550
+ };
12551
+ responses: {
12552
+ /** @description Reward updated */
12553
+ 200: {
12554
+ headers: {
12555
+ [name: string]: unknown;
12556
+ };
12557
+ content: {
12558
+ "application/json": components["schemas"]["RewardResponseDto"];
12559
+ };
12560
+ };
12561
+ /** @description Not authorized */
12562
+ 403: {
12563
+ headers: {
12564
+ [name: string]: unknown;
12565
+ };
12566
+ content?: never;
12567
+ };
12568
+ };
12569
+ };
12570
+ OffersController_findAll: {
12571
+ parameters: {
12572
+ query?: {
12573
+ /** @description Number of offers to return */
12574
+ limit?: number;
12575
+ };
12576
+ header?: never;
12577
+ path?: never;
12578
+ cookie?: never;
12579
+ };
12580
+ requestBody?: never;
12581
+ responses: {
12582
+ /** @description List of active offers */
12583
+ 200: {
12584
+ headers: {
12585
+ [name: string]: unknown;
12586
+ };
12587
+ content: {
12588
+ "application/json": components["schemas"]["OfferResponseDto"][];
12589
+ };
12590
+ };
12591
+ };
12592
+ };
12593
+ OffersController_findById: {
12594
+ parameters: {
12595
+ query?: never;
12596
+ header?: never;
12597
+ path: {
12598
+ /** @description Offer ID */
12599
+ id: string;
12600
+ };
12601
+ cookie?: never;
12602
+ };
12603
+ requestBody?: never;
12604
+ responses: {
12605
+ /** @description Offer details */
12870
12606
  200: {
12871
12607
  headers: {
12872
12608
  [name: string]: unknown;
12873
12609
  };
12874
12610
  content: {
12875
- "application/json": components["schemas"]["RewardResponseDto"][];
12611
+ "application/json": components["schemas"]["OfferResponseDto"];
12612
+ };
12613
+ };
12614
+ /** @description Offer not found */
12615
+ 404: {
12616
+ headers: {
12617
+ [name: string]: unknown;
12876
12618
  };
12619
+ content?: never;
12877
12620
  };
12878
12621
  };
12879
12622
  };
12880
- CreatorRewardsController_createReward: {
12623
+ OffersController_redeemOffer: {
12881
12624
  parameters: {
12882
12625
  query?: never;
12883
12626
  header?: never;
12884
12627
  path: {
12885
- /** @description Creator ID */
12886
- creatorId: string;
12628
+ /** @description Offer ID */
12629
+ id: string;
12887
12630
  };
12888
12631
  cookie?: never;
12889
12632
  };
12890
12633
  requestBody: {
12891
12634
  content: {
12892
- "application/json": components["schemas"]["CreateRewardDto"];
12635
+ "application/json": components["schemas"]["RedeemOfferDto"];
12893
12636
  };
12894
12637
  };
12895
12638
  responses: {
12896
- /** @description Reward created */
12639
+ /** @description Offer redeemed successfully */
12897
12640
  201: {
12898
12641
  headers: {
12899
12642
  [name: string]: unknown;
12900
12643
  };
12901
- content: {
12902
- "application/json": components["schemas"]["RewardResponseDto"];
12903
- };
12644
+ content?: never;
12904
12645
  };
12905
- /** @description Not authorized */
12906
- 403: {
12646
+ /** @description Offer expired, limit reached, or invalid */
12647
+ 400: {
12907
12648
  headers: {
12908
12649
  [name: string]: unknown;
12909
12650
  };
12910
12651
  content?: never;
12911
12652
  };
12912
- };
12913
- };
12914
- CreatorRewardsController_deleteReward: {
12915
- parameters: {
12916
- query?: never;
12917
- header?: never;
12918
- path: {
12919
- /** @description Reward ID */
12920
- rewardId: string;
12921
- /** @description Creator ID */
12922
- creatorId: unknown;
12923
- };
12924
- cookie?: never;
12925
- };
12926
- requestBody?: never;
12927
- responses: {
12928
- /** @description Reward deleted */
12929
- 200: {
12653
+ /** @description Premium membership required */
12654
+ 403: {
12930
12655
  headers: {
12931
12656
  [name: string]: unknown;
12932
12657
  };
12933
12658
  content?: never;
12934
12659
  };
12935
- /** @description Not authorized */
12936
- 403: {
12660
+ /** @description Offer not found */
12661
+ 404: {
12937
12662
  headers: {
12938
12663
  [name: string]: unknown;
12939
12664
  };
@@ -12941,35 +12666,20 @@ export interface operations {
12941
12666
  };
12942
12667
  };
12943
12668
  };
12944
- CreatorRewardsController_updateReward: {
12669
+ OffersController_checkCanRedeem: {
12945
12670
  parameters: {
12946
12671
  query?: never;
12947
12672
  header?: never;
12948
12673
  path: {
12949
- /** @description Reward ID */
12950
- rewardId: string;
12951
- /** @description Creator ID */
12952
- creatorId: unknown;
12674
+ /** @description Offer ID */
12675
+ id: string;
12953
12676
  };
12954
12677
  cookie?: never;
12955
12678
  };
12956
- requestBody: {
12957
- content: {
12958
- "application/json": components["schemas"]["UpdateRewardDto"];
12959
- };
12960
- };
12679
+ requestBody?: never;
12961
12680
  responses: {
12962
- /** @description Reward updated */
12681
+ /** @description Redemption eligibility status */
12963
12682
  200: {
12964
- headers: {
12965
- [name: string]: unknown;
12966
- };
12967
- content: {
12968
- "application/json": components["schemas"]["RewardResponseDto"];
12969
- };
12970
- };
12971
- /** @description Not authorized */
12972
- 403: {
12973
12683
  headers: {
12974
12684
  [name: string]: unknown;
12975
12685
  };
@@ -13955,6 +13665,7 @@ export interface operations {
13955
13665
  hasAfDrinks?: boolean;
13956
13666
  isAfVenue?: boolean;
13957
13667
  isFeatured?: boolean;
13668
+ isFoundingPartner?: boolean;
13958
13669
  lat?: number;
13959
13670
  long?: number;
13960
13671
  radius?: number;
@@ -14000,36 +13711,6 @@ export interface operations {
14000
13711
  };
14001
13712
  };
14002
13713
  };
14003
- VenuesController_findById: {
14004
- parameters: {
14005
- query?: never;
14006
- header?: never;
14007
- path: {
14008
- /** @description Venue ID */
14009
- id: string;
14010
- };
14011
- cookie?: never;
14012
- };
14013
- requestBody?: never;
14014
- responses: {
14015
- /** @description Venue details */
14016
- 200: {
14017
- headers: {
14018
- [name: string]: unknown;
14019
- };
14020
- content: {
14021
- "application/json": components["schemas"]["VenueResponseDto"];
14022
- };
14023
- };
14024
- /** @description Venue not found */
14025
- 404: {
14026
- headers: {
14027
- [name: string]: unknown;
14028
- };
14029
- content?: never;
14030
- };
14031
- };
14032
- };
14033
13714
  VenuesController_update: {
14034
13715
  parameters: {
14035
13716
  query?: never;
@@ -14139,6 +13820,36 @@ export interface operations {
14139
13820
  };
14140
13821
  };
14141
13822
  };
13823
+ VenuesController_findByIdOrSlug: {
13824
+ parameters: {
13825
+ query?: never;
13826
+ header?: never;
13827
+ path: {
13828
+ /** @description Venue ID (UUID) or slug */
13829
+ idOrSlug: string;
13830
+ };
13831
+ cookie?: never;
13832
+ };
13833
+ requestBody?: never;
13834
+ responses: {
13835
+ /** @description Venue details */
13836
+ 200: {
13837
+ headers: {
13838
+ [name: string]: unknown;
13839
+ };
13840
+ content: {
13841
+ "application/json": components["schemas"]["VenueResponseDto"];
13842
+ };
13843
+ };
13844
+ /** @description Venue not found */
13845
+ 404: {
13846
+ headers: {
13847
+ [name: string]: unknown;
13848
+ };
13849
+ content?: never;
13850
+ };
13851
+ };
13852
+ };
14142
13853
  VenuesController_getOwners: {
14143
13854
  parameters: {
14144
13855
  query?: never;
@@ -14233,8 +13944,8 @@ export interface operations {
14233
13944
  };
14234
13945
  header?: never;
14235
13946
  path: {
14236
- /** @description Venue ID */
14237
- id: string;
13947
+ /** @description Venue ID or slug */
13948
+ idOrSlug: string;
14238
13949
  };
14239
13950
  cookie?: never;
14240
13951
  };
@@ -14251,6 +13962,29 @@ export interface operations {
14251
13962
  };
14252
13963
  };
14253
13964
  };
13965
+ VenuesController_getVenueOffers: {
13966
+ parameters: {
13967
+ query?: never;
13968
+ header?: never;
13969
+ path: {
13970
+ /** @description Venue ID or slug */
13971
+ idOrSlug: string;
13972
+ };
13973
+ cookie?: never;
13974
+ };
13975
+ requestBody?: never;
13976
+ responses: {
13977
+ /** @description List of active offers */
13978
+ 200: {
13979
+ headers: {
13980
+ [name: string]: unknown;
13981
+ };
13982
+ content: {
13983
+ "application/json": components["schemas"]["OfferResponseDto"][];
13984
+ };
13985
+ };
13986
+ };
13987
+ };
14254
13988
  CreatorsController_findAll: {
14255
13989
  parameters: {
14256
13990
  query?: {
@@ -15627,116 +15361,6 @@ export interface operations {
15627
15361
  };
15628
15362
  };
15629
15363
  };
15630
- AdminBusinessesController_findAll: {
15631
- parameters: {
15632
- query: {
15633
- page: number;
15634
- limit: number;
15635
- };
15636
- header?: never;
15637
- path?: never;
15638
- cookie?: never;
15639
- };
15640
- requestBody?: never;
15641
- responses: {
15642
- /** @description List of businesses */
15643
- 200: {
15644
- headers: {
15645
- [name: string]: unknown;
15646
- };
15647
- content?: never;
15648
- };
15649
- };
15650
- };
15651
- AdminBusinessesController_create: {
15652
- parameters: {
15653
- query?: never;
15654
- header?: never;
15655
- path?: never;
15656
- cookie?: never;
15657
- };
15658
- requestBody: {
15659
- content: {
15660
- "application/json": components["schemas"]["AdminCreateBusinessDto"];
15661
- };
15662
- };
15663
- responses: {
15664
- /** @description Business created */
15665
- 201: {
15666
- headers: {
15667
- [name: string]: unknown;
15668
- };
15669
- content?: never;
15670
- };
15671
- };
15672
- };
15673
- AdminBusinessesController_update: {
15674
- parameters: {
15675
- query?: never;
15676
- header?: never;
15677
- path: {
15678
- /** @description Business ID */
15679
- id: string;
15680
- };
15681
- cookie?: never;
15682
- };
15683
- requestBody: {
15684
- content: {
15685
- "application/json": components["schemas"]["AdminCreateBusinessDto"];
15686
- };
15687
- };
15688
- responses: {
15689
- /** @description Business updated */
15690
- 200: {
15691
- headers: {
15692
- [name: string]: unknown;
15693
- };
15694
- content?: never;
15695
- };
15696
- };
15697
- };
15698
- AdminBusinessesController_delete: {
15699
- parameters: {
15700
- query?: never;
15701
- header?: never;
15702
- path: {
15703
- /** @description Business ID */
15704
- id: string;
15705
- };
15706
- cookie?: never;
15707
- };
15708
- requestBody?: never;
15709
- responses: {
15710
- /** @description Business deleted */
15711
- 204: {
15712
- headers: {
15713
- [name: string]: unknown;
15714
- };
15715
- content?: never;
15716
- };
15717
- };
15718
- };
15719
- AdminBusinessesController_createOffer: {
15720
- parameters: {
15721
- query?: never;
15722
- header?: never;
15723
- path: {
15724
- /** @description Business ID */
15725
- id: string;
15726
- };
15727
- cookie?: never;
15728
- };
15729
- requestBody?: never;
15730
- responses: {
15731
- /** @description Offer created */
15732
- 201: {
15733
- headers: {
15734
- [name: string]: unknown;
15735
- };
15736
- content?: never;
15737
- };
15738
- };
15739
- };
15740
15364
  AdminAnalyticsController_getOverview: {
15741
15365
  parameters: {
15742
15366
  query?: never;
@@ -18093,7 +17717,7 @@ export interface operations {
18093
17717
  };
18094
17718
  };
18095
17719
  };
18096
- MapController_getMapBusinesses: {
17720
+ MapController_getMapVenues: {
18097
17721
  parameters: {
18098
17722
  query?: {
18099
17723
  /** @description Center latitude for search */
@@ -18115,7 +17739,7 @@ export interface operations {
18115
17739
  };
18116
17740
  requestBody?: never;
18117
17741
  responses: {
18118
- /** @description List of businesses on map */
17742
+ /** @description List of venues on map */
18119
17743
  200: {
18120
17744
  headers: {
18121
17745
  [name: string]: unknown;
@@ -18684,9 +18308,9 @@ export interface operations {
18684
18308
  type?: "SESSION_1ON1" | "SESSION_GROUP" | "PACKAGE" | "WORKSHOP" | "CONSULTATION";
18685
18309
  deliveryMethod?: "VIDEO_CALL" | "PHONE_CALL" | "IN_PERSON" | "HYBRID";
18686
18310
  isActive?: boolean;
18687
- /** @description Minimum price in pence */
18311
+ /** @description Minimum price in cents */
18688
18312
  minPrice?: number;
18689
- /** @description Maximum price in pence */
18313
+ /** @description Maximum price in cents */
18690
18314
  maxPrice?: number;
18691
18315
  };
18692
18316
  header?: never;
@@ -18754,9 +18378,9 @@ export interface operations {
18754
18378
  type?: "SESSION_1ON1" | "SESSION_GROUP" | "PACKAGE" | "WORKSHOP" | "CONSULTATION";
18755
18379
  deliveryMethod?: "VIDEO_CALL" | "PHONE_CALL" | "IN_PERSON" | "HYBRID";
18756
18380
  isActive?: boolean;
18757
- /** @description Minimum price in pence */
18381
+ /** @description Minimum price in cents */
18758
18382
  minPrice?: number;
18759
- /** @description Maximum price in pence */
18383
+ /** @description Maximum price in cents */
18760
18384
  maxPrice?: number;
18761
18385
  };
18762
18386
  header?: never;