@bash-app/bash-common 30.105.0 → 30.106.1
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/package.json +1 -1
- package/prisma/schema.prisma +98 -38
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -1485,6 +1485,8 @@ model Service {
|
|
|
1485
1485
|
analytics ServiceAnalytics[] // Track service analytics
|
|
1486
1486
|
scoutReferrals ScoutReferral[] @relation("ScoutServiceProfile")
|
|
1487
1487
|
bookingCommissions BookingCommission[] @relation("CommissionServiceProfile")
|
|
1488
|
+
venueMatches VenueEntertainmentMatch[] @relation("VenueMatches")
|
|
1489
|
+
entertainerMatches VenueEntertainmentMatch[] @relation("EntertainerMatches")
|
|
1488
1490
|
|
|
1489
1491
|
@@index([serviceListingStripeSubscriptionId])
|
|
1490
1492
|
@@index([isFreeFirstListing])
|
|
@@ -1579,35 +1581,44 @@ model EntertainmentService {
|
|
|
1579
1581
|
openToCollaboration Boolean @default(false)
|
|
1580
1582
|
collaborationNote String?
|
|
1581
1583
|
lookingForArtists String?
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1584
|
+
|
|
1585
|
+
// Venue Matching Fields
|
|
1586
|
+
lookingForVenues Boolean @default(false)
|
|
1587
|
+
venueRequirements String[] @default([])
|
|
1588
|
+
travelRadiusMiles Int? @default(50)
|
|
1589
|
+
preferredEventTypes String[] @default([])
|
|
1590
|
+
notifyOnMatchingVenues Boolean @default(true)
|
|
1591
|
+
lastMatchNotificationSent DateTime?
|
|
1592
|
+
|
|
1593
|
+
crowdSize AmountOfGuests? @relation(fields: [crowdSizeId], references: [id], onDelete: Cascade)
|
|
1594
|
+
serviceRange ServiceRange? @relation(fields: [serviceRangeId], references: [id])
|
|
1595
|
+
service Service?
|
|
1585
1596
|
}
|
|
1586
1597
|
|
|
1587
1598
|
model Vendor {
|
|
1588
|
-
id
|
|
1589
|
-
serviceRangeId
|
|
1590
|
-
|
|
1599
|
+
id String @id @default(cuid())
|
|
1600
|
+
serviceRangeId String?
|
|
1601
|
+
|
|
1591
1602
|
// Type classification (use enums for data quality)
|
|
1592
|
-
vendorProductTypes
|
|
1593
|
-
vendorServiceTypes
|
|
1594
|
-
|
|
1603
|
+
vendorProductTypes VendedProductType[] // For product vendors (selling goods)
|
|
1604
|
+
vendorServiceTypes VendorServiceType[] // For service vendors (providing services)
|
|
1605
|
+
|
|
1595
1606
|
// Legacy string fields (deprecated - use enum arrays above)
|
|
1596
|
-
vendorServiceSubType
|
|
1597
|
-
subType
|
|
1598
|
-
vendorType
|
|
1599
|
-
otherSubType
|
|
1600
|
-
|
|
1607
|
+
vendorServiceSubType String? // @deprecated Use vendorServiceTypes
|
|
1608
|
+
subType String? // @deprecated Use vendorProductTypes or vendorServiceTypes
|
|
1609
|
+
vendorType String? // "products" or "services" - determines which enum array to use
|
|
1610
|
+
otherSubType String? // Custom type description when "Other" is selected
|
|
1611
|
+
|
|
1601
1612
|
yearsOfExperience YearsOfExperience
|
|
1602
|
-
crowdSizeId String?
|
|
1603
|
-
goodsOrServices String[]
|
|
1613
|
+
crowdSizeId String? @unique
|
|
1614
|
+
goodsOrServices String[] // Specific items/services offered
|
|
1604
1615
|
menuItems String?
|
|
1605
1616
|
venueTypes String[]
|
|
1606
|
-
secondaryVenueTypes String[]
|
|
1617
|
+
secondaryVenueTypes String[] @default([])
|
|
1607
1618
|
detailsText String?
|
|
1608
|
-
minBoothFeeCents Int?
|
|
1609
|
-
maxBoothFeeCents Int?
|
|
1610
|
-
preferredBoothFeeCents Int?
|
|
1619
|
+
minBoothFeeCents Int? @default(0)
|
|
1620
|
+
maxBoothFeeCents Int? @default(0)
|
|
1621
|
+
preferredBoothFeeCents Int? @default(0)
|
|
1611
1622
|
|
|
1612
1623
|
// Pricing Model Fields
|
|
1613
1624
|
pricingModel PricingModel? @default(CUSTOM)
|
|
@@ -1779,8 +1790,20 @@ model Venue {
|
|
|
1779
1790
|
vibe String?
|
|
1780
1791
|
dress String?
|
|
1781
1792
|
pricingPlan VenuePricingPlan?
|
|
1782
|
-
|
|
1783
|
-
|
|
1793
|
+
|
|
1794
|
+
// Entertainment Matching Fields
|
|
1795
|
+
lookingForEntertainment Boolean @default(false)
|
|
1796
|
+
entertainmentTypes String[] @default([])
|
|
1797
|
+
entertainmentGenres String[] @default([])
|
|
1798
|
+
entertainmentNotes String?
|
|
1799
|
+
offersToEntertainers String[] @default([])
|
|
1800
|
+
preferredBookingFrequency String?
|
|
1801
|
+
typicalEventTypes String[] @default([])
|
|
1802
|
+
notifyOnMatchingMusicians Boolean @default(true)
|
|
1803
|
+
lastMatchNotificationSent DateTime?
|
|
1804
|
+
|
|
1805
|
+
bashEvents BashEvent[]
|
|
1806
|
+
service Service?
|
|
1784
1807
|
}
|
|
1785
1808
|
|
|
1786
1809
|
model UserPromoCodeRedemption {
|
|
@@ -4049,7 +4072,7 @@ enum VendedProductType {
|
|
|
4049
4072
|
Woodwork
|
|
4050
4073
|
LeatherGoods
|
|
4051
4074
|
Textiles
|
|
4052
|
-
|
|
4075
|
+
|
|
4053
4076
|
// Food & Beverage
|
|
4054
4077
|
BakedGoods
|
|
4055
4078
|
Beverages
|
|
@@ -4059,7 +4082,7 @@ enum VendedProductType {
|
|
|
4059
4082
|
SweetTreats
|
|
4060
4083
|
Spices
|
|
4061
4084
|
Sauces
|
|
4062
|
-
|
|
4085
|
+
|
|
4063
4086
|
// Beauty & Personal Care
|
|
4064
4087
|
BodyCareProducts
|
|
4065
4088
|
SkincareProducts
|
|
@@ -4067,7 +4090,7 @@ enum VendedProductType {
|
|
|
4067
4090
|
Soaps
|
|
4068
4091
|
Perfumes
|
|
4069
4092
|
HairCareProducts
|
|
4070
|
-
|
|
4093
|
+
|
|
4071
4094
|
// Fashion & Accessories
|
|
4072
4095
|
Clothing
|
|
4073
4096
|
TShirtsAndApparel
|
|
@@ -4076,7 +4099,7 @@ enum VendedProductType {
|
|
|
4076
4099
|
Hats
|
|
4077
4100
|
Bags
|
|
4078
4101
|
Shoes
|
|
4079
|
-
|
|
4102
|
+
|
|
4080
4103
|
// Home & Living
|
|
4081
4104
|
HomeDecor
|
|
4082
4105
|
Candles
|
|
@@ -4084,7 +4107,7 @@ enum VendedProductType {
|
|
|
4084
4107
|
Succulents
|
|
4085
4108
|
Furniture
|
|
4086
4109
|
Kitchenware
|
|
4087
|
-
|
|
4110
|
+
|
|
4088
4111
|
// Specialty Items
|
|
4089
4112
|
Books
|
|
4090
4113
|
Crystals
|
|
@@ -4092,21 +4115,21 @@ enum VendedProductType {
|
|
|
4092
4115
|
HerbalRemedies
|
|
4093
4116
|
VintageAntiques
|
|
4094
4117
|
Collectibles
|
|
4095
|
-
|
|
4118
|
+
|
|
4096
4119
|
// Media & Stationery
|
|
4097
4120
|
PhotographyPrints
|
|
4098
4121
|
StickersAndStationery
|
|
4099
4122
|
Prints
|
|
4100
4123
|
Zines
|
|
4101
|
-
|
|
4124
|
+
|
|
4102
4125
|
// Kids & Pets
|
|
4103
4126
|
Toys
|
|
4104
4127
|
BabyItems
|
|
4105
4128
|
PetProducts
|
|
4106
|
-
|
|
4129
|
+
|
|
4107
4130
|
// Tech & Electronics
|
|
4108
4131
|
TechAccessories
|
|
4109
|
-
|
|
4132
|
+
|
|
4110
4133
|
Other
|
|
4111
4134
|
}
|
|
4112
4135
|
|
|
@@ -4119,7 +4142,7 @@ enum VendorServiceType {
|
|
|
4119
4142
|
CustomCalligraphy
|
|
4120
4143
|
PortraitSketching
|
|
4121
4144
|
SprayPaintArt
|
|
4122
|
-
|
|
4145
|
+
|
|
4123
4146
|
// Beauty & Body Art
|
|
4124
4147
|
FacePainting
|
|
4125
4148
|
HairBraiding
|
|
@@ -4129,14 +4152,14 @@ enum VendorServiceType {
|
|
|
4129
4152
|
AirbrushMakeup
|
|
4130
4153
|
NailArt
|
|
4131
4154
|
HairStyling
|
|
4132
|
-
|
|
4155
|
+
|
|
4133
4156
|
// Wellness & Relaxation
|
|
4134
4157
|
ChairMassages
|
|
4135
4158
|
WellnessDemos
|
|
4136
4159
|
YogaOrMovementClasses
|
|
4137
4160
|
Reiki
|
|
4138
4161
|
Aromatherapy
|
|
4139
|
-
|
|
4162
|
+
|
|
4140
4163
|
// Entertainment & Performance
|
|
4141
4164
|
Magician
|
|
4142
4165
|
ClownServices
|
|
@@ -4144,26 +4167,26 @@ enum VendorServiceType {
|
|
|
4144
4167
|
BubblePerformances
|
|
4145
4168
|
JugglingActs
|
|
4146
4169
|
MimeArtist
|
|
4147
|
-
|
|
4170
|
+
|
|
4148
4171
|
// Kids & Family
|
|
4149
4172
|
KidsCraftBooths
|
|
4150
4173
|
PettingZoos
|
|
4151
4174
|
PonyRides
|
|
4152
4175
|
BounceHouseOperator
|
|
4153
4176
|
GameBoothOperator
|
|
4154
|
-
|
|
4177
|
+
|
|
4155
4178
|
// Photo & Media
|
|
4156
4179
|
PhotoBooths
|
|
4157
4180
|
InstantPhotography
|
|
4158
4181
|
VideoMessages
|
|
4159
4182
|
GreenScreenPhotos
|
|
4160
|
-
|
|
4183
|
+
|
|
4161
4184
|
// Spiritual & Mystical
|
|
4162
4185
|
PsychicOrTarotReadings
|
|
4163
4186
|
PalmReading
|
|
4164
4187
|
AuraPhotography
|
|
4165
4188
|
Astrology
|
|
4166
|
-
|
|
4189
|
+
|
|
4167
4190
|
Other
|
|
4168
4191
|
}
|
|
4169
4192
|
|
|
@@ -4699,6 +4722,43 @@ enum AmbashadorApplicationStatus {
|
|
|
4699
4722
|
Rejected
|
|
4700
4723
|
}
|
|
4701
4724
|
|
|
4725
|
+
// ============================================
|
|
4726
|
+
// Venue-Entertainment Matching System
|
|
4727
|
+
// ============================================
|
|
4728
|
+
|
|
4729
|
+
// Tracks matches between venues and entertainment services
|
|
4730
|
+
// Includes partnership history for building trust and credibility
|
|
4731
|
+
model VenueEntertainmentMatch {
|
|
4732
|
+
id String @id @default(cuid())
|
|
4733
|
+
venueServiceId String
|
|
4734
|
+
entertainmentServiceId String
|
|
4735
|
+
matchScore Int @default(0)
|
|
4736
|
+
matchReasons String[] @default([])
|
|
4737
|
+
createdAt DateTime @default(now())
|
|
4738
|
+
notifiedVenue Boolean @default(false)
|
|
4739
|
+
notifiedEntertainer Boolean @default(false)
|
|
4740
|
+
venueViewed Boolean @default(false)
|
|
4741
|
+
entertainerViewed Boolean @default(false)
|
|
4742
|
+
venueInterested Boolean @default(false)
|
|
4743
|
+
entertainerInterested Boolean @default(false)
|
|
4744
|
+
|
|
4745
|
+
// Partnership History Tracking
|
|
4746
|
+
totalBookingsTogether Int @default(0)
|
|
4747
|
+
firstBookingDate DateTime?
|
|
4748
|
+
lastBookingDate DateTime?
|
|
4749
|
+
totalRevenue Float @default(0)
|
|
4750
|
+
|
|
4751
|
+
venueService Service @relation("VenueMatches", fields: [venueServiceId], references: [id], onDelete: Cascade)
|
|
4752
|
+
entertainmentService Service @relation("EntertainerMatches", fields: [entertainmentServiceId], references: [id], onDelete: Cascade)
|
|
4753
|
+
|
|
4754
|
+
@@unique([venueServiceId, entertainmentServiceId])
|
|
4755
|
+
@@index([venueServiceId])
|
|
4756
|
+
@@index([entertainmentServiceId])
|
|
4757
|
+
@@index([matchScore])
|
|
4758
|
+
@@index([createdAt])
|
|
4759
|
+
@@index([totalBookingsTogether])
|
|
4760
|
+
}
|
|
4761
|
+
|
|
4702
4762
|
// ============================================
|
|
4703
4763
|
// Service Category Suggestion System
|
|
4704
4764
|
// ============================================
|