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