@mac777/project-pinecone-models 1.0.0

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.
@@ -0,0 +1,790 @@
1
+ import mongoose from 'mongoose';
2
+ declare const eventSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
3
+ type: "other" | "concert" | "sports" | "conference" | "festival" | "theater" | "comedy" | "networking" | "workshop";
4
+ createdAt: NativeDate;
5
+ updatedAt: NativeDate;
6
+ status: "approved" | "rejected" | "draft" | "pending_approval" | "published" | "live" | "ended" | "cancelled";
7
+ visibility: "public" | "private" | "unlisted";
8
+ hostId: mongoose.Types.ObjectId;
9
+ title: string;
10
+ categories: string[];
11
+ highlights: string[];
12
+ languages: string[];
13
+ tickets: mongoose.Types.DocumentArray<{
14
+ name: string;
15
+ status: "active" | "sold_out" | "inactive";
16
+ quantity: number;
17
+ sold: number;
18
+ remaining: number;
19
+ visibility: "hidden" | "public" | "invite_only";
20
+ reserved: number;
21
+ benefits: string[];
22
+ description?: string | null | undefined;
23
+ price?: {
24
+ amount: number;
25
+ currency: string;
26
+ } | null | undefined;
27
+ salesWindow?: {
28
+ startDate?: NativeDate | null | undefined;
29
+ endDate?: NativeDate | null | undefined;
30
+ } | null | undefined;
31
+ limits?: {
32
+ minPerOrder: number;
33
+ maxPerOrder: number;
34
+ } | null | undefined;
35
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
36
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
37
+ name: string;
38
+ status: "active" | "sold_out" | "inactive";
39
+ quantity: number;
40
+ sold: number;
41
+ remaining: number;
42
+ visibility: "hidden" | "public" | "invite_only";
43
+ reserved: number;
44
+ benefits: string[];
45
+ description?: string | null | undefined;
46
+ price?: {
47
+ amount: number;
48
+ currency: string;
49
+ } | null | undefined;
50
+ salesWindow?: {
51
+ startDate?: NativeDate | null | undefined;
52
+ endDate?: NativeDate | null | undefined;
53
+ } | null | undefined;
54
+ limits?: {
55
+ minPerOrder: number;
56
+ maxPerOrder: number;
57
+ } | null | undefined;
58
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
59
+ }> & {
60
+ name: string;
61
+ status: "active" | "sold_out" | "inactive";
62
+ quantity: number;
63
+ sold: number;
64
+ remaining: number;
65
+ visibility: "hidden" | "public" | "invite_only";
66
+ reserved: number;
67
+ benefits: string[];
68
+ description?: string | null | undefined;
69
+ price?: {
70
+ amount: number;
71
+ currency: string;
72
+ } | null | undefined;
73
+ salesWindow?: {
74
+ startDate?: NativeDate | null | undefined;
75
+ endDate?: NativeDate | null | undefined;
76
+ } | null | undefined;
77
+ limits?: {
78
+ minPerOrder: number;
79
+ maxPerOrder: number;
80
+ } | null | undefined;
81
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
82
+ }>;
83
+ termsAccepted: boolean;
84
+ legalPermissionAccepted: boolean;
85
+ platformTermsAccepted: boolean;
86
+ history: mongoose.Types.DocumentArray<{
87
+ timestamp: NativeDate;
88
+ action?: string | null | undefined;
89
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
90
+ changes?: any;
91
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
92
+ timestamp: NativeDate;
93
+ action?: string | null | undefined;
94
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
95
+ changes?: any;
96
+ }> & {
97
+ timestamp: NativeDate;
98
+ action?: string | null | undefined;
99
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
100
+ changes?: any;
101
+ }>;
102
+ description?: string | null | undefined;
103
+ rejectionReason?: string | null | undefined;
104
+ slug?: string | null | undefined;
105
+ dressCode?: string | null | undefined;
106
+ media?: {
107
+ gallery: mongoose.Types.DocumentArray<{
108
+ url?: string | null | undefined;
109
+ caption?: string | null | undefined;
110
+ order?: number | null | undefined;
111
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
112
+ url?: string | null | undefined;
113
+ caption?: string | null | undefined;
114
+ order?: number | null | undefined;
115
+ }> & {
116
+ url?: string | null | undefined;
117
+ caption?: string | null | undefined;
118
+ order?: number | null | undefined;
119
+ }>;
120
+ coverImage?: {
121
+ url?: string | null | undefined;
122
+ thumbnailUrl?: string | null | undefined;
123
+ alt?: string | null | undefined;
124
+ } | null | undefined;
125
+ } | null | undefined;
126
+ schedule?: {
127
+ startDate: NativeDate;
128
+ endDate: NativeDate;
129
+ timezone?: string | null | undefined;
130
+ isMultiDay?: boolean | null | undefined;
131
+ doors?: string | null | undefined;
132
+ } | null | undefined;
133
+ venue?: {
134
+ name: string;
135
+ capacity: number;
136
+ type?: "indoor" | "outdoor" | "hybrid" | null | undefined;
137
+ address?: {
138
+ city: string;
139
+ country: string;
140
+ street?: string | null | undefined;
141
+ state?: string | null | undefined;
142
+ postalCode?: string | null | undefined;
143
+ } | null | undefined;
144
+ parking?: boolean | null | undefined;
145
+ publicTransit?: string | null | undefined;
146
+ coordinates?: {
147
+ type: "Point";
148
+ coordinates: number[];
149
+ } | null | undefined;
150
+ } | null | undefined;
151
+ organizer?: {
152
+ companyName?: string | null | undefined;
153
+ contactPerson?: {
154
+ name: string;
155
+ phone: string;
156
+ email: string;
157
+ designation?: string | null | undefined;
158
+ } | null | undefined;
159
+ role?: "event_organizer" | "venue_owner" | "authorized_rep" | "artist" | null | undefined;
160
+ } | null | undefined;
161
+ verification?: {
162
+ status: "pending" | "rejected" | "unverified" | "verified" | "needs_info";
163
+ documents: mongoose.Types.DocumentArray<{
164
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
165
+ url?: string | null | undefined;
166
+ filename?: string | null | undefined;
167
+ objectKey?: string | null | undefined;
168
+ uploadedAt?: NativeDate | null | undefined;
169
+ rejectionReason?: string | null | undefined;
170
+ status?: "pending" | "approved" | "rejected" | null | undefined;
171
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
172
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
173
+ url?: string | null | undefined;
174
+ filename?: string | null | undefined;
175
+ objectKey?: string | null | undefined;
176
+ uploadedAt?: NativeDate | null | undefined;
177
+ rejectionReason?: string | null | undefined;
178
+ status?: "pending" | "approved" | "rejected" | null | undefined;
179
+ }> & {
180
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
181
+ url?: string | null | undefined;
182
+ filename?: string | null | undefined;
183
+ objectKey?: string | null | undefined;
184
+ uploadedAt?: NativeDate | null | undefined;
185
+ rejectionReason?: string | null | undefined;
186
+ status?: "pending" | "approved" | "rejected" | null | undefined;
187
+ }>;
188
+ rejectionReason?: string | null | undefined;
189
+ additionalInfo?: string | null | undefined;
190
+ adminNotes?: string | null | undefined;
191
+ reviewedBy?: mongoose.Types.ObjectId | null | undefined;
192
+ reviewedAt?: NativeDate | null | undefined;
193
+ requestedInfo?: string | null | undefined;
194
+ } | null | undefined;
195
+ publishedAt?: NativeDate | null | undefined;
196
+ metrics?: {
197
+ views: number;
198
+ ticketsSold: number;
199
+ revenue: number;
200
+ checkIns: number;
201
+ reviewCount: number;
202
+ averageRating?: number | null | undefined;
203
+ } | null | undefined;
204
+ pricing?: {
205
+ platformFee: number;
206
+ currency?: string | null | undefined;
207
+ paymentProcessingFee?: number | null | undefined;
208
+ } | null | undefined;
209
+ payout?: {
210
+ status?: "pending" | "scheduled" | "completed" | null | undefined;
211
+ amount?: number | null | undefined;
212
+ scheduledDate?: NativeDate | null | undefined;
213
+ paidAt?: NativeDate | null | undefined;
214
+ stripePayoutId?: string | null | undefined;
215
+ } | null | undefined;
216
+ policies?: {
217
+ transferable: boolean;
218
+ cancellation?: {
219
+ allowed: boolean;
220
+ refundPercentage: number;
221
+ deadlineHours?: number | null | undefined;
222
+ } | null | undefined;
223
+ } | null | undefined;
224
+ moderation?: {
225
+ flags: mongoose.Types.DocumentArray<{
226
+ createdAt: NativeDate;
227
+ status: "pending" | "resolved" | "dismissed";
228
+ description?: string | null | undefined;
229
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
230
+ reason?: string | null | undefined;
231
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
232
+ createdAt: NativeDate;
233
+ status: "pending" | "resolved" | "dismissed";
234
+ description?: string | null | undefined;
235
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
236
+ reason?: string | null | undefined;
237
+ }> & {
238
+ createdAt: NativeDate;
239
+ status: "pending" | "resolved" | "dismissed";
240
+ description?: string | null | undefined;
241
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
242
+ reason?: string | null | undefined;
243
+ }>;
244
+ isFlagged: boolean;
245
+ suspendedUntil?: NativeDate | null | undefined;
246
+ banReason?: string | null | undefined;
247
+ } | null | undefined;
248
+ seo?: {
249
+ keywords: string[];
250
+ metaTitle?: string | null | undefined;
251
+ metaDescription?: string | null | undefined;
252
+ ogImage?: string | null | undefined;
253
+ } | null | undefined;
254
+ features?: {
255
+ isFeatured: boolean;
256
+ isPremium: boolean;
257
+ badges: string[];
258
+ } | null | undefined;
259
+ submittedAt?: NativeDate | null | undefined;
260
+ deletedAt?: NativeDate | null | undefined;
261
+ tagline?: string | null | undefined;
262
+ ageRestriction?: "all_ages" | "18+" | "21+" | null | undefined;
263
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
264
+ type: "other" | "concert" | "sports" | "conference" | "festival" | "theater" | "comedy" | "networking" | "workshop";
265
+ createdAt: NativeDate;
266
+ updatedAt: NativeDate;
267
+ status: "approved" | "rejected" | "draft" | "pending_approval" | "published" | "live" | "ended" | "cancelled";
268
+ visibility: "public" | "private" | "unlisted";
269
+ hostId: mongoose.Types.ObjectId;
270
+ title: string;
271
+ categories: string[];
272
+ highlights: string[];
273
+ languages: string[];
274
+ tickets: mongoose.Types.DocumentArray<{
275
+ name: string;
276
+ status: "active" | "sold_out" | "inactive";
277
+ quantity: number;
278
+ sold: number;
279
+ remaining: number;
280
+ visibility: "hidden" | "public" | "invite_only";
281
+ reserved: number;
282
+ benefits: string[];
283
+ description?: string | null | undefined;
284
+ price?: {
285
+ amount: number;
286
+ currency: string;
287
+ } | null | undefined;
288
+ salesWindow?: {
289
+ startDate?: NativeDate | null | undefined;
290
+ endDate?: NativeDate | null | undefined;
291
+ } | null | undefined;
292
+ limits?: {
293
+ minPerOrder: number;
294
+ maxPerOrder: number;
295
+ } | null | undefined;
296
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
297
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
298
+ name: string;
299
+ status: "active" | "sold_out" | "inactive";
300
+ quantity: number;
301
+ sold: number;
302
+ remaining: number;
303
+ visibility: "hidden" | "public" | "invite_only";
304
+ reserved: number;
305
+ benefits: string[];
306
+ description?: string | null | undefined;
307
+ price?: {
308
+ amount: number;
309
+ currency: string;
310
+ } | null | undefined;
311
+ salesWindow?: {
312
+ startDate?: NativeDate | null | undefined;
313
+ endDate?: NativeDate | null | undefined;
314
+ } | null | undefined;
315
+ limits?: {
316
+ minPerOrder: number;
317
+ maxPerOrder: number;
318
+ } | null | undefined;
319
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
320
+ }> & {
321
+ name: string;
322
+ status: "active" | "sold_out" | "inactive";
323
+ quantity: number;
324
+ sold: number;
325
+ remaining: number;
326
+ visibility: "hidden" | "public" | "invite_only";
327
+ reserved: number;
328
+ benefits: string[];
329
+ description?: string | null | undefined;
330
+ price?: {
331
+ amount: number;
332
+ currency: string;
333
+ } | null | undefined;
334
+ salesWindow?: {
335
+ startDate?: NativeDate | null | undefined;
336
+ endDate?: NativeDate | null | undefined;
337
+ } | null | undefined;
338
+ limits?: {
339
+ minPerOrder: number;
340
+ maxPerOrder: number;
341
+ } | null | undefined;
342
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
343
+ }>;
344
+ termsAccepted: boolean;
345
+ legalPermissionAccepted: boolean;
346
+ platformTermsAccepted: boolean;
347
+ history: mongoose.Types.DocumentArray<{
348
+ timestamp: NativeDate;
349
+ action?: string | null | undefined;
350
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
351
+ changes?: any;
352
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
353
+ timestamp: NativeDate;
354
+ action?: string | null | undefined;
355
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
356
+ changes?: any;
357
+ }> & {
358
+ timestamp: NativeDate;
359
+ action?: string | null | undefined;
360
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
361
+ changes?: any;
362
+ }>;
363
+ description?: string | null | undefined;
364
+ rejectionReason?: string | null | undefined;
365
+ slug?: string | null | undefined;
366
+ dressCode?: string | null | undefined;
367
+ media?: {
368
+ gallery: mongoose.Types.DocumentArray<{
369
+ url?: string | null | undefined;
370
+ caption?: string | null | undefined;
371
+ order?: number | null | undefined;
372
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
373
+ url?: string | null | undefined;
374
+ caption?: string | null | undefined;
375
+ order?: number | null | undefined;
376
+ }> & {
377
+ url?: string | null | undefined;
378
+ caption?: string | null | undefined;
379
+ order?: number | null | undefined;
380
+ }>;
381
+ coverImage?: {
382
+ url?: string | null | undefined;
383
+ thumbnailUrl?: string | null | undefined;
384
+ alt?: string | null | undefined;
385
+ } | null | undefined;
386
+ } | null | undefined;
387
+ schedule?: {
388
+ startDate: NativeDate;
389
+ endDate: NativeDate;
390
+ timezone?: string | null | undefined;
391
+ isMultiDay?: boolean | null | undefined;
392
+ doors?: string | null | undefined;
393
+ } | null | undefined;
394
+ venue?: {
395
+ name: string;
396
+ capacity: number;
397
+ type?: "indoor" | "outdoor" | "hybrid" | null | undefined;
398
+ address?: {
399
+ city: string;
400
+ country: string;
401
+ street?: string | null | undefined;
402
+ state?: string | null | undefined;
403
+ postalCode?: string | null | undefined;
404
+ } | null | undefined;
405
+ parking?: boolean | null | undefined;
406
+ publicTransit?: string | null | undefined;
407
+ coordinates?: {
408
+ type: "Point";
409
+ coordinates: number[];
410
+ } | null | undefined;
411
+ } | null | undefined;
412
+ organizer?: {
413
+ companyName?: string | null | undefined;
414
+ contactPerson?: {
415
+ name: string;
416
+ phone: string;
417
+ email: string;
418
+ designation?: string | null | undefined;
419
+ } | null | undefined;
420
+ role?: "event_organizer" | "venue_owner" | "authorized_rep" | "artist" | null | undefined;
421
+ } | null | undefined;
422
+ verification?: {
423
+ status: "pending" | "rejected" | "unverified" | "verified" | "needs_info";
424
+ documents: mongoose.Types.DocumentArray<{
425
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
426
+ url?: string | null | undefined;
427
+ filename?: string | null | undefined;
428
+ objectKey?: string | null | undefined;
429
+ uploadedAt?: NativeDate | null | undefined;
430
+ rejectionReason?: string | null | undefined;
431
+ status?: "pending" | "approved" | "rejected" | null | undefined;
432
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
433
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
434
+ url?: string | null | undefined;
435
+ filename?: string | null | undefined;
436
+ objectKey?: string | null | undefined;
437
+ uploadedAt?: NativeDate | null | undefined;
438
+ rejectionReason?: string | null | undefined;
439
+ status?: "pending" | "approved" | "rejected" | null | undefined;
440
+ }> & {
441
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
442
+ url?: string | null | undefined;
443
+ filename?: string | null | undefined;
444
+ objectKey?: string | null | undefined;
445
+ uploadedAt?: NativeDate | null | undefined;
446
+ rejectionReason?: string | null | undefined;
447
+ status?: "pending" | "approved" | "rejected" | null | undefined;
448
+ }>;
449
+ rejectionReason?: string | null | undefined;
450
+ additionalInfo?: string | null | undefined;
451
+ adminNotes?: string | null | undefined;
452
+ reviewedBy?: mongoose.Types.ObjectId | null | undefined;
453
+ reviewedAt?: NativeDate | null | undefined;
454
+ requestedInfo?: string | null | undefined;
455
+ } | null | undefined;
456
+ publishedAt?: NativeDate | null | undefined;
457
+ metrics?: {
458
+ views: number;
459
+ ticketsSold: number;
460
+ revenue: number;
461
+ checkIns: number;
462
+ reviewCount: number;
463
+ averageRating?: number | null | undefined;
464
+ } | null | undefined;
465
+ pricing?: {
466
+ platformFee: number;
467
+ currency?: string | null | undefined;
468
+ paymentProcessingFee?: number | null | undefined;
469
+ } | null | undefined;
470
+ payout?: {
471
+ status?: "pending" | "scheduled" | "completed" | null | undefined;
472
+ amount?: number | null | undefined;
473
+ scheduledDate?: NativeDate | null | undefined;
474
+ paidAt?: NativeDate | null | undefined;
475
+ stripePayoutId?: string | null | undefined;
476
+ } | null | undefined;
477
+ policies?: {
478
+ transferable: boolean;
479
+ cancellation?: {
480
+ allowed: boolean;
481
+ refundPercentage: number;
482
+ deadlineHours?: number | null | undefined;
483
+ } | null | undefined;
484
+ } | null | undefined;
485
+ moderation?: {
486
+ flags: mongoose.Types.DocumentArray<{
487
+ createdAt: NativeDate;
488
+ status: "pending" | "resolved" | "dismissed";
489
+ description?: string | null | undefined;
490
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
491
+ reason?: string | null | undefined;
492
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
493
+ createdAt: NativeDate;
494
+ status: "pending" | "resolved" | "dismissed";
495
+ description?: string | null | undefined;
496
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
497
+ reason?: string | null | undefined;
498
+ }> & {
499
+ createdAt: NativeDate;
500
+ status: "pending" | "resolved" | "dismissed";
501
+ description?: string | null | undefined;
502
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
503
+ reason?: string | null | undefined;
504
+ }>;
505
+ isFlagged: boolean;
506
+ suspendedUntil?: NativeDate | null | undefined;
507
+ banReason?: string | null | undefined;
508
+ } | null | undefined;
509
+ seo?: {
510
+ keywords: string[];
511
+ metaTitle?: string | null | undefined;
512
+ metaDescription?: string | null | undefined;
513
+ ogImage?: string | null | undefined;
514
+ } | null | undefined;
515
+ features?: {
516
+ isFeatured: boolean;
517
+ isPremium: boolean;
518
+ badges: string[];
519
+ } | null | undefined;
520
+ submittedAt?: NativeDate | null | undefined;
521
+ deletedAt?: NativeDate | null | undefined;
522
+ tagline?: string | null | undefined;
523
+ ageRestriction?: "all_ages" | "18+" | "21+" | null | undefined;
524
+ }>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<{
525
+ type: "other" | "concert" | "sports" | "conference" | "festival" | "theater" | "comedy" | "networking" | "workshop";
526
+ createdAt: NativeDate;
527
+ updatedAt: NativeDate;
528
+ status: "approved" | "rejected" | "draft" | "pending_approval" | "published" | "live" | "ended" | "cancelled";
529
+ visibility: "public" | "private" | "unlisted";
530
+ hostId: mongoose.Types.ObjectId;
531
+ title: string;
532
+ categories: string[];
533
+ highlights: string[];
534
+ languages: string[];
535
+ tickets: mongoose.Types.DocumentArray<{
536
+ name: string;
537
+ status: "active" | "sold_out" | "inactive";
538
+ quantity: number;
539
+ sold: number;
540
+ remaining: number;
541
+ visibility: "hidden" | "public" | "invite_only";
542
+ reserved: number;
543
+ benefits: string[];
544
+ description?: string | null | undefined;
545
+ price?: {
546
+ amount: number;
547
+ currency: string;
548
+ } | null | undefined;
549
+ salesWindow?: {
550
+ startDate?: NativeDate | null | undefined;
551
+ endDate?: NativeDate | null | undefined;
552
+ } | null | undefined;
553
+ limits?: {
554
+ minPerOrder: number;
555
+ maxPerOrder: number;
556
+ } | null | undefined;
557
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
558
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
559
+ name: string;
560
+ status: "active" | "sold_out" | "inactive";
561
+ quantity: number;
562
+ sold: number;
563
+ remaining: number;
564
+ visibility: "hidden" | "public" | "invite_only";
565
+ reserved: number;
566
+ benefits: string[];
567
+ description?: string | null | undefined;
568
+ price?: {
569
+ amount: number;
570
+ currency: string;
571
+ } | null | undefined;
572
+ salesWindow?: {
573
+ startDate?: NativeDate | null | undefined;
574
+ endDate?: NativeDate | null | undefined;
575
+ } | null | undefined;
576
+ limits?: {
577
+ minPerOrder: number;
578
+ maxPerOrder: number;
579
+ } | null | undefined;
580
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
581
+ }> & {
582
+ name: string;
583
+ status: "active" | "sold_out" | "inactive";
584
+ quantity: number;
585
+ sold: number;
586
+ remaining: number;
587
+ visibility: "hidden" | "public" | "invite_only";
588
+ reserved: number;
589
+ benefits: string[];
590
+ description?: string | null | undefined;
591
+ price?: {
592
+ amount: number;
593
+ currency: string;
594
+ } | null | undefined;
595
+ salesWindow?: {
596
+ startDate?: NativeDate | null | undefined;
597
+ endDate?: NativeDate | null | undefined;
598
+ } | null | undefined;
599
+ limits?: {
600
+ minPerOrder: number;
601
+ maxPerOrder: number;
602
+ } | null | undefined;
603
+ tier?: "early_bird" | "regular" | "vip" | null | undefined;
604
+ }>;
605
+ termsAccepted: boolean;
606
+ legalPermissionAccepted: boolean;
607
+ platformTermsAccepted: boolean;
608
+ history: mongoose.Types.DocumentArray<{
609
+ timestamp: NativeDate;
610
+ action?: string | null | undefined;
611
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
612
+ changes?: any;
613
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
614
+ timestamp: NativeDate;
615
+ action?: string | null | undefined;
616
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
617
+ changes?: any;
618
+ }> & {
619
+ timestamp: NativeDate;
620
+ action?: string | null | undefined;
621
+ performedBy?: mongoose.Types.ObjectId | null | undefined;
622
+ changes?: any;
623
+ }>;
624
+ description?: string | null | undefined;
625
+ rejectionReason?: string | null | undefined;
626
+ slug?: string | null | undefined;
627
+ dressCode?: string | null | undefined;
628
+ media?: {
629
+ gallery: mongoose.Types.DocumentArray<{
630
+ url?: string | null | undefined;
631
+ caption?: string | null | undefined;
632
+ order?: number | null | undefined;
633
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
634
+ url?: string | null | undefined;
635
+ caption?: string | null | undefined;
636
+ order?: number | null | undefined;
637
+ }> & {
638
+ url?: string | null | undefined;
639
+ caption?: string | null | undefined;
640
+ order?: number | null | undefined;
641
+ }>;
642
+ coverImage?: {
643
+ url?: string | null | undefined;
644
+ thumbnailUrl?: string | null | undefined;
645
+ alt?: string | null | undefined;
646
+ } | null | undefined;
647
+ } | null | undefined;
648
+ schedule?: {
649
+ startDate: NativeDate;
650
+ endDate: NativeDate;
651
+ timezone?: string | null | undefined;
652
+ isMultiDay?: boolean | null | undefined;
653
+ doors?: string | null | undefined;
654
+ } | null | undefined;
655
+ venue?: {
656
+ name: string;
657
+ capacity: number;
658
+ type?: "indoor" | "outdoor" | "hybrid" | null | undefined;
659
+ address?: {
660
+ city: string;
661
+ country: string;
662
+ street?: string | null | undefined;
663
+ state?: string | null | undefined;
664
+ postalCode?: string | null | undefined;
665
+ } | null | undefined;
666
+ parking?: boolean | null | undefined;
667
+ publicTransit?: string | null | undefined;
668
+ coordinates?: {
669
+ type: "Point";
670
+ coordinates: number[];
671
+ } | null | undefined;
672
+ } | null | undefined;
673
+ organizer?: {
674
+ companyName?: string | null | undefined;
675
+ contactPerson?: {
676
+ name: string;
677
+ phone: string;
678
+ email: string;
679
+ designation?: string | null | undefined;
680
+ } | null | undefined;
681
+ role?: "event_organizer" | "venue_owner" | "authorized_rep" | "artist" | null | undefined;
682
+ } | null | undefined;
683
+ verification?: {
684
+ status: "pending" | "rejected" | "unverified" | "verified" | "needs_info";
685
+ documents: mongoose.Types.DocumentArray<{
686
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
687
+ url?: string | null | undefined;
688
+ filename?: string | null | undefined;
689
+ objectKey?: string | null | undefined;
690
+ uploadedAt?: NativeDate | null | undefined;
691
+ rejectionReason?: string | null | undefined;
692
+ status?: "pending" | "approved" | "rejected" | null | undefined;
693
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
694
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
695
+ url?: string | null | undefined;
696
+ filename?: string | null | undefined;
697
+ objectKey?: string | null | undefined;
698
+ uploadedAt?: NativeDate | null | undefined;
699
+ rejectionReason?: string | null | undefined;
700
+ status?: "pending" | "approved" | "rejected" | null | undefined;
701
+ }> & {
702
+ type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | null | undefined;
703
+ url?: string | null | undefined;
704
+ filename?: string | null | undefined;
705
+ objectKey?: string | null | undefined;
706
+ uploadedAt?: NativeDate | null | undefined;
707
+ rejectionReason?: string | null | undefined;
708
+ status?: "pending" | "approved" | "rejected" | null | undefined;
709
+ }>;
710
+ rejectionReason?: string | null | undefined;
711
+ additionalInfo?: string | null | undefined;
712
+ adminNotes?: string | null | undefined;
713
+ reviewedBy?: mongoose.Types.ObjectId | null | undefined;
714
+ reviewedAt?: NativeDate | null | undefined;
715
+ requestedInfo?: string | null | undefined;
716
+ } | null | undefined;
717
+ publishedAt?: NativeDate | null | undefined;
718
+ metrics?: {
719
+ views: number;
720
+ ticketsSold: number;
721
+ revenue: number;
722
+ checkIns: number;
723
+ reviewCount: number;
724
+ averageRating?: number | null | undefined;
725
+ } | null | undefined;
726
+ pricing?: {
727
+ platformFee: number;
728
+ currency?: string | null | undefined;
729
+ paymentProcessingFee?: number | null | undefined;
730
+ } | null | undefined;
731
+ payout?: {
732
+ status?: "pending" | "scheduled" | "completed" | null | undefined;
733
+ amount?: number | null | undefined;
734
+ scheduledDate?: NativeDate | null | undefined;
735
+ paidAt?: NativeDate | null | undefined;
736
+ stripePayoutId?: string | null | undefined;
737
+ } | null | undefined;
738
+ policies?: {
739
+ transferable: boolean;
740
+ cancellation?: {
741
+ allowed: boolean;
742
+ refundPercentage: number;
743
+ deadlineHours?: number | null | undefined;
744
+ } | null | undefined;
745
+ } | null | undefined;
746
+ moderation?: {
747
+ flags: mongoose.Types.DocumentArray<{
748
+ createdAt: NativeDate;
749
+ status: "pending" | "resolved" | "dismissed";
750
+ description?: string | null | undefined;
751
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
752
+ reason?: string | null | undefined;
753
+ }, mongoose.Types.Subdocument<mongoose.mongo.BSON.ObjectId, any, {
754
+ createdAt: NativeDate;
755
+ status: "pending" | "resolved" | "dismissed";
756
+ description?: string | null | undefined;
757
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
758
+ reason?: string | null | undefined;
759
+ }> & {
760
+ createdAt: NativeDate;
761
+ status: "pending" | "resolved" | "dismissed";
762
+ description?: string | null | undefined;
763
+ reportedBy?: mongoose.Types.ObjectId | null | undefined;
764
+ reason?: string | null | undefined;
765
+ }>;
766
+ isFlagged: boolean;
767
+ suspendedUntil?: NativeDate | null | undefined;
768
+ banReason?: string | null | undefined;
769
+ } | null | undefined;
770
+ seo?: {
771
+ keywords: string[];
772
+ metaTitle?: string | null | undefined;
773
+ metaDescription?: string | null | undefined;
774
+ ogImage?: string | null | undefined;
775
+ } | null | undefined;
776
+ features?: {
777
+ isFeatured: boolean;
778
+ isPremium: boolean;
779
+ badges: string[];
780
+ } | null | undefined;
781
+ submittedAt?: NativeDate | null | undefined;
782
+ deletedAt?: NativeDate | null | undefined;
783
+ tagline?: string | null | undefined;
784
+ ageRestriction?: "all_ages" | "18+" | "21+" | null | undefined;
785
+ }> & {
786
+ _id: mongoose.Types.ObjectId;
787
+ } & {
788
+ __v: number;
789
+ }>;
790
+ export default eventSchema;