@bash-app/bash-common 30.285.0 → 30.291.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.
Files changed (1030) hide show
  1. package/dist/__tests__/accessScreening.test.d.ts +2 -0
  2. package/dist/__tests__/accessScreening.test.d.ts.map +1 -0
  3. package/dist/__tests__/accessScreening.test.js +19 -0
  4. package/dist/__tests__/accessScreening.test.js.map +1 -0
  5. package/dist/__tests__/bookingIntent.test.d.ts +2 -0
  6. package/dist/__tests__/bookingIntent.test.d.ts.map +1 -0
  7. package/dist/__tests__/bookingIntent.test.js +36 -0
  8. package/dist/__tests__/bookingIntent.test.js.map +1 -0
  9. package/dist/__tests__/entertainmentNotableVenues.test.d.ts +2 -0
  10. package/dist/__tests__/entertainmentNotableVenues.test.d.ts.map +1 -0
  11. package/dist/__tests__/entertainmentNotableVenues.test.js +78 -0
  12. package/dist/__tests__/entertainmentNotableVenues.test.js.map +1 -0
  13. package/dist/__tests__/influencerAudience.test.d.ts +2 -0
  14. package/dist/__tests__/influencerAudience.test.d.ts.map +1 -0
  15. package/dist/__tests__/influencerAudience.test.js +22 -0
  16. package/dist/__tests__/influencerAudience.test.js.map +1 -0
  17. package/dist/__tests__/productLaunch.test.d.ts +2 -0
  18. package/dist/__tests__/productLaunch.test.d.ts.map +1 -0
  19. package/dist/__tests__/productLaunch.test.js +39 -0
  20. package/dist/__tests__/productLaunch.test.js.map +1 -0
  21. package/dist/__typecheck_probe__.d.ts +2 -0
  22. package/dist/__typecheck_probe__.d.ts.map +1 -0
  23. package/dist/__typecheck_probe__.js +2 -0
  24. package/dist/__typecheck_probe__.js.map +1 -0
  25. package/dist/accessScreening.d.ts +8 -0
  26. package/dist/accessScreening.d.ts.map +1 -0
  27. package/dist/accessScreening.js +18 -0
  28. package/dist/accessScreening.js.map +1 -0
  29. package/dist/aiEventPlan.d.ts +18 -0
  30. package/dist/aiEventPlan.d.ts.map +1 -0
  31. package/dist/aiEventPlan.js +59 -0
  32. package/dist/aiEventPlan.js.map +1 -0
  33. package/dist/bookingIntent.d.ts +23 -0
  34. package/dist/bookingIntent.d.ts.map +1 -0
  35. package/dist/bookingIntent.js +40 -0
  36. package/dist/bookingIntent.js.map +1 -0
  37. package/dist/definitions.d.ts +2 -0
  38. package/dist/definitions.d.ts.map +1 -1
  39. package/dist/definitions.js.map +1 -1
  40. package/dist/dist/__tests__/accessScreening.test.d.ts +2 -0
  41. package/dist/dist/__tests__/accessScreening.test.d.ts.map +1 -0
  42. package/dist/dist/__tests__/accessScreening.test.js +16 -0
  43. package/dist/dist/__tests__/accessScreening.test.js.map +1 -0
  44. package/dist/dist/__tests__/agePolicy.test.d.ts +2 -0
  45. package/dist/dist/__tests__/agePolicy.test.d.ts.map +1 -0
  46. package/dist/dist/__tests__/agePolicy.test.js +203 -0
  47. package/dist/dist/__tests__/agePolicy.test.js.map +1 -0
  48. package/dist/dist/__tests__/bashSectionTitleForBashType.test.d.ts +2 -0
  49. package/dist/dist/__tests__/bashSectionTitleForBashType.test.d.ts.map +1 -0
  50. package/dist/dist/__tests__/bashSectionTitleForBashType.test.js +106 -0
  51. package/dist/dist/__tests__/bashSectionTitleForBashType.test.js.map +1 -0
  52. package/dist/dist/__tests__/bookingIntent.test.d.ts +2 -0
  53. package/dist/dist/__tests__/bookingIntent.test.d.ts.map +1 -0
  54. package/dist/dist/__tests__/bookingIntent.test.js +36 -0
  55. package/dist/dist/__tests__/bookingIntent.test.js.map +1 -0
  56. package/dist/dist/__tests__/definitionsHelpers.test.d.ts +2 -0
  57. package/dist/dist/__tests__/definitionsHelpers.test.d.ts.map +1 -0
  58. package/dist/dist/__tests__/definitionsHelpers.test.js +85 -0
  59. package/dist/dist/__tests__/definitionsHelpers.test.js.map +1 -0
  60. package/dist/dist/__tests__/entertainmentNotableVenues.test.d.ts +2 -0
  61. package/dist/dist/__tests__/entertainmentNotableVenues.test.d.ts.map +1 -0
  62. package/dist/dist/__tests__/entertainmentNotableVenues.test.js +78 -0
  63. package/dist/dist/__tests__/entertainmentNotableVenues.test.js.map +1 -0
  64. package/dist/dist/__tests__/extendedSchemas.test.d.ts +2 -0
  65. package/dist/dist/__tests__/extendedSchemas.test.d.ts.map +1 -0
  66. package/dist/dist/__tests__/extendedSchemas.test.js +40 -0
  67. package/dist/dist/__tests__/extendedSchemas.test.js.map +1 -0
  68. package/dist/dist/__tests__/getDisplayGender.test.d.ts +2 -0
  69. package/dist/dist/__tests__/getDisplayGender.test.d.ts.map +1 -0
  70. package/dist/dist/__tests__/getDisplayGender.test.js +34 -0
  71. package/dist/dist/__tests__/getDisplayGender.test.js.map +1 -0
  72. package/dist/dist/__tests__/groupTicketUtils.test.d.ts +2 -0
  73. package/dist/dist/__tests__/groupTicketUtils.test.d.ts.map +1 -0
  74. package/dist/dist/__tests__/groupTicketUtils.test.js +38 -0
  75. package/dist/dist/__tests__/groupTicketUtils.test.js.map +1 -0
  76. package/dist/dist/__tests__/influencerAudience.test.d.ts +2 -0
  77. package/dist/dist/__tests__/influencerAudience.test.d.ts.map +1 -0
  78. package/dist/dist/__tests__/influencerAudience.test.js +22 -0
  79. package/dist/dist/__tests__/influencerAudience.test.js.map +1 -0
  80. package/dist/dist/__tests__/membershipDefinitions.test.d.ts +2 -0
  81. package/dist/dist/__tests__/membershipDefinitions.test.d.ts.map +1 -0
  82. package/dist/dist/__tests__/membershipDefinitions.test.js +95 -0
  83. package/dist/dist/__tests__/membershipDefinitions.test.js.map +1 -0
  84. package/dist/dist/__tests__/requestAuthUser.test.d.ts +2 -0
  85. package/dist/dist/__tests__/requestAuthUser.test.d.ts.map +1 -0
  86. package/dist/dist/__tests__/requestAuthUser.test.js +84 -0
  87. package/dist/dist/__tests__/requestAuthUser.test.js.map +1 -0
  88. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.d.ts +2 -0
  89. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.d.ts.map +1 -0
  90. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.js +41 -0
  91. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.js.map +1 -0
  92. package/dist/dist/__tests__/statusEnums.test.d.ts +2 -0
  93. package/dist/dist/__tests__/statusEnums.test.d.ts.map +1 -0
  94. package/dist/dist/__tests__/statusEnums.test.js +106 -0
  95. package/dist/dist/__tests__/statusEnums.test.js.map +1 -0
  96. package/dist/dist/__tests__/storePrintArtworkUtils.test.d.ts +2 -0
  97. package/dist/dist/__tests__/storePrintArtworkUtils.test.d.ts.map +1 -0
  98. package/dist/dist/__tests__/storePrintArtworkUtils.test.js +35 -0
  99. package/dist/dist/__tests__/storePrintArtworkUtils.test.js.map +1 -0
  100. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.d.ts +2 -0
  101. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.d.ts.map +1 -0
  102. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.js +18 -0
  103. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.js.map +1 -0
  104. package/dist/dist/__tests__/ticketAdmission.test.d.ts +5 -0
  105. package/dist/dist/__tests__/ticketAdmission.test.d.ts.map +1 -0
  106. package/dist/dist/__tests__/ticketAdmission.test.js +42 -0
  107. package/dist/dist/__tests__/ticketAdmission.test.js.map +1 -0
  108. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.d.ts +2 -0
  109. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.d.ts.map +1 -0
  110. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.js +30 -0
  111. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.js.map +1 -0
  112. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.d.ts +2 -0
  113. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.d.ts.map +1 -0
  114. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.js +33 -0
  115. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.js.map +1 -0
  116. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.d.ts +2 -0
  117. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.d.ts.map +1 -0
  118. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.js +46 -0
  119. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.js.map +1 -0
  120. package/dist/dist/__tests__/userReportTypes.test.d.ts +2 -0
  121. package/dist/dist/__tests__/userReportTypes.test.d.ts.map +1 -0
  122. package/dist/dist/__tests__/userReportTypes.test.js +81 -0
  123. package/dist/dist/__tests__/userReportTypes.test.js.map +1 -0
  124. package/dist/dist/__tests__/utmAttribution.test.d.ts +2 -0
  125. package/dist/dist/__tests__/utmAttribution.test.d.ts.map +1 -0
  126. package/dist/dist/__tests__/utmAttribution.test.js +92 -0
  127. package/dist/dist/__tests__/utmAttribution.test.js.map +1 -0
  128. package/dist/dist/accessScreening.d.ts +8 -0
  129. package/dist/dist/accessScreening.d.ts.map +1 -0
  130. package/dist/dist/accessScreening.js +18 -0
  131. package/dist/dist/accessScreening.js.map +1 -0
  132. package/dist/dist/aiApproval.d.ts +89 -0
  133. package/dist/dist/aiApproval.d.ts.map +1 -0
  134. package/dist/dist/aiApproval.js +82 -0
  135. package/dist/dist/aiApproval.js.map +1 -0
  136. package/dist/dist/aiEventPlan.d.ts +18 -0
  137. package/dist/dist/aiEventPlan.d.ts.map +1 -0
  138. package/dist/dist/aiEventPlan.js +59 -0
  139. package/dist/dist/aiEventPlan.js.map +1 -0
  140. package/dist/dist/bashFeedTypes.d.ts +208 -0
  141. package/dist/dist/bashFeedTypes.d.ts.map +1 -0
  142. package/dist/dist/bashFeedTypes.js +2 -0
  143. package/dist/dist/bashFeedTypes.js.map +1 -0
  144. package/dist/dist/bookingIntent.d.ts +23 -0
  145. package/dist/dist/bookingIntent.d.ts.map +1 -0
  146. package/dist/dist/bookingIntent.js +40 -0
  147. package/dist/dist/bookingIntent.js.map +1 -0
  148. package/dist/dist/competitionIdeas.d.ts +19 -0
  149. package/dist/dist/competitionIdeas.d.ts.map +1 -0
  150. package/dist/dist/competitionIdeas.js +405 -0
  151. package/dist/dist/competitionIdeas.js.map +1 -0
  152. package/dist/dist/competitionValidation.d.ts +10 -0
  153. package/dist/dist/competitionValidation.d.ts.map +1 -0
  154. package/dist/dist/competitionValidation.js +29 -0
  155. package/dist/dist/competitionValidation.js.map +1 -0
  156. package/dist/dist/definitions.d.ts +1045 -0
  157. package/dist/dist/definitions.d.ts.map +1 -0
  158. package/dist/dist/definitions.js +1047 -0
  159. package/dist/dist/definitions.js.map +1 -0
  160. package/dist/dist/entertainmentNotableVenues.d.ts +53 -0
  161. package/dist/dist/entertainmentNotableVenues.d.ts.map +1 -0
  162. package/dist/dist/entertainmentNotableVenues.js +101 -0
  163. package/dist/dist/entertainmentNotableVenues.js.map +1 -0
  164. package/dist/dist/extendedSchemas.d.ts +5834 -0
  165. package/dist/dist/extendedSchemas.d.ts.map +1 -0
  166. package/dist/dist/extendedSchemas.js +744 -0
  167. package/dist/dist/extendedSchemas.js.map +1 -0
  168. package/dist/dist/groupTicketUtils.d.ts +19 -0
  169. package/dist/dist/groupTicketUtils.d.ts.map +1 -0
  170. package/dist/dist/groupTicketUtils.js +74 -0
  171. package/dist/dist/groupTicketUtils.js.map +1 -0
  172. package/dist/dist/icebreakerPrompts.d.ts +9 -0
  173. package/dist/dist/icebreakerPrompts.d.ts.map +1 -0
  174. package/dist/dist/icebreakerPrompts.js +77 -0
  175. package/dist/dist/icebreakerPrompts.js.map +1 -0
  176. package/dist/dist/index.d.ts +110 -0
  177. package/dist/dist/index.d.ts.map +1 -0
  178. package/dist/dist/index.js +115 -0
  179. package/dist/dist/index.js.map +1 -0
  180. package/dist/dist/influencerAudience.d.ts +24 -0
  181. package/dist/dist/influencerAudience.d.ts.map +1 -0
  182. package/dist/dist/influencerAudience.js +112 -0
  183. package/dist/dist/influencerAudience.js.map +1 -0
  184. package/dist/dist/legalTemplates.d.ts +11 -0
  185. package/dist/dist/legalTemplates.d.ts.map +1 -0
  186. package/dist/dist/legalTemplates.js +19 -0
  187. package/dist/dist/legalTemplates.js.map +1 -0
  188. package/dist/dist/membershipDefinitions.d.ts +399 -0
  189. package/dist/dist/membershipDefinitions.d.ts.map +1 -0
  190. package/dist/dist/membershipDefinitions.js +765 -0
  191. package/dist/dist/membershipDefinitions.js.map +1 -0
  192. package/dist/dist/mirroredPrismaEnums.d.ts +160 -0
  193. package/dist/dist/mirroredPrismaEnums.d.ts.map +1 -0
  194. package/dist/dist/mirroredPrismaEnums.js +150 -0
  195. package/dist/dist/mirroredPrismaEnums.js.map +1 -0
  196. package/dist/dist/onSaleCapabilityRecommendations.d.ts +30 -0
  197. package/dist/dist/onSaleCapabilityRecommendations.d.ts.map +1 -0
  198. package/dist/dist/onSaleCapabilityRecommendations.js +92 -0
  199. package/dist/dist/onSaleCapabilityRecommendations.js.map +1 -0
  200. package/dist/dist/partnerStoreTypes.d.ts +127 -0
  201. package/dist/dist/partnerStoreTypes.d.ts.map +1 -0
  202. package/dist/dist/partnerStoreTypes.js +40 -0
  203. package/dist/dist/partnerStoreTypes.js.map +1 -0
  204. package/dist/dist/productLaunch.d.ts +17 -0
  205. package/dist/dist/productLaunch.d.ts.map +1 -0
  206. package/dist/dist/productLaunch.js +50 -0
  207. package/dist/dist/productLaunch.js.map +1 -0
  208. package/dist/dist/requestAuthUser.d.ts +36 -0
  209. package/dist/dist/requestAuthUser.d.ts.map +1 -0
  210. package/dist/dist/requestAuthUser.js +76 -0
  211. package/dist/dist/requestAuthUser.js.map +1 -0
  212. package/dist/dist/sms/smsTemplates.d.ts +27 -0
  213. package/dist/dist/sms/smsTemplates.d.ts.map +1 -0
  214. package/dist/dist/sms/smsTemplates.js +11 -0
  215. package/dist/dist/sms/smsTemplates.js.map +1 -0
  216. package/dist/dist/storePrintArtworkUtils.d.ts +22 -0
  217. package/dist/dist/storePrintArtworkUtils.d.ts.map +1 -0
  218. package/dist/dist/storePrintArtworkUtils.js +74 -0
  219. package/dist/dist/storePrintArtworkUtils.js.map +1 -0
  220. package/dist/dist/storeTypes.d.ts +81 -0
  221. package/dist/dist/storeTypes.d.ts.map +1 -0
  222. package/dist/dist/storeTypes.js +20 -0
  223. package/dist/dist/storeTypes.js.map +1 -0
  224. package/dist/dist/stripeListingSubscriptionMessages.d.ts +13 -0
  225. package/dist/dist/stripeListingSubscriptionMessages.d.ts.map +1 -0
  226. package/dist/dist/stripeListingSubscriptionMessages.js +21 -0
  227. package/dist/dist/stripeListingSubscriptionMessages.js.map +1 -0
  228. package/dist/dist/templates/eventTemplates.d.ts +45 -0
  229. package/dist/dist/templates/eventTemplates.d.ts.map +1 -0
  230. package/dist/dist/templates/eventTemplates.js +1191 -0
  231. package/dist/dist/templates/eventTemplates.js.map +1 -0
  232. package/dist/dist/ticketBnplPaymentMethods.d.ts +61 -0
  233. package/dist/dist/ticketBnplPaymentMethods.d.ts.map +1 -0
  234. package/dist/dist/ticketBnplPaymentMethods.js +83 -0
  235. package/dist/dist/ticketBnplPaymentMethods.js.map +1 -0
  236. package/dist/dist/userReportTypes.d.ts +117 -0
  237. package/dist/dist/userReportTypes.d.ts.map +1 -0
  238. package/dist/dist/userReportTypes.js +99 -0
  239. package/dist/dist/userReportTypes.js.map +1 -0
  240. package/dist/dist/utils/__tests__/addressUtils.test.d.ts +2 -0
  241. package/dist/dist/utils/__tests__/addressUtils.test.d.ts.map +1 -0
  242. package/dist/dist/utils/__tests__/addressUtils.test.js +138 -0
  243. package/dist/dist/utils/__tests__/addressUtils.test.js.map +1 -0
  244. package/dist/dist/utils/__tests__/apiUtils.test.d.ts +5 -0
  245. package/dist/dist/utils/__tests__/apiUtils.test.d.ts.map +1 -0
  246. package/dist/dist/utils/__tests__/apiUtils.test.js +161 -0
  247. package/dist/dist/utils/__tests__/apiUtils.test.js.map +1 -0
  248. package/dist/dist/utils/__tests__/arrayUtils.test.d.ts +2 -0
  249. package/dist/dist/utils/__tests__/arrayUtils.test.d.ts.map +1 -0
  250. package/dist/dist/utils/__tests__/arrayUtils.test.js +23 -0
  251. package/dist/dist/utils/__tests__/arrayUtils.test.js.map +1 -0
  252. package/dist/dist/utils/__tests__/badgeUtils.test.d.ts +2 -0
  253. package/dist/dist/utils/__tests__/badgeUtils.test.d.ts.map +1 -0
  254. package/dist/dist/utils/__tests__/badgeUtils.test.js +157 -0
  255. package/dist/dist/utils/__tests__/badgeUtils.test.js.map +1 -0
  256. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.d.ts +2 -0
  257. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.d.ts.map +1 -0
  258. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.js +114 -0
  259. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.js.map +1 -0
  260. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.d.ts +2 -0
  261. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.d.ts.map +1 -0
  262. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.js +22 -0
  263. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.js.map +1 -0
  264. package/dist/dist/utils/__tests__/blogUtils.test.d.ts +2 -0
  265. package/dist/dist/utils/__tests__/blogUtils.test.d.ts.map +1 -0
  266. package/dist/dist/utils/__tests__/blogUtils.test.js +102 -0
  267. package/dist/dist/utils/__tests__/blogUtils.test.js.map +1 -0
  268. package/dist/dist/utils/__tests__/contentFilterUtils.test.d.ts +2 -0
  269. package/dist/dist/utils/__tests__/contentFilterUtils.test.d.ts.map +1 -0
  270. package/dist/dist/utils/__tests__/contentFilterUtils.test.js +443 -0
  271. package/dist/dist/utils/__tests__/contentFilterUtils.test.js.map +1 -0
  272. package/dist/dist/utils/__tests__/dateTimeUtils.test.d.ts +2 -0
  273. package/dist/dist/utils/__tests__/dateTimeUtils.test.d.ts.map +1 -0
  274. package/dist/dist/utils/__tests__/dateTimeUtils.test.js +180 -0
  275. package/dist/dist/utils/__tests__/dateTimeUtils.test.js.map +1 -0
  276. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.d.ts +2 -0
  277. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.d.ts.map +1 -0
  278. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.js +356 -0
  279. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.js.map +1 -0
  280. package/dist/dist/utils/__tests__/displayDateUtils.test.d.ts +2 -0
  281. package/dist/dist/utils/__tests__/displayDateUtils.test.d.ts.map +1 -0
  282. package/dist/dist/utils/__tests__/displayDateUtils.test.js +105 -0
  283. package/dist/dist/utils/__tests__/displayDateUtils.test.js.map +1 -0
  284. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.d.ts +2 -0
  285. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.d.ts.map +1 -0
  286. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.js +86 -0
  287. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.js.map +1 -0
  288. package/dist/dist/utils/__tests__/eventCitySlug.test.d.ts +2 -0
  289. package/dist/dist/utils/__tests__/eventCitySlug.test.d.ts.map +1 -0
  290. package/dist/dist/utils/__tests__/eventCitySlug.test.js +12 -0
  291. package/dist/dist/utils/__tests__/eventCitySlug.test.js.map +1 -0
  292. package/dist/dist/utils/__tests__/eventTimezoneIana.test.d.ts +2 -0
  293. package/dist/dist/utils/__tests__/eventTimezoneIana.test.d.ts.map +1 -0
  294. package/dist/dist/utils/__tests__/eventTimezoneIana.test.js +80 -0
  295. package/dist/dist/utils/__tests__/eventTimezoneIana.test.js.map +1 -0
  296. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.d.ts +2 -0
  297. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.d.ts.map +1 -0
  298. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.js +98 -0
  299. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.js.map +1 -0
  300. package/dist/dist/utils/__tests__/flyerUtils.test.d.ts +2 -0
  301. package/dist/dist/utils/__tests__/flyerUtils.test.d.ts.map +1 -0
  302. package/dist/dist/utils/__tests__/flyerUtils.test.js +109 -0
  303. package/dist/dist/utils/__tests__/flyerUtils.test.js.map +1 -0
  304. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.d.ts +2 -0
  305. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.d.ts.map +1 -0
  306. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.js +26 -0
  307. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.js.map +1 -0
  308. package/dist/dist/utils/__tests__/getBackendHost.test.d.ts +2 -0
  309. package/dist/dist/utils/__tests__/getBackendHost.test.d.ts.map +1 -0
  310. package/dist/dist/utils/__tests__/getBackendHost.test.js +167 -0
  311. package/dist/dist/utils/__tests__/getBackendHost.test.js.map +1 -0
  312. package/dist/dist/utils/__tests__/getFrontendHost.native.test.d.ts +14 -0
  313. package/dist/dist/utils/__tests__/getFrontendHost.native.test.d.ts.map +1 -0
  314. package/dist/dist/utils/__tests__/getFrontendHost.native.test.js +51 -0
  315. package/dist/dist/utils/__tests__/getFrontendHost.native.test.js.map +1 -0
  316. package/dist/dist/utils/__tests__/getFrontendHost.test.d.ts +2 -0
  317. package/dist/dist/utils/__tests__/getFrontendHost.test.d.ts.map +1 -0
  318. package/dist/dist/utils/__tests__/getFrontendHost.test.js +207 -0
  319. package/dist/dist/utils/__tests__/getFrontendHost.test.js.map +1 -0
  320. package/dist/dist/utils/__tests__/guestSurface.test.d.ts +2 -0
  321. package/dist/dist/utils/__tests__/guestSurface.test.d.ts.map +1 -0
  322. package/dist/dist/utils/__tests__/guestSurface.test.js +112 -0
  323. package/dist/dist/utils/__tests__/guestSurface.test.js.map +1 -0
  324. package/dist/dist/utils/__tests__/lobFlyerUtils.test.d.ts +2 -0
  325. package/dist/dist/utils/__tests__/lobFlyerUtils.test.d.ts.map +1 -0
  326. package/dist/dist/utils/__tests__/lobFlyerUtils.test.js +39 -0
  327. package/dist/dist/utils/__tests__/lobFlyerUtils.test.js.map +1 -0
  328. package/dist/dist/utils/__tests__/localPartnerHours.test.d.ts +2 -0
  329. package/dist/dist/utils/__tests__/localPartnerHours.test.d.ts.map +1 -0
  330. package/dist/dist/utils/__tests__/localPartnerHours.test.js +35 -0
  331. package/dist/dist/utils/__tests__/localPartnerHours.test.js.map +1 -0
  332. package/dist/dist/utils/__tests__/locationVisibility.test.d.ts +2 -0
  333. package/dist/dist/utils/__tests__/locationVisibility.test.d.ts.map +1 -0
  334. package/dist/dist/utils/__tests__/locationVisibility.test.js +183 -0
  335. package/dist/dist/utils/__tests__/locationVisibility.test.js.map +1 -0
  336. package/dist/dist/utils/__tests__/luxonUtils.test.d.ts +2 -0
  337. package/dist/dist/utils/__tests__/luxonUtils.test.d.ts.map +1 -0
  338. package/dist/dist/utils/__tests__/luxonUtils.test.js +139 -0
  339. package/dist/dist/utils/__tests__/luxonUtils.test.js.map +1 -0
  340. package/dist/dist/utils/__tests__/mathUtils.test.d.ts +5 -0
  341. package/dist/dist/utils/__tests__/mathUtils.test.d.ts.map +1 -0
  342. package/dist/dist/utils/__tests__/mathUtils.test.js +26 -0
  343. package/dist/dist/utils/__tests__/mathUtils.test.js.map +1 -0
  344. package/dist/dist/utils/__tests__/nonprofitUtils.test.d.ts +2 -0
  345. package/dist/dist/utils/__tests__/nonprofitUtils.test.d.ts.map +1 -0
  346. package/dist/dist/utils/__tests__/nonprofitUtils.test.js +84 -0
  347. package/dist/dist/utils/__tests__/nonprofitUtils.test.js.map +1 -0
  348. package/dist/dist/utils/__tests__/objUtils.test.d.ts +5 -0
  349. package/dist/dist/utils/__tests__/objUtils.test.d.ts.map +1 -0
  350. package/dist/dist/utils/__tests__/objUtils.test.js +41 -0
  351. package/dist/dist/utils/__tests__/objUtils.test.js.map +1 -0
  352. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.d.ts +2 -0
  353. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.d.ts.map +1 -0
  354. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.js +88 -0
  355. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.js.map +1 -0
  356. package/dist/dist/utils/__tests__/organizationEntitlements.test.d.ts +2 -0
  357. package/dist/dist/utils/__tests__/organizationEntitlements.test.d.ts.map +1 -0
  358. package/dist/dist/utils/__tests__/organizationEntitlements.test.js +42 -0
  359. package/dist/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -0
  360. package/dist/dist/utils/__tests__/paymentUtils.test.d.ts +6 -0
  361. package/dist/dist/utils/__tests__/paymentUtils.test.d.ts.map +1 -0
  362. package/dist/dist/utils/__tests__/paymentUtils.test.js +527 -0
  363. package/dist/dist/utils/__tests__/paymentUtils.test.js.map +1 -0
  364. package/dist/dist/utils/__tests__/promoCodesUtils.test.d.ts +2 -0
  365. package/dist/dist/utils/__tests__/promoCodesUtils.test.d.ts.map +1 -0
  366. package/dist/dist/utils/__tests__/promoCodesUtils.test.js +183 -0
  367. package/dist/dist/utils/__tests__/promoCodesUtils.test.js.map +1 -0
  368. package/dist/dist/utils/__tests__/qrCodeUtils.test.d.ts +2 -0
  369. package/dist/dist/utils/__tests__/qrCodeUtils.test.d.ts.map +1 -0
  370. package/dist/dist/utils/__tests__/qrCodeUtils.test.js +114 -0
  371. package/dist/dist/utils/__tests__/qrCodeUtils.test.js.map +1 -0
  372. package/dist/dist/utils/__tests__/recurrenceUtils.test.d.ts +2 -0
  373. package/dist/dist/utils/__tests__/recurrenceUtils.test.d.ts.map +1 -0
  374. package/dist/dist/utils/__tests__/recurrenceUtils.test.js +146 -0
  375. package/dist/dist/utils/__tests__/recurrenceUtils.test.js.map +1 -0
  376. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts +2 -0
  377. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts.map +1 -0
  378. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.js +28 -0
  379. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.js.map +1 -0
  380. package/dist/dist/utils/__tests__/reviewUtils.test.d.ts +2 -0
  381. package/dist/dist/utils/__tests__/reviewUtils.test.d.ts.map +1 -0
  382. package/dist/dist/utils/__tests__/reviewUtils.test.js +49 -0
  383. package/dist/dist/utils/__tests__/reviewUtils.test.js.map +1 -0
  384. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts +2 -0
  385. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts.map +1 -0
  386. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.js +121 -0
  387. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.js.map +1 -0
  388. package/dist/dist/utils/__tests__/slugUtils.test.d.ts +2 -0
  389. package/dist/dist/utils/__tests__/slugUtils.test.d.ts.map +1 -0
  390. package/dist/dist/utils/__tests__/slugUtils.test.js +103 -0
  391. package/dist/dist/utils/__tests__/slugUtils.test.js.map +1 -0
  392. package/dist/dist/utils/__tests__/socialEventCadence.test.d.ts +2 -0
  393. package/dist/dist/utils/__tests__/socialEventCadence.test.d.ts.map +1 -0
  394. package/dist/dist/utils/__tests__/socialEventCadence.test.js +26 -0
  395. package/dist/dist/utils/__tests__/socialEventCadence.test.js.map +1 -0
  396. package/dist/dist/utils/__tests__/sortUtils.test.d.ts +5 -0
  397. package/dist/dist/utils/__tests__/sortUtils.test.d.ts.map +1 -0
  398. package/dist/dist/utils/__tests__/sortUtils.test.js +28 -0
  399. package/dist/dist/utils/__tests__/sortUtils.test.js.map +1 -0
  400. package/dist/dist/utils/__tests__/stringUtils.test.d.ts +2 -0
  401. package/dist/dist/utils/__tests__/stringUtils.test.d.ts.map +1 -0
  402. package/dist/dist/utils/__tests__/stringUtils.test.js +27 -0
  403. package/dist/dist/utils/__tests__/stringUtils.test.js.map +1 -0
  404. package/dist/dist/utils/__tests__/stripeAccountUtils.test.d.ts +2 -0
  405. package/dist/dist/utils/__tests__/stripeAccountUtils.test.d.ts.map +1 -0
  406. package/dist/dist/utils/__tests__/stripeAccountUtils.test.js +75 -0
  407. package/dist/dist/utils/__tests__/stripeAccountUtils.test.js.map +1 -0
  408. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts +2 -0
  409. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts.map +1 -0
  410. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.js +29 -0
  411. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.js.map +1 -0
  412. package/dist/dist/utils/__tests__/ticketListUtils.test.d.ts +2 -0
  413. package/dist/dist/utils/__tests__/ticketListUtils.test.d.ts.map +1 -0
  414. package/dist/dist/utils/__tests__/ticketListUtils.test.js +95 -0
  415. package/dist/dist/utils/__tests__/ticketListUtils.test.js.map +1 -0
  416. package/dist/dist/utils/__tests__/ticketTierSchedule.test.d.ts +2 -0
  417. package/dist/dist/utils/__tests__/ticketTierSchedule.test.d.ts.map +1 -0
  418. package/dist/dist/utils/__tests__/ticketTierSchedule.test.js +84 -0
  419. package/dist/dist/utils/__tests__/ticketTierSchedule.test.js.map +1 -0
  420. package/dist/dist/utils/__tests__/typeUtils.test.d.ts +2 -0
  421. package/dist/dist/utils/__tests__/typeUtils.test.d.ts.map +1 -0
  422. package/dist/dist/utils/__tests__/typeUtils.test.js +11 -0
  423. package/dist/dist/utils/__tests__/typeUtils.test.js.map +1 -0
  424. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.d.ts +2 -0
  425. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.d.ts.map +1 -0
  426. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.js +29 -0
  427. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.js.map +1 -0
  428. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.d.ts +5 -0
  429. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.d.ts.map +1 -0
  430. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.js +66 -0
  431. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.js.map +1 -0
  432. package/dist/dist/utils/__tests__/userUtils.test.d.ts +2 -0
  433. package/dist/dist/utils/__tests__/userUtils.test.d.ts.map +1 -0
  434. package/dist/dist/utils/__tests__/userUtils.test.js +34 -0
  435. package/dist/dist/utils/__tests__/userUtils.test.js.map +1 -0
  436. package/dist/dist/utils/__tests__/venueTypeFormatter.test.d.ts +2 -0
  437. package/dist/dist/utils/__tests__/venueTypeFormatter.test.d.ts.map +1 -0
  438. package/dist/dist/utils/__tests__/venueTypeFormatter.test.js +25 -0
  439. package/dist/dist/utils/__tests__/venueTypeFormatter.test.js.map +1 -0
  440. package/dist/dist/utils/addressUtils.d.ts +30 -0
  441. package/dist/dist/utils/addressUtils.d.ts.map +1 -0
  442. package/dist/dist/utils/addressUtils.js +288 -0
  443. package/dist/dist/utils/addressUtils.js.map +1 -0
  444. package/dist/dist/utils/apiUtils.d.ts +14 -0
  445. package/dist/dist/utils/apiUtils.d.ts.map +1 -0
  446. package/dist/dist/utils/apiUtils.js +97 -0
  447. package/dist/dist/utils/apiUtils.js.map +1 -0
  448. package/dist/dist/utils/arrayUtils.d.ts +2 -0
  449. package/dist/dist/utils/arrayUtils.d.ts.map +1 -0
  450. package/dist/dist/utils/arrayUtils.js +5 -0
  451. package/dist/dist/utils/arrayUtils.js.map +1 -0
  452. package/dist/dist/utils/awsS3Utils.d.ts +10 -0
  453. package/dist/dist/utils/awsS3Utils.d.ts.map +1 -0
  454. package/dist/dist/utils/awsS3Utils.js +89 -0
  455. package/dist/dist/utils/awsS3Utils.js.map +1 -0
  456. package/dist/dist/utils/badgeUtils.d.ts +33 -0
  457. package/dist/dist/utils/badgeUtils.d.ts.map +1 -0
  458. package/dist/dist/utils/badgeUtils.js +57 -0
  459. package/dist/dist/utils/badgeUtils.js.map +1 -0
  460. package/dist/dist/utils/bashPointsPaymentUtils.d.ts +55 -0
  461. package/dist/dist/utils/bashPointsPaymentUtils.d.ts.map +1 -0
  462. package/dist/dist/utils/bashPointsPaymentUtils.js +79 -0
  463. package/dist/dist/utils/bashPointsPaymentUtils.js.map +1 -0
  464. package/dist/dist/utils/birthdayExperienceQuality.d.ts +21 -0
  465. package/dist/dist/utils/birthdayExperienceQuality.d.ts.map +1 -0
  466. package/dist/dist/utils/birthdayExperienceQuality.js +33 -0
  467. package/dist/dist/utils/birthdayExperienceQuality.js.map +1 -0
  468. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.d.ts +2 -0
  469. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.d.ts.map +1 -0
  470. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.js +233 -0
  471. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.js.map +1 -0
  472. package/dist/dist/utils/blog/blogCommentDbUtils.d.ts +163 -0
  473. package/dist/dist/utils/blog/blogCommentDbUtils.d.ts.map +1 -0
  474. package/dist/dist/utils/blog/blogCommentDbUtils.js +111 -0
  475. package/dist/dist/utils/blog/blogCommentDbUtils.js.map +1 -0
  476. package/dist/dist/utils/blog/blogDbUtils.d.ts +58 -0
  477. package/dist/dist/utils/blog/blogDbUtils.d.ts.map +1 -0
  478. package/dist/dist/utils/blog/blogDbUtils.js +293 -0
  479. package/dist/dist/utils/blog/blogDbUtils.js.map +1 -0
  480. package/dist/dist/utils/blogUtils.d.ts +19 -0
  481. package/dist/dist/utils/blogUtils.d.ts.map +1 -0
  482. package/dist/dist/utils/blogUtils.js +118 -0
  483. package/dist/dist/utils/blogUtils.js.map +1 -0
  484. package/dist/dist/utils/contentFilterUtils.d.ts +46 -0
  485. package/dist/dist/utils/contentFilterUtils.d.ts.map +1 -0
  486. package/dist/dist/utils/contentFilterUtils.js +247 -0
  487. package/dist/dist/utils/contentFilterUtils.js.map +1 -0
  488. package/dist/dist/utils/dateTimeUtils.d.ts +24 -0
  489. package/dist/dist/utils/dateTimeUtils.d.ts.map +1 -0
  490. package/dist/dist/utils/dateTimeUtils.js +112 -0
  491. package/dist/dist/utils/dateTimeUtils.js.map +1 -0
  492. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.d.ts +2 -0
  493. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.d.ts.map +1 -0
  494. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.js +458 -0
  495. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.js.map +1 -0
  496. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.d.ts +2 -0
  497. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.d.ts.map +1 -0
  498. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.js +484 -0
  499. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.js.map +1 -0
  500. package/dist/dist/utils/discountEngine/bestPriceResolver.d.ts +31 -0
  501. package/dist/dist/utils/discountEngine/bestPriceResolver.d.ts.map +1 -0
  502. package/dist/dist/utils/discountEngine/bestPriceResolver.js +147 -0
  503. package/dist/dist/utils/discountEngine/bestPriceResolver.js.map +1 -0
  504. package/dist/dist/utils/discountEngine/discountCalculator.d.ts +62 -0
  505. package/dist/dist/utils/discountEngine/discountCalculator.d.ts.map +1 -0
  506. package/dist/dist/utils/discountEngine/discountCalculator.js +221 -0
  507. package/dist/dist/utils/discountEngine/discountCalculator.js.map +1 -0
  508. package/dist/dist/utils/discountEngine/eligibilityValidator.d.ts +36 -0
  509. package/dist/dist/utils/discountEngine/eligibilityValidator.d.ts.map +1 -0
  510. package/dist/dist/utils/discountEngine/eligibilityValidator.js +189 -0
  511. package/dist/dist/utils/discountEngine/eligibilityValidator.js.map +1 -0
  512. package/dist/dist/utils/discountEngine/index.d.ts +4 -0
  513. package/dist/dist/utils/discountEngine/index.d.ts.map +1 -0
  514. package/dist/dist/utils/discountEngine/index.js +5 -0
  515. package/dist/dist/utils/discountEngine/index.js.map +1 -0
  516. package/dist/dist/utils/displayDateUtils.d.ts +10 -0
  517. package/dist/dist/utils/displayDateUtils.d.ts.map +1 -0
  518. package/dist/dist/utils/displayDateUtils.js +32 -0
  519. package/dist/dist/utils/displayDateUtils.js.map +1 -0
  520. package/dist/dist/utils/entertainmentDrawFit.d.ts +27 -0
  521. package/dist/dist/utils/entertainmentDrawFit.d.ts.map +1 -0
  522. package/dist/dist/utils/entertainmentDrawFit.js +119 -0
  523. package/dist/dist/utils/entertainmentDrawFit.js.map +1 -0
  524. package/dist/dist/utils/entityUtils.d.ts +5 -0
  525. package/dist/dist/utils/entityUtils.d.ts.map +1 -0
  526. package/dist/dist/utils/entityUtils.js +5 -0
  527. package/dist/dist/utils/entityUtils.js.map +1 -0
  528. package/dist/dist/utils/eventCitySlug.d.ts +11 -0
  529. package/dist/dist/utils/eventCitySlug.d.ts.map +1 -0
  530. package/dist/dist/utils/eventCitySlug.js +20 -0
  531. package/dist/dist/utils/eventCitySlug.js.map +1 -0
  532. package/dist/dist/utils/eventTimezoneIana.d.ts +41 -0
  533. package/dist/dist/utils/eventTimezoneIana.d.ts.map +1 -0
  534. package/dist/dist/utils/eventTimezoneIana.js +282 -0
  535. package/dist/dist/utils/eventTimezoneIana.js.map +1 -0
  536. package/dist/dist/utils/featuredDiscoveryGeo.d.ts +30 -0
  537. package/dist/dist/utils/featuredDiscoveryGeo.d.ts.map +1 -0
  538. package/dist/dist/utils/featuredDiscoveryGeo.js +47 -0
  539. package/dist/dist/utils/featuredDiscoveryGeo.js.map +1 -0
  540. package/dist/dist/utils/flyerUtils.d.ts +66 -0
  541. package/dist/dist/utils/flyerUtils.d.ts.map +1 -0
  542. package/dist/dist/utils/flyerUtils.js +166 -0
  543. package/dist/dist/utils/flyerUtils.js.map +1 -0
  544. package/dist/dist/utils/generalDateTimeUtils.d.ts +15 -0
  545. package/dist/dist/utils/generalDateTimeUtils.d.ts.map +1 -0
  546. package/dist/dist/utils/generalDateTimeUtils.js +38 -0
  547. package/dist/dist/utils/generalDateTimeUtils.js.map +1 -0
  548. package/dist/dist/utils/groupTicketCartUtils.d.ts +12 -0
  549. package/dist/dist/utils/groupTicketCartUtils.d.ts.map +1 -0
  550. package/dist/dist/utils/groupTicketCartUtils.js +30 -0
  551. package/dist/dist/utils/groupTicketCartUtils.js.map +1 -0
  552. package/dist/dist/utils/guestSurface.d.ts +133 -0
  553. package/dist/dist/utils/guestSurface.d.ts.map +1 -0
  554. package/dist/dist/utils/guestSurface.js +172 -0
  555. package/dist/dist/utils/guestSurface.js.map +1 -0
  556. package/dist/dist/utils/index.d.ts +42 -0
  557. package/dist/dist/utils/index.d.ts.map +1 -0
  558. package/dist/dist/utils/index.js +42 -0
  559. package/dist/dist/utils/index.js.map +1 -0
  560. package/dist/dist/utils/lobFlyerUtils.d.ts +41 -0
  561. package/dist/dist/utils/lobFlyerUtils.d.ts.map +1 -0
  562. package/dist/dist/utils/lobFlyerUtils.js +68 -0
  563. package/dist/dist/utils/lobFlyerUtils.js.map +1 -0
  564. package/dist/dist/utils/localPartnerHours.d.ts +12 -0
  565. package/dist/dist/utils/localPartnerHours.d.ts.map +1 -0
  566. package/dist/dist/utils/localPartnerHours.js +92 -0
  567. package/dist/dist/utils/localPartnerHours.js.map +1 -0
  568. package/dist/dist/utils/locationVisibility.d.ts +71 -0
  569. package/dist/dist/utils/locationVisibility.d.ts.map +1 -0
  570. package/dist/dist/utils/locationVisibility.js +116 -0
  571. package/dist/dist/utils/locationVisibility.js.map +1 -0
  572. package/dist/dist/utils/luxonUtils.d.ts +106 -0
  573. package/dist/dist/utils/luxonUtils.d.ts.map +1 -0
  574. package/dist/dist/utils/luxonUtils.js +579 -0
  575. package/dist/dist/utils/luxonUtils.js.map +1 -0
  576. package/dist/dist/utils/mathUtils.d.ts +2 -0
  577. package/dist/dist/utils/mathUtils.d.ts.map +1 -0
  578. package/dist/dist/utils/mathUtils.js +4 -0
  579. package/dist/dist/utils/mathUtils.js.map +1 -0
  580. package/dist/dist/utils/mediaClientDefaults.d.ts +7 -0
  581. package/dist/dist/utils/mediaClientDefaults.d.ts.map +1 -0
  582. package/dist/dist/utils/mediaClientDefaults.js +7 -0
  583. package/dist/dist/utils/mediaClientDefaults.js.map +1 -0
  584. package/dist/dist/utils/nonprofitUtils.d.ts +21 -0
  585. package/dist/dist/utils/nonprofitUtils.d.ts.map +1 -0
  586. package/dist/dist/utils/nonprofitUtils.js +29 -0
  587. package/dist/dist/utils/nonprofitUtils.js.map +1 -0
  588. package/dist/dist/utils/objUtils.d.ts +3 -0
  589. package/dist/dist/utils/objUtils.d.ts.map +1 -0
  590. package/dist/dist/utils/objUtils.js +29 -0
  591. package/dist/dist/utils/objUtils.js.map +1 -0
  592. package/dist/dist/utils/orgPromotionalPackageUtils.d.ts +100 -0
  593. package/dist/dist/utils/orgPromotionalPackageUtils.d.ts.map +1 -0
  594. package/dist/dist/utils/orgPromotionalPackageUtils.js +201 -0
  595. package/dist/dist/utils/orgPromotionalPackageUtils.js.map +1 -0
  596. package/dist/dist/utils/organizationEntitlements.d.ts +20 -0
  597. package/dist/dist/utils/organizationEntitlements.d.ts.map +1 -0
  598. package/dist/dist/utils/organizationEntitlements.js +30 -0
  599. package/dist/dist/utils/organizationEntitlements.js.map +1 -0
  600. package/dist/dist/utils/paymentUtils.d.ts +234 -0
  601. package/dist/dist/utils/paymentUtils.d.ts.map +1 -0
  602. package/dist/dist/utils/paymentUtils.js +405 -0
  603. package/dist/dist/utils/paymentUtils.js.map +1 -0
  604. package/dist/dist/utils/promoCodesUtils.d.ts +6 -0
  605. package/dist/dist/utils/promoCodesUtils.d.ts.map +1 -0
  606. package/dist/dist/utils/promoCodesUtils.js +23 -0
  607. package/dist/dist/utils/promoCodesUtils.js.map +1 -0
  608. package/dist/dist/utils/promotionBlastUtils.d.ts +38 -0
  609. package/dist/dist/utils/promotionBlastUtils.d.ts.map +1 -0
  610. package/dist/dist/utils/promotionBlastUtils.js +88 -0
  611. package/dist/dist/utils/promotionBlastUtils.js.map +1 -0
  612. package/dist/dist/utils/qrCodeUtils.d.ts +5 -0
  613. package/dist/dist/utils/qrCodeUtils.d.ts.map +1 -0
  614. package/dist/dist/utils/qrCodeUtils.js +23 -0
  615. package/dist/dist/utils/qrCodeUtils.js.map +1 -0
  616. package/dist/dist/utils/recurrenceUtils.d.ts +45 -0
  617. package/dist/dist/utils/recurrenceUtils.d.ts.map +1 -0
  618. package/dist/dist/utils/recurrenceUtils.js +363 -0
  619. package/dist/dist/utils/recurrenceUtils.js.map +1 -0
  620. package/dist/dist/utils/reputationUtils.d.ts +44 -0
  621. package/dist/dist/utils/reputationUtils.d.ts.map +1 -0
  622. package/dist/dist/utils/reputationUtils.js +54 -0
  623. package/dist/dist/utils/reputationUtils.js.map +1 -0
  624. package/dist/dist/utils/reviewUtils.d.ts +29 -0
  625. package/dist/dist/utils/reviewUtils.d.ts.map +1 -0
  626. package/dist/dist/utils/reviewUtils.js +65 -0
  627. package/dist/dist/utils/reviewUtils.js.map +1 -0
  628. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.d.ts +2 -0
  629. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.d.ts.map +1 -0
  630. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.js +101 -0
  631. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.js.map +1 -0
  632. package/dist/dist/utils/service/__tests__/billingCapUtils.test.d.ts +2 -0
  633. package/dist/dist/utils/service/__tests__/billingCapUtils.test.d.ts.map +1 -0
  634. package/dist/dist/utils/service/__tests__/billingCapUtils.test.js +120 -0
  635. package/dist/dist/utils/service/__tests__/billingCapUtils.test.js.map +1 -0
  636. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.d.ts +2 -0
  637. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.d.ts.map +1 -0
  638. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.js +125 -0
  639. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.js.map +1 -0
  640. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.d.ts +2 -0
  641. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.d.ts.map +1 -0
  642. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.js +65 -0
  643. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.js.map +1 -0
  644. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.d.ts +2 -0
  645. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.d.ts.map +1 -0
  646. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.js +243 -0
  647. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.js.map +1 -0
  648. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.d.ts +2 -0
  649. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.d.ts.map +1 -0
  650. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.js +333 -0
  651. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.js.map +1 -0
  652. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.d.ts +2 -0
  653. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.d.ts.map +1 -0
  654. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.js +52 -0
  655. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.js.map +1 -0
  656. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.d.ts +2 -0
  657. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.d.ts.map +1 -0
  658. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.js +111 -0
  659. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.js.map +1 -0
  660. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.d.ts +2 -0
  661. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.d.ts.map +1 -0
  662. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.js +18 -0
  663. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.js.map +1 -0
  664. package/dist/dist/utils/service/__tests__/regexUtils.test.d.ts +2 -0
  665. package/dist/dist/utils/service/__tests__/regexUtils.test.d.ts.map +1 -0
  666. package/dist/dist/utils/service/__tests__/regexUtils.test.js +51 -0
  667. package/dist/dist/utils/service/__tests__/regexUtils.test.js.map +1 -0
  668. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.d.ts +2 -0
  669. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.d.ts.map +1 -0
  670. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js +155 -0
  671. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js.map +1 -0
  672. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.d.ts +2 -0
  673. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.d.ts.map +1 -0
  674. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js +226 -0
  675. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js.map +1 -0
  676. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.d.ts +2 -0
  677. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.d.ts.map +1 -0
  678. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.js +17 -0
  679. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.js.map +1 -0
  680. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.d.ts +2 -0
  681. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.d.ts.map +1 -0
  682. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.js +60 -0
  683. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.js.map +1 -0
  684. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.d.ts +2 -0
  685. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.d.ts.map +1 -0
  686. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.js +237 -0
  687. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.js.map +1 -0
  688. package/dist/dist/utils/service/__tests__/serviceUtils.test.d.ts +2 -0
  689. package/dist/dist/utils/service/__tests__/serviceUtils.test.d.ts.map +1 -0
  690. package/dist/dist/utils/service/__tests__/serviceUtils.test.js +135 -0
  691. package/dist/dist/utils/service/__tests__/serviceUtils.test.js.map +1 -0
  692. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.d.ts +2 -0
  693. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.d.ts.map +1 -0
  694. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.js +77 -0
  695. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.js.map +1 -0
  696. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.d.ts +2 -0
  697. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.d.ts.map +1 -0
  698. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.js +157 -0
  699. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.js.map +1 -0
  700. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.d.ts +2 -0
  701. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.d.ts.map +1 -0
  702. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.js +175 -0
  703. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.js.map +1 -0
  704. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.d.ts +2 -0
  705. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.d.ts.map +1 -0
  706. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.js +118 -0
  707. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.js.map +1 -0
  708. package/dist/dist/utils/service/apiServiceBookingApiUtils.d.ts +33 -0
  709. package/dist/dist/utils/service/apiServiceBookingApiUtils.d.ts.map +1 -0
  710. package/dist/dist/utils/service/apiServiceBookingApiUtils.js +170 -0
  711. package/dist/dist/utils/service/apiServiceBookingApiUtils.js.map +1 -0
  712. package/dist/dist/utils/service/attendeeOptionUtils.d.ts +11 -0
  713. package/dist/dist/utils/service/attendeeOptionUtils.d.ts.map +1 -0
  714. package/dist/dist/utils/service/attendeeOptionUtils.js +9 -0
  715. package/dist/dist/utils/service/attendeeOptionUtils.js.map +1 -0
  716. package/dist/dist/utils/service/billingCapUtils.d.ts +86 -0
  717. package/dist/dist/utils/service/billingCapUtils.d.ts.map +1 -0
  718. package/dist/dist/utils/service/billingCapUtils.js +96 -0
  719. package/dist/dist/utils/service/billingCapUtils.js.map +1 -0
  720. package/dist/dist/utils/service/cancellationPolicyRefundResolver.d.ts +30 -0
  721. package/dist/dist/utils/service/cancellationPolicyRefundResolver.d.ts.map +1 -0
  722. package/dist/dist/utils/service/cancellationPolicyRefundResolver.js +82 -0
  723. package/dist/dist/utils/service/cancellationPolicyRefundResolver.js.map +1 -0
  724. package/dist/dist/utils/service/defaultOfferAmountUtils.d.ts +32 -0
  725. package/dist/dist/utils/service/defaultOfferAmountUtils.d.ts.map +1 -0
  726. package/dist/dist/utils/service/defaultOfferAmountUtils.js +115 -0
  727. package/dist/dist/utils/service/defaultOfferAmountUtils.js.map +1 -0
  728. package/dist/dist/utils/service/eventPromoterUtils.d.ts +319 -0
  729. package/dist/dist/utils/service/eventPromoterUtils.d.ts.map +1 -0
  730. package/dist/dist/utils/service/eventPromoterUtils.js +372 -0
  731. package/dist/dist/utils/service/eventPromoterUtils.js.map +1 -0
  732. package/dist/dist/utils/service/frontendServiceBookingUtils.d.ts +60 -0
  733. package/dist/dist/utils/service/frontendServiceBookingUtils.d.ts.map +1 -0
  734. package/dist/dist/utils/service/frontendServiceBookingUtils.js +182 -0
  735. package/dist/dist/utils/service/frontendServiceBookingUtils.js.map +1 -0
  736. package/dist/dist/utils/service/offerAllowListUtils.d.ts +42 -0
  737. package/dist/dist/utils/service/offerAllowListUtils.d.ts.map +1 -0
  738. package/dist/dist/utils/service/offerAllowListUtils.js +49 -0
  739. package/dist/dist/utils/service/offerAllowListUtils.js.map +1 -0
  740. package/dist/dist/utils/service/offerComparisonUtils.d.ts +69 -0
  741. package/dist/dist/utils/service/offerComparisonUtils.d.ts.map +1 -0
  742. package/dist/dist/utils/service/offerComparisonUtils.js +110 -0
  743. package/dist/dist/utils/service/offerComparisonUtils.js.map +1 -0
  744. package/dist/dist/utils/service/regexUtils.d.ts +6 -0
  745. package/dist/dist/utils/service/regexUtils.d.ts.map +1 -0
  746. package/dist/dist/utils/service/regexUtils.js +16 -0
  747. package/dist/dist/utils/service/regexUtils.js.map +1 -0
  748. package/dist/dist/utils/service/serviceBookingExposureUtils.d.ts +111 -0
  749. package/dist/dist/utils/service/serviceBookingExposureUtils.d.ts.map +1 -0
  750. package/dist/dist/utils/service/serviceBookingExposureUtils.js +133 -0
  751. package/dist/dist/utils/service/serviceBookingExposureUtils.js.map +1 -0
  752. package/dist/dist/utils/service/serviceBookingStatusUtils.d.ts +21 -0
  753. package/dist/dist/utils/service/serviceBookingStatusUtils.d.ts.map +1 -0
  754. package/dist/dist/utils/service/serviceBookingStatusUtils.js +130 -0
  755. package/dist/dist/utils/service/serviceBookingStatusUtils.js.map +1 -0
  756. package/dist/dist/utils/service/serviceBookingTypes.d.ts +21 -0
  757. package/dist/dist/utils/service/serviceBookingTypes.d.ts.map +1 -0
  758. package/dist/dist/utils/service/serviceBookingTypes.js +2 -0
  759. package/dist/dist/utils/service/serviceBookingTypes.js.map +1 -0
  760. package/dist/dist/utils/service/serviceDBUtils.d.ts +12 -0
  761. package/dist/dist/utils/service/serviceDBUtils.d.ts.map +1 -0
  762. package/dist/dist/utils/service/serviceDBUtils.js +14 -0
  763. package/dist/dist/utils/service/serviceDBUtils.js.map +1 -0
  764. package/dist/dist/utils/service/serviceFeaturedSortUtils.d.ts +26 -0
  765. package/dist/dist/utils/service/serviceFeaturedSortUtils.d.ts.map +1 -0
  766. package/dist/dist/utils/service/serviceFeaturedSortUtils.js +65 -0
  767. package/dist/dist/utils/service/serviceFeaturedSortUtils.js.map +1 -0
  768. package/dist/dist/utils/service/serviceRateTypes.d.ts +9 -0
  769. package/dist/dist/utils/service/serviceRateTypes.d.ts.map +1 -0
  770. package/dist/dist/utils/service/serviceRateTypes.js +2 -0
  771. package/dist/dist/utils/service/serviceRateTypes.js.map +1 -0
  772. package/dist/dist/utils/service/serviceRateUtils.d.ts +24 -0
  773. package/dist/dist/utils/service/serviceRateUtils.d.ts.map +1 -0
  774. package/dist/dist/utils/service/serviceRateUtils.js +183 -0
  775. package/dist/dist/utils/service/serviceRateUtils.js.map +1 -0
  776. package/dist/dist/utils/service/serviceUtils.d.ts +109 -0
  777. package/dist/dist/utils/service/serviceUtils.d.ts.map +1 -0
  778. package/dist/dist/utils/service/serviceUtils.js +651 -0
  779. package/dist/dist/utils/service/serviceUtils.js.map +1 -0
  780. package/dist/dist/utils/service/unifiedPricingResolver.d.ts +67 -0
  781. package/dist/dist/utils/service/unifiedPricingResolver.d.ts.map +1 -0
  782. package/dist/dist/utils/service/unifiedPricingResolver.js +75 -0
  783. package/dist/dist/utils/service/unifiedPricingResolver.js.map +1 -0
  784. package/dist/dist/utils/service/venueFBSettlementUtils.d.ts +122 -0
  785. package/dist/dist/utils/service/venueFBSettlementUtils.d.ts.map +1 -0
  786. package/dist/dist/utils/service/venueFBSettlementUtils.js +106 -0
  787. package/dist/dist/utils/service/venueFBSettlementUtils.js.map +1 -0
  788. package/dist/dist/utils/service/venueSettlementUtils.d.ts +107 -0
  789. package/dist/dist/utils/service/venueSettlementUtils.d.ts.map +1 -0
  790. package/dist/dist/utils/service/venueSettlementUtils.js +117 -0
  791. package/dist/dist/utils/service/venueSettlementUtils.js.map +1 -0
  792. package/dist/dist/utils/service/volunteerCompensationUtils.d.ts +75 -0
  793. package/dist/dist/utils/service/volunteerCompensationUtils.d.ts.map +1 -0
  794. package/dist/dist/utils/service/volunteerCompensationUtils.js +88 -0
  795. package/dist/dist/utils/service/volunteerCompensationUtils.js.map +1 -0
  796. package/dist/dist/utils/serviceAvailabilityDisplay.d.ts +58 -0
  797. package/dist/dist/utils/serviceAvailabilityDisplay.d.ts.map +1 -0
  798. package/dist/dist/utils/serviceAvailabilityDisplay.js +143 -0
  799. package/dist/dist/utils/serviceAvailabilityDisplay.js.map +1 -0
  800. package/dist/dist/utils/slugUtils.d.ts +18 -0
  801. package/dist/dist/utils/slugUtils.d.ts.map +1 -0
  802. package/dist/dist/utils/slugUtils.js +67 -0
  803. package/dist/dist/utils/slugUtils.js.map +1 -0
  804. package/dist/dist/utils/sortUtils.d.ts +7 -0
  805. package/dist/dist/utils/sortUtils.d.ts.map +1 -0
  806. package/dist/dist/utils/sortUtils.js +26 -0
  807. package/dist/dist/utils/sortUtils.js.map +1 -0
  808. package/dist/dist/utils/stringUtils.d.ts +2 -0
  809. package/dist/dist/utils/stringUtils.d.ts.map +1 -0
  810. package/dist/dist/utils/stringUtils.js +6 -0
  811. package/dist/dist/utils/stringUtils.js.map +1 -0
  812. package/dist/dist/utils/stripeAccountUtils.d.ts +3 -0
  813. package/dist/dist/utils/stripeAccountUtils.d.ts.map +1 -0
  814. package/dist/dist/utils/stripeAccountUtils.js +8 -0
  815. package/dist/dist/utils/stripeAccountUtils.js.map +1 -0
  816. package/dist/dist/utils/ticketCheckInDisplay.d.ts +8 -0
  817. package/dist/dist/utils/ticketCheckInDisplay.d.ts.map +1 -0
  818. package/dist/dist/utils/ticketCheckInDisplay.js +29 -0
  819. package/dist/dist/utils/ticketCheckInDisplay.js.map +1 -0
  820. package/dist/dist/utils/ticketListUtils.d.ts +13 -0
  821. package/dist/dist/utils/ticketListUtils.d.ts.map +1 -0
  822. package/dist/dist/utils/ticketListUtils.js +145 -0
  823. package/dist/dist/utils/ticketListUtils.js.map +1 -0
  824. package/dist/dist/utils/ticketTierSchedule.d.ts +58 -0
  825. package/dist/dist/utils/ticketTierSchedule.d.ts.map +1 -0
  826. package/dist/dist/utils/ticketTierSchedule.js +279 -0
  827. package/dist/dist/utils/ticketTierSchedule.js.map +1 -0
  828. package/dist/dist/utils/typeUtils.d.ts +16 -0
  829. package/dist/dist/utils/typeUtils.d.ts.map +1 -0
  830. package/dist/dist/utils/typeUtils.js +8 -0
  831. package/dist/dist/utils/typeUtils.js.map +1 -0
  832. package/dist/dist/utils/urlUtils.d.ts +65 -0
  833. package/dist/dist/utils/urlUtils.d.ts.map +1 -0
  834. package/dist/dist/utils/urlUtils.js +255 -0
  835. package/dist/dist/utils/urlUtils.js.map +1 -0
  836. package/dist/dist/utils/userPromoCodeUtils.d.ts +21 -0
  837. package/dist/dist/utils/userPromoCodeUtils.d.ts.map +1 -0
  838. package/dist/dist/utils/userPromoCodeUtils.js +13 -0
  839. package/dist/dist/utils/userPromoCodeUtils.js.map +1 -0
  840. package/dist/dist/utils/userSubscriptionUtils.d.ts +28 -0
  841. package/dist/dist/utils/userSubscriptionUtils.d.ts.map +1 -0
  842. package/dist/dist/utils/userSubscriptionUtils.js +49 -0
  843. package/dist/dist/utils/userSubscriptionUtils.js.map +1 -0
  844. package/dist/dist/utils/userUtils.d.ts +49 -0
  845. package/dist/dist/utils/userUtils.d.ts.map +1 -0
  846. package/dist/dist/utils/userUtils.js +60 -0
  847. package/dist/dist/utils/userUtils.js.map +1 -0
  848. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.d.ts +2 -0
  849. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.d.ts.map +1 -0
  850. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js +67 -0
  851. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js.map +1 -0
  852. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.d.ts +2 -0
  853. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.d.ts.map +1 -0
  854. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js +71 -0
  855. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js.map +1 -0
  856. package/dist/dist/utils/venueLoyalty/eligibilityUtils.d.ts +33 -0
  857. package/dist/dist/utils/venueLoyalty/eligibilityUtils.d.ts.map +1 -0
  858. package/dist/dist/utils/venueLoyalty/eligibilityUtils.js +49 -0
  859. package/dist/dist/utils/venueLoyalty/eligibilityUtils.js.map +1 -0
  860. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts +35 -0
  861. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts.map +1 -0
  862. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.js +74 -0
  863. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.js.map +1 -0
  864. package/dist/dist/utils/venueTypeFormatter.d.ts +10 -0
  865. package/dist/dist/utils/venueTypeFormatter.d.ts.map +1 -0
  866. package/dist/dist/utils/venueTypeFormatter.js +25 -0
  867. package/dist/dist/utils/venueTypeFormatter.js.map +1 -0
  868. package/dist/dist/utmAttribution.d.ts +29 -0
  869. package/dist/dist/utmAttribution.d.ts.map +1 -0
  870. package/dist/dist/utmAttribution.js +124 -0
  871. package/dist/dist/utmAttribution.js.map +1 -0
  872. package/dist/dist/venueLoyaltyRedemption.d.ts +166 -0
  873. package/dist/dist/venueLoyaltyRedemption.d.ts.map +1 -0
  874. package/dist/dist/venueLoyaltyRedemption.js +21 -0
  875. package/dist/dist/venueLoyaltyRedemption.js.map +1 -0
  876. package/dist/dist/venueMatch.d.ts +165 -0
  877. package/dist/dist/venueMatch.d.ts.map +1 -0
  878. package/dist/dist/venueMatch.js +68 -0
  879. package/dist/dist/venueMatch.js.map +1 -0
  880. package/dist/entertainmentNotableVenues.d.ts +53 -0
  881. package/dist/entertainmentNotableVenues.d.ts.map +1 -0
  882. package/dist/entertainmentNotableVenues.js +101 -0
  883. package/dist/entertainmentNotableVenues.js.map +1 -0
  884. package/dist/extendedSchemas.d.ts +378 -10
  885. package/dist/extendedSchemas.d.ts.map +1 -1
  886. package/dist/extendedSchemas.js +74 -0
  887. package/dist/extendedSchemas.js.map +1 -1
  888. package/dist/index.d.ts +16 -3
  889. package/dist/index.d.ts.map +1 -1
  890. package/dist/index.js +15 -2
  891. package/dist/index.js.map +1 -1
  892. package/dist/influencerAudience.d.ts +24 -0
  893. package/dist/influencerAudience.d.ts.map +1 -0
  894. package/dist/influencerAudience.js +112 -0
  895. package/dist/influencerAudience.js.map +1 -0
  896. package/dist/productLaunch.d.ts +17 -0
  897. package/dist/productLaunch.d.ts.map +1 -0
  898. package/dist/productLaunch.js +50 -0
  899. package/dist/productLaunch.js.map +1 -0
  900. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.d.ts +2 -0
  901. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.d.ts.map +1 -0
  902. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.js +25 -0
  903. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.js.map +1 -0
  904. package/dist/utils/__tests__/entertainmentDrawFit.test.d.ts +2 -0
  905. package/dist/utils/__tests__/entertainmentDrawFit.test.d.ts.map +1 -0
  906. package/dist/utils/__tests__/entertainmentDrawFit.test.js +86 -0
  907. package/dist/utils/__tests__/entertainmentDrawFit.test.js.map +1 -0
  908. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.d.ts +2 -0
  909. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.d.ts.map +1 -0
  910. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.js +17 -0
  911. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.js.map +1 -0
  912. package/dist/utils/__tests__/guestSurface.test.js +6 -0
  913. package/dist/utils/__tests__/guestSurface.test.js.map +1 -1
  914. package/dist/utils/__tests__/locationVisibility.test.js +11 -0
  915. package/dist/utils/__tests__/locationVisibility.test.js.map +1 -1
  916. package/dist/utils/__tests__/organizationEntitlements.test.d.ts +2 -0
  917. package/dist/utils/__tests__/organizationEntitlements.test.d.ts.map +1 -0
  918. package/dist/utils/__tests__/organizationEntitlements.test.js +42 -0
  919. package/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -0
  920. package/dist/utils/__tests__/reputationUtils.bayesian.test.d.ts +2 -0
  921. package/dist/utils/__tests__/reputationUtils.bayesian.test.d.ts.map +1 -0
  922. package/dist/utils/__tests__/reputationUtils.bayesian.test.js +39 -0
  923. package/dist/utils/__tests__/reputationUtils.bayesian.test.js.map +1 -0
  924. package/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts +2 -0
  925. package/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts.map +1 -0
  926. package/dist/utils/__tests__/reputationUtils.serviceListing.test.js +28 -0
  927. package/dist/utils/__tests__/reputationUtils.serviceListing.test.js.map +1 -0
  928. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts +2 -0
  929. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts.map +1 -0
  930. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.js +121 -0
  931. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.js.map +1 -0
  932. package/dist/utils/__tests__/socialEventCadence.test.d.ts +2 -0
  933. package/dist/utils/__tests__/socialEventCadence.test.d.ts.map +1 -0
  934. package/dist/utils/__tests__/socialEventCadence.test.js +26 -0
  935. package/dist/utils/__tests__/socialEventCadence.test.js.map +1 -0
  936. package/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts +2 -0
  937. package/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts.map +1 -0
  938. package/dist/utils/__tests__/ticketCheckInDisplay.test.js +29 -0
  939. package/dist/utils/__tests__/ticketCheckInDisplay.test.js.map +1 -0
  940. package/dist/utils/agencyBookingCheckoutCopy.d.ts +15 -0
  941. package/dist/utils/agencyBookingCheckoutCopy.d.ts.map +1 -0
  942. package/dist/utils/agencyBookingCheckoutCopy.js +29 -0
  943. package/dist/utils/agencyBookingCheckoutCopy.js.map +1 -0
  944. package/dist/utils/blog/blogCommentDbUtils.d.ts +2 -0
  945. package/dist/utils/blog/blogCommentDbUtils.d.ts.map +1 -1
  946. package/dist/utils/entertainmentDrawFit.d.ts +27 -0
  947. package/dist/utils/entertainmentDrawFit.d.ts.map +1 -0
  948. package/dist/utils/entertainmentDrawFit.js +119 -0
  949. package/dist/utils/entertainmentDrawFit.js.map +1 -0
  950. package/dist/utils/entertainmentServiceTypeOptions.d.ts +9 -0
  951. package/dist/utils/entertainmentServiceTypeOptions.d.ts.map +1 -0
  952. package/dist/utils/entertainmentServiceTypeOptions.js +46 -0
  953. package/dist/utils/entertainmentServiceTypeOptions.js.map +1 -0
  954. package/dist/utils/guestSurface.d.ts +11 -1
  955. package/dist/utils/guestSurface.d.ts.map +1 -1
  956. package/dist/utils/guestSurface.js +1 -1
  957. package/dist/utils/guestSurface.js.map +1 -1
  958. package/dist/utils/locationVisibility.d.ts +5 -0
  959. package/dist/utils/locationVisibility.d.ts.map +1 -1
  960. package/dist/utils/locationVisibility.js +4 -2
  961. package/dist/utils/locationVisibility.js.map +1 -1
  962. package/dist/utils/luxonUtils.d.ts.map +1 -1
  963. package/dist/utils/luxonUtils.js +20 -8
  964. package/dist/utils/luxonUtils.js.map +1 -1
  965. package/dist/utils/organizationEntitlements.d.ts +20 -0
  966. package/dist/utils/organizationEntitlements.d.ts.map +1 -0
  967. package/dist/utils/organizationEntitlements.js +30 -0
  968. package/dist/utils/organizationEntitlements.js.map +1 -0
  969. package/dist/utils/recurrenceUtils.d.ts.map +1 -1
  970. package/dist/utils/recurrenceUtils.js +7 -3
  971. package/dist/utils/recurrenceUtils.js.map +1 -1
  972. package/dist/utils/reputationUtils.d.ts +44 -0
  973. package/dist/utils/reputationUtils.d.ts.map +1 -0
  974. package/dist/utils/reputationUtils.js +54 -0
  975. package/dist/utils/reputationUtils.js.map +1 -0
  976. package/dist/utils/service/serviceUtils.d.ts +4 -1
  977. package/dist/utils/service/serviceUtils.d.ts.map +1 -1
  978. package/dist/utils/service/serviceUtils.js.map +1 -1
  979. package/dist/utils/serviceAvailabilityDisplay.d.ts +58 -0
  980. package/dist/utils/serviceAvailabilityDisplay.d.ts.map +1 -0
  981. package/dist/utils/serviceAvailabilityDisplay.js +143 -0
  982. package/dist/utils/serviceAvailabilityDisplay.js.map +1 -0
  983. package/dist/utils/ticketCheckInDisplay.d.ts +8 -0
  984. package/dist/utils/ticketCheckInDisplay.d.ts.map +1 -0
  985. package/dist/utils/ticketCheckInDisplay.js +29 -0
  986. package/dist/utils/ticketCheckInDisplay.js.map +1 -0
  987. package/dist/utils/userUtils.d.ts +16 -1
  988. package/dist/utils/userUtils.d.ts.map +1 -1
  989. package/dist/utils/userUtils.js +31 -0
  990. package/dist/utils/userUtils.js.map +1 -1
  991. package/package.json +1 -1
  992. package/prisma/schema.prisma +1012 -3
  993. package/src/__tests__/accessScreening.test.ts +29 -0
  994. package/src/__tests__/bookingIntent.test.ts +50 -0
  995. package/src/__tests__/entertainmentNotableVenues.test.ts +110 -0
  996. package/src/__tests__/influencerAudience.test.ts +38 -0
  997. package/src/__tests__/productLaunch.test.ts +52 -0
  998. package/src/accessScreening.ts +23 -0
  999. package/src/aiEventPlan.ts +75 -0
  1000. package/src/bookingIntent.ts +54 -0
  1001. package/src/definitions.ts +2 -0
  1002. package/src/entertainmentNotableVenues.ts +137 -0
  1003. package/src/extendedSchemas.ts +139 -11
  1004. package/src/index.ts +45 -1
  1005. package/src/influencerAudience.ts +156 -0
  1006. package/src/productLaunch.ts +68 -0
  1007. package/src/utils/__tests__/agencyBookingCheckoutCopy.test.ts +27 -0
  1008. package/src/utils/__tests__/entertainmentDrawFit.test.ts +122 -0
  1009. package/src/utils/__tests__/entertainmentServiceTypeOptions.test.ts +18 -0
  1010. package/src/utils/__tests__/guestSurface.test.ts +9 -0
  1011. package/src/utils/__tests__/locationVisibility.test.ts +14 -0
  1012. package/src/utils/__tests__/organizationEntitlements.test.ts +59 -0
  1013. package/src/utils/__tests__/reputationUtils.bayesian.test.ts +48 -0
  1014. package/src/utils/__tests__/reputationUtils.serviceListing.test.ts +36 -0
  1015. package/src/utils/__tests__/serviceAvailabilityDisplay.test.ts +152 -0
  1016. package/src/utils/__tests__/socialEventCadence.test.ts +37 -0
  1017. package/src/utils/__tests__/ticketCheckInDisplay.test.ts +49 -0
  1018. package/src/utils/agencyBookingCheckoutCopy.ts +50 -0
  1019. package/src/utils/entertainmentDrawFit.ts +180 -0
  1020. package/src/utils/entertainmentServiceTypeOptions.ts +56 -0
  1021. package/src/utils/guestSurface.ts +20 -3
  1022. package/src/utils/locationVisibility.ts +11 -2
  1023. package/src/utils/luxonUtils.ts +22 -14
  1024. package/src/utils/organizationEntitlements.ts +37 -0
  1025. package/src/utils/recurrenceUtils.ts +6 -3
  1026. package/src/utils/reputationUtils.ts +94 -0
  1027. package/src/utils/service/serviceUtils.ts +6 -2
  1028. package/src/utils/serviceAvailabilityDisplay.ts +199 -0
  1029. package/src/utils/ticketCheckInDisplay.ts +37 -0
  1030. package/src/utils/userUtils.ts +36 -1
@@ -809,6 +809,14 @@ model BashEvent {
809
809
  showAttendees Boolean @default(true)
810
810
  /// Host opt-in: show soft "public interest" controls on the bash detail page (signed-in viewers). Not a guest list; invite RSVP stays separate.
811
811
  allowPublicInterestRsvp Boolean @default(false)
812
+ /// Entry model for this bash. Ticketed (default) keeps the existing checkout as
813
+ /// the source of truth. Rsvp turns the bash into a free, RSVP-based event
814
+ /// (Partiful-style) backed by PublicBashRsvp responses. Ticketed events may
815
+ /// still surface a soft "Interested" signal via allowPublicInterestRsvp.
816
+ entryMode EventEntryMode @default(Ticketed)
817
+ /// For Rsvp-mode events: which RSVP buttons the organizer exposes to guests,
818
+ /// as an ordered subset of RsvpState. Empty falls back to [Going, Maybe, CantGo].
819
+ rsvpStatesEnabled RsvpState[] @default([Going, Maybe, CantGo])
812
820
  /// When true, guests can join a waitlist (activated automatically when amountOfGuests.allowWaitlistAtMax is set and max capacity is reached)
813
821
  waitlistEnabled Boolean @default(false)
814
822
  /// High-demand on-sale: virtual waiting room before checkout (requires queue worker when enabled).
@@ -834,7 +842,15 @@ model BashEvent {
834
842
  attendeeListPublic Boolean @default(false)
835
843
  /// Preview = count + curated faces; Public = full list for everyone; TicketHolders = full list for ticket buyers only.
836
844
  attendeeListAccess String @default("Preview")
845
+ /// When true on Rsvp-mode events, affirmative RSVPs land in a host approval queue first.
846
+ rsvpRequiresApproval Boolean @default(false)
847
+ /// Hide when guests RSVP'd on host-facing attendee views.
848
+ hideRsvpTimestamps Boolean @default(false)
849
+ /// Only allow inviting people who share a mutual bash with the host.
850
+ invitesLimitedToMutuals Boolean @default(false)
837
851
  showOrganizerTitles Boolean @default(false)
852
+ /// When true, low-stock scarcity badges show "X% left" instead of "Only N left".
853
+ showPercentRemaining Boolean @default(false)
838
854
  servicePreferences Json? // New tiered status: { "Entertainment": "need", "Sponsors": "booked_closed", ... }
839
855
  bookedServices Json? // Booked service details: { "Entertainment": { serviceId: "...", providerId: "...", bookedAt: "..." }, ... }
840
856
  serviceVisibility Json? // DEPRECATED: Use servicePreferences instead. Kept for backward compatibility during migration.
@@ -870,8 +886,25 @@ model BashEvent {
870
886
  externalPriceSummary String? // Human-readable price summary e.g., "$50 - $150" or "$75"
871
887
  customTermsAndConditions String?
872
888
  itinerary Json? // Array of { id: string, title: string, startTime: string, endTime: string, description?: string }
889
+ /// Pending AI schedule suggestions from generate-details; cleared when host accepts or dismisses
890
+ aiSuggestedItinerary Json?
891
+ /// Pending AI host checklist from generate-details; cleared when host accepts or dismisses
892
+ aiSuggestedTasks Json?
873
893
  backgroundImage String? // Custom or curated background image URL for the bash detail page
894
+ backgroundEffect BackgroundEffect @default(None)
874
895
  themeColor String? // Dominant hex color extracted from the event flyer (e.g. "#7c3aed")
896
+ /// RSVP-gated discussion thread on bash detail
897
+ discussionEnabled Boolean @default(true)
898
+ /// Let attendees share invite links with ?ref= attribution
899
+ guestsCanInviteOthers Boolean @default(false)
900
+ /// Private-event screening: route access requests to a host approval queue
901
+ accessScreeningEnabled Boolean @default(false)
902
+ /// Collaborative post-event photo/video album contributions
903
+ albumEnabled Boolean @default(false)
904
+ /// When true, attendee uploads require host approval before appearing in the public album.
905
+ albumModerationEnabled Boolean @default(false)
906
+ /// Opt-in post-event attendee networking
907
+ postEventNetworkingEnabled Boolean @default(false)
875
908
 
876
909
  // Host broadcast fields
877
910
  postEventMessageSent Boolean @default(false)
@@ -881,6 +914,8 @@ model BashEvent {
881
914
 
882
915
  // Idea-specific fields (only used when status = 'Idea')
883
916
  ideaExpiresAt DateTime?
917
+ /// Set when an Idea reverts to Draft (expired before threshold); durable marker for revival UX.
918
+ wasIdea Boolean @default(false)
884
919
  ideaInterestThreshold Int? @default(35)
885
920
  hideInterestCount Boolean @default(false)
886
921
  isAutoApprovable Boolean @default(false)
@@ -982,6 +1017,7 @@ model BashEvent {
982
1017
  // Per-event referral rewards
983
1018
  eventReferralRewards EventReferralReward[]
984
1019
  eventReferrals EventReferral[]
1020
+ discussionComments EventDiscussionComment[]
985
1021
  bashEventDonations BashEventDonation[]
986
1022
 
987
1023
  // User night itineraries (events in user's "My Night" plan)
@@ -1005,8 +1041,10 @@ model BashEvent {
1005
1041
  flyerCampaigns FlyerCampaign[]
1006
1042
  featuredGuests EventFeaturedGuest[]
1007
1043
  attendeeVisibilities EventAttendeeVisibility[]
1044
+ guestEventGrants GuestEventGrant[]
1045
+ guestSessionRecoveries GuestSessionRecovery[]
1008
1046
 
1009
- /// Latest AI moderator verdict (see `bashApprovalAiService` + `mapAiResultToDecision`).
1047
+ /// Latest AI moderator verdict
1010
1048
  /// Null = never reviewed by AI. Recomputed each time the bash transitions to Pending
1011
1049
  /// or a super-user clicks "Re-run AI review".
1012
1050
  aiApprovalVerdict AiApprovalVerdict?
@@ -1775,12 +1813,34 @@ model IdeaConfiguration {
1775
1813
  @@index([isActive])
1776
1814
  }
1777
1815
 
1816
+ /// How guests join a bash.
1817
+ enum EventEntryMode {
1818
+ Ticketed // existing checkout is the source of truth
1819
+ Rsvp // free / non-ticketed; guests respond via PublicBashRsvp
1820
+ }
1821
+
1822
+ /// RSVP response states for Rsvp-mode events. Organizers pick the enabled subset
1823
+ /// (BashEvent.rsvpStatesEnabled). Extensible — add states here as the product grows.
1824
+ /// NOTE: legacy PublicBashRsvp.status rows may contain "NotGoing"; the API treats
1825
+ /// that as equivalent to CantGo for counting.
1826
+ enum RsvpState {
1827
+ Interested
1828
+ Going
1829
+ Maybe
1830
+ CantGo
1831
+ }
1832
+
1778
1833
  /// Soft RSVP for public Bash events (logged-in users). Distinct from org-scoped EventRSVP.
1779
1834
  model PublicBashRsvp {
1780
1835
  id String @id @default(cuid())
1781
1836
  bashEventId String
1782
1837
  userId String
1783
- status String @default("Maybe") // Going | Maybe | NotGoing
1838
+ status String @default("Maybe") // RsvpState name: Interested | Going | Maybe | CantGo (legacy: NotGoing)
1839
+ /// Host approval queue for Rsvp-mode events when BashEvent.rsvpRequiresApproval is true.
1840
+ approvalStatus String @default("Approved") // Pending | Approved | Denied
1841
+ /// Guest-managed plus-ones for Rsvp-mode events. Names optional; count drives capacity.
1842
+ plusOnesCount Int @default(0)
1843
+ plusOneNames String[] @default([])
1784
1844
  createdAt DateTime @default(now())
1785
1845
  updatedAt DateTime @updatedAt
1786
1846
 
@@ -1790,6 +1850,67 @@ model PublicBashRsvp {
1790
1850
  @@unique([bashEventId, userId])
1791
1851
  @@index([bashEventId])
1792
1852
  @@index([userId])
1853
+ @@index([bashEventId, approvalStatus])
1854
+ }
1855
+
1856
+ /// Global guest identity for frictionless RSVP (email or phone). Links to User when upgraded.
1857
+ model GuestIdentity {
1858
+ id String @id @default(cuid())
1859
+ email String? @unique
1860
+ phoneE164 String? @unique
1861
+ userId String?
1862
+ user User? @relation("GuestIdentityUser", fields: [userId], references: [id], onDelete: SetNull)
1863
+ createdAt DateTime @default(now())
1864
+ updatedAt DateTime @updatedAt
1865
+
1866
+ eventGrants GuestEventGrant[]
1867
+ sessionRecoveries GuestSessionRecovery[]
1868
+
1869
+ @@index([userId])
1870
+ }
1871
+
1872
+ enum GuestSessionRecoveryKind {
1873
+ EmailMagicLink
1874
+ PhoneOtp
1875
+ }
1876
+
1877
+ /// One-time token for cross-device guest session restore (magic link or SMS OTP).
1878
+ model GuestSessionRecovery {
1879
+ id String @id @default(cuid())
1880
+ guestIdentityId String
1881
+ bashEventId String
1882
+ kind GuestSessionRecoveryKind
1883
+ tokenHash String
1884
+ expiresAt DateTime
1885
+ consumedAt DateTime?
1886
+ attemptCount Int @default(0)
1887
+ createdAt DateTime @default(now())
1888
+
1889
+ guestIdentity GuestIdentity @relation(fields: [guestIdentityId], references: [id], onDelete: Cascade)
1890
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1891
+
1892
+ @@index([guestIdentityId, bashEventId])
1893
+ @@index([tokenHash])
1894
+ @@index([expiresAt])
1895
+ }
1896
+
1897
+ /// Per-event permission for a guest identity (RSVP unlock). Revoked when host removes access.
1898
+ model GuestEventGrant {
1899
+ id String @id @default(cuid())
1900
+ guestIdentityId String
1901
+ bashEventId String
1902
+ publicRsvpId String?
1903
+ rsvpState String
1904
+ revokedAt DateTime?
1905
+ grantedAt DateTime @default(now())
1906
+ updatedAt DateTime @updatedAt
1907
+
1908
+ guestIdentity GuestIdentity @relation(fields: [guestIdentityId], references: [id], onDelete: Cascade)
1909
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1910
+
1911
+ @@unique([guestIdentityId, bashEventId])
1912
+ @@index([bashEventId])
1913
+ @@index([guestIdentityId])
1793
1914
  }
1794
1915
 
1795
1916
  // Per-event referral rewards: host defines tiers (e.g. 3 referrals = free drink)
@@ -1809,6 +1930,153 @@ model EventReferralReward {
1809
1930
  @@index([bashEventId])
1810
1931
  }
1811
1932
 
1933
+ enum BackgroundEffect {
1934
+ None
1935
+ Confetti
1936
+ Aurora
1937
+ GradientPulse
1938
+ Starfield
1939
+ }
1940
+
1941
+ model EventDiscussionComment {
1942
+ id String @id @default(cuid())
1943
+ bashEventId String
1944
+ authorId String
1945
+ body String @db.Text
1946
+ mentionedUserIds String[] // User IDs mentioned in the comment
1947
+ parentId String? // For nested replies (mirrors BashFeedComment)
1948
+ createdAt DateTime @default(now())
1949
+ updatedAt DateTime @updatedAt
1950
+
1951
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1952
+ author User @relation("EventDiscussionComments", fields: [authorId], references: [id], onDelete: Cascade)
1953
+ parent EventDiscussionComment? @relation("EventDiscussionReplies", fields: [parentId], references: [id], onDelete: Cascade)
1954
+ replies EventDiscussionComment[] @relation("EventDiscussionReplies")
1955
+ likes EventDiscussionCommentLike[]
1956
+
1957
+ @@index([bashEventId])
1958
+ @@index([authorId])
1959
+ @@index([parentId])
1960
+ }
1961
+
1962
+ model EventDiscussionCommentLike {
1963
+ id String @id @default(cuid())
1964
+ userId String
1965
+ commentId String
1966
+ createdAt DateTime @default(now())
1967
+
1968
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
1969
+ comment EventDiscussionComment @relation(fields: [commentId], references: [id], onDelete: Cascade)
1970
+
1971
+ @@unique([userId, commentId])
1972
+ @@index([commentId])
1973
+ }
1974
+
1975
+ // === Phase 3: event experience depth ========================================
1976
+ // Scalar-FK models (no Prisma relations to the large BashEvent/User models);
1977
+ // DB foreign keys are added in the migration for integrity.
1978
+
1979
+ enum BashEventQuestionType {
1980
+ ShortText
1981
+ LongText
1982
+ SingleChoice
1983
+ MultiChoice
1984
+ YesNo
1985
+ }
1986
+
1987
+ /// Host-defined custom RSVP / checkout question for a bash.
1988
+ model BashEventCustomQuestion {
1989
+ id String @id @default(cuid())
1990
+ bashEventId String
1991
+ prompt String
1992
+ type BashEventQuestionType @default(ShortText)
1993
+ options String[] @default([])
1994
+ required Boolean @default(false)
1995
+ sortOrder Int @default(0)
1996
+ createdAt DateTime @default(now())
1997
+ updatedAt DateTime @updatedAt
1998
+
1999
+ @@index([bashEventId])
2000
+ }
2001
+
2002
+ /// An attendee's answer to a custom question (captured at RSVP / checkout).
2003
+ model BashEventQuestionAnswer {
2004
+ id String @id @default(cuid())
2005
+ questionId String
2006
+ bashEventId String
2007
+ userId String?
2008
+ email String?
2009
+ ticketId String?
2010
+ answer String
2011
+ createdAt DateTime @default(now())
2012
+
2013
+ @@index([questionId])
2014
+ @@index([bashEventId])
2015
+ }
2016
+
2017
+ enum BashEventAccessRequestStatus {
2018
+ Pending
2019
+ Approved
2020
+ Denied
2021
+ }
2022
+
2023
+ /// Request to attend a private/screened bash, routed to the host approval queue.
2024
+ model BashEventAccessRequest {
2025
+ id String @id @default(cuid())
2026
+ bashEventId String
2027
+ requesterUserId String?
2028
+ requesterEmail String?
2029
+ message String?
2030
+ status BashEventAccessRequestStatus @default(Pending)
2031
+ reviewedByUserId String?
2032
+ reviewedAt DateTime?
2033
+ createdAt DateTime @default(now())
2034
+ updatedAt DateTime @updatedAt
2035
+
2036
+ @@index([bashEventId, status])
2037
+ }
2038
+
2039
+ /// A collaborative album contribution (photo/video URL) for a bash.
2040
+ model EventAlbumItem {
2041
+ id String @id @default(cuid())
2042
+ bashEventId String
2043
+ uploaderUserId String
2044
+ mediaUrl String
2045
+ caption String?
2046
+ isApproved Boolean @default(true)
2047
+ createdAt DateTime @default(now())
2048
+
2049
+ @@index([bashEventId])
2050
+ }
2051
+
2052
+ /// Post-event networking opt-in: attendees who agreed to be discoverable to others who went.
2053
+ model EventNetworkingOptIn {
2054
+ id String @id @default(cuid())
2055
+ bashEventId String
2056
+ userId String
2057
+ optedInAt DateTime @default(now())
2058
+
2059
+ @@unique([bashEventId, userId])
2060
+ @@index([bashEventId])
2061
+ }
2062
+
2063
+ /// Host-scoped CRM row for a past guest (VIP tags, notes)
2064
+ model HostAttendeeProfile {
2065
+ id String @id @default(cuid())
2066
+ hostUserId String
2067
+ attendeeUserId String?
2068
+ attendeeEmail String?
2069
+ tags String[] @default([])
2070
+ notes String? @db.Text
2071
+ createdAt DateTime @default(now())
2072
+ updatedAt DateTime @updatedAt
2073
+
2074
+ host User @relation("HostAttendeeProfilesOwned", fields: [hostUserId], references: [id], onDelete: Cascade)
2075
+ attendee User? @relation("HostAttendeeProfilesTarget", fields: [attendeeUserId], references: [id], onDelete: SetNull)
2076
+
2077
+ @@index([hostUserId])
2078
+ }
2079
+
1812
2080
  // Tracks referrals: attendee A referred person B who bought a ticket
1813
2081
  model EventReferral {
1814
2082
  id String @id @default(cuid())
@@ -2199,6 +2467,8 @@ model Ticket {
2199
2467
  waitlistReminderSentAt DateTime?
2200
2468
  /// When we last sent the 1-hour-before-start reminder (email/push/SMS); avoids duplicate cron sends.
2201
2469
  lastReminded1hAt DateTime?
2470
+ lastReminded24hAt DateTime?
2471
+ lastReminded1weekAt DateTime?
2202
2472
  refundRequestedAt DateTime? // Set when RefundPending; cleared once refund processes
2203
2473
  checkInLocation String?
2204
2474
  checkOutLocation String?
@@ -2715,6 +2985,12 @@ model User {
2715
2985
  id String @id @default(cuid())
2716
2986
  username String? @unique
2717
2987
  email String @unique
2988
+ // Talent agency / booking management relations (additive).
2989
+ artistRepresentations OrganizationArtistRepresentation[] @relation("ArtistRepresentations")
2990
+ representationsInvited OrganizationArtistRepresentation[] @relation("RepresentationInviter")
2991
+ artistInvitationsReceived OrganizationArtistInvitation[] @relation("ArtistInvitationInvitee")
2992
+ artistInvitationsSent OrganizationArtistInvitation[] @relation("ArtistInvitationSender")
2993
+ agencySettlementsAsArtist AgencyBookingSettlement[]
2718
2994
  createdOn DateTime @default(now())
2719
2995
  stripeCustomerId String? @unique
2720
2996
  stripeAccountId String? @unique
@@ -2772,6 +3048,10 @@ model User {
2772
3048
  /// Public-profile visibility flags for self-reported demographics
2773
3049
  showAgeOnProfile Boolean @default(true)
2774
3050
  showGenderOnProfile Boolean @default(true)
3051
+ /// How often the user likes to go to events (self-reported, optional).
3052
+ socialEventCadence SocialEventCadence?
3053
+ /// Opt-in to show social event cadence on the public profile (default hidden).
3054
+ showSocialEventCadenceOnProfile Boolean @default(false)
2775
3055
  /// Master visibility toggle for ID/Payment/Host/Student trust badges
2776
3056
  showVerifiedBadgesOnProfile Boolean @default(true)
2777
3057
  organization String?
@@ -3021,6 +3301,7 @@ model User {
3021
3301
  suspendedUsers User[] @relation("SuspendedUsers")
3022
3302
  favorites UserFavorite[]
3023
3303
  publicBashRsvps PublicBashRsvp[]
3304
+ guestIdentities GuestIdentity[] @relation("GuestIdentityUser")
3024
3305
  following UserFollowing[] @relation("Follower")
3025
3306
  followers UserFollowing[] @relation("Following")
3026
3307
  connectionRequestsSent UserConnection[] @relation("ConnectionRequestsSent")
@@ -3051,6 +3332,10 @@ model User {
3051
3332
  claimBan UserClaimBan?
3052
3333
  bannedUsers UserClaimBan[] @relation("BannedBy")
3053
3334
  ambashadorApplications AmbashadorApplication[]
3335
+ productLaunchWaitlistSignups ProductLaunchWaitlistSignup[]
3336
+ productLaunchRankSubmissions ProductLaunchRankSubmission[]
3337
+ enterpriseLeads EnterpriseLead[]
3338
+ feedbackTeamApplications FeedbackTeamApplication[]
3054
3339
  pushNotificationTokens PushNotificationToken[]
3055
3340
  redeemedVouchers Voucher[]
3056
3341
  bashEventPromoCodesIUsed BashEventPromoCode[] @relation("BashEventPromoCodeToUser")
@@ -3059,6 +3344,9 @@ model User {
3059
3344
  scoutReferralsMade ScoutReferral[] @relation("ScoutReferrer")
3060
3345
  eventReferralsMade EventReferral[] @relation("EventReferralsMade")
3061
3346
  eventReferralsReceived EventReferral[] @relation("EventReferralsReceived")
3347
+ eventDiscussionComments EventDiscussionComment[] @relation("EventDiscussionComments")
3348
+ hostAttendeeProfilesOwned HostAttendeeProfile[] @relation("HostAttendeeProfilesOwned")
3349
+ hostAttendeeProfilesTarget HostAttendeeProfile[] @relation("HostAttendeeProfilesTarget")
3062
3350
  bashListsCreated BashList[]
3063
3351
  userItineraries UserItinerary[]
3064
3352
  aiRecommendationLogs AIRecommendationLog[]
@@ -3083,6 +3371,7 @@ model User {
3083
3371
  bashFeedLikes BashFeedLike[]
3084
3372
  bashFeedComments BashFeedComment[]
3085
3373
  bashFeedCommentLikes BashFeedCommentLike[]
3374
+ eventDiscussionCommentLikes EventDiscussionCommentLike[]
3086
3375
  bashFeedRatings BashFeedRating[]
3087
3376
  bashFeedReports BashFeedReport[]
3088
3377
  reviewedFeedReports BashFeedReport[] @relation("ReviewedReports")
@@ -3113,6 +3402,7 @@ model User {
3113
3402
  ownedBudgets Budget[] @relation("UserBudgets")
3114
3403
  departmentsHeaded Department[] @relation("DepartmentHead")
3115
3404
  favoriteOrganizations Organization[] @relation("FavoriteOrganizations")
3405
+ organizationEmailSubscriptions OrganizationSubscriber[]
3116
3406
  eventSeriesCreated EventSeries[] @relation("EventSeriesCreator")
3117
3407
 
3118
3408
  // Service Includes & Add-On Requests
@@ -3568,10 +3858,26 @@ model UserSubscription {
3568
3858
  model Service {
3569
3859
  id String @id @default(cuid())
3570
3860
  serviceType ServiceTypes?
3861
+ /// Agency representations for this bookable profile (additive). When an Active
3862
+ /// Exclusive representation disallows direct booking, directBookingDisabled is set.
3863
+ representations OrganizationArtistRepresentation[]
3864
+ directBookingDisabled Boolean @default(false)
3571
3865
  serviceStatus ServiceStatus @default(Draft)
3572
3866
  serviceCondition ServiceCondition @default(Pending)
3573
3867
  subscriptionStatus ServiceSubscriptionStatus @default(None)
3574
3868
  isApproved Boolean @default(false)
3869
+ /// Claim lifecycle for outreach-sourced (e.g. Vapi) unclaimed listings.
3870
+ /// NotApplicable for normal owner-created services.
3871
+ claimStatus ServiceClaimStatus @default(NotApplicable)
3872
+ /// Where the "claim your listing" invite is sent (scraped/outreach contact).
3873
+ claimInviteEmail String?
3874
+ /// Magic-link token for the claim invitation flow.
3875
+ claimInviteToken String? @unique
3876
+ claimedAt DateTime?
3877
+ /// Originating outreach lead (Vapi dialer) when this is an unclaimed listing.
3878
+ sourceOutreachLeadId String?
3879
+ claimRequests ServiceClaimRequest[]
3880
+ serviceInquiries ServiceInquiry[]
3575
3881
  ownerId String?
3576
3882
  creatorId String?
3577
3883
  createdAt DateTime @default(now())
@@ -3606,8 +3912,20 @@ model Service {
3606
3912
  instantBookingLeadTimeHours Int @default(0)
3607
3913
  displayGoogleReviewsOnDetailPage Boolean @default(true)
3608
3914
  displayBashReviewsOnDetailPage Boolean @default(true)
3915
+ /// When true, the public profile shows the availability section (hours, weekday/weekend preset, read-only calendar).
3916
+ showAvailabilityOnProfile Boolean @default(false)
3917
+ /// Provider's current booking intent, shown as a badge on the profile and browse cards.
3918
+ bookingIntent BookingIntent @default(OpenToOffers)
3919
+ /// Bash-native aggregate rating (core model). Populated from available signals
3920
+ /// (currently Google reviews per serviceRatingUtils; bash-native service reviews
3921
+ /// can feed this later without a schema change).
3609
3922
  serviceRating Float? @default(0)
3610
3923
  totalRatings Int? @default(0)
3924
+ /// Optional external-review ingestion (Google/Yelp/etc.). Kept separate from the
3925
+ /// Bash-native aggregate so the source of truth stays clear.
3926
+ externalReviewSource String?
3927
+ externalRating Float?
3928
+ externalReviewCount Int?
3611
3929
  stripeAccountId String?
3612
3930
  paymentAccountId String?
3613
3931
  targetAudienceId String? @unique
@@ -3823,7 +4141,11 @@ model EventService {
3823
4141
  goodsOrServices String[]
3824
4142
  menuItems String?
3825
4143
  venueTypes String[]
3826
- secondaryVenueTypes String[] @default([])
4144
+ secondaryVenueTypes String[] @default([])
4145
+ /// Influencer subtype: audience tier and reach (see bash-common/influencerAudience.ts).
4146
+ influencerAudienceTier InfluencerAudienceTier?
4147
+ influencerFollowerCount Int?
4148
+ influencerPrimaryPlatforms String[] @default([])
3827
4149
  // Pricing Model Fields — Event Promoter subtype is locked to PER_ATTENDEE
3828
4150
  // by `validateEventPromoterPricing` in bash-common/eventPromoterUtils.ts.
3829
4151
  pricingModel PricingModel? @default(CUSTOM)
@@ -3873,6 +4195,17 @@ model EntertainmentService {
3873
4195
  notifyOnMatchingVenues Boolean @default(true)
3874
4196
  lastMatchNotificationSent DateTime?
3875
4197
 
4198
+ /// Free-text venue names where this act has performed (optional social proof).
4199
+ notableVenuesPerformed String[] @default([])
4200
+ showNotableVenuesPerformed Boolean @default(false)
4201
+ /// Structured venue history: name, favorite flag, reason tags, optional note.
4202
+ notableVenueEntries Json @default("[]")
4203
+
4204
+ /// DJ / musician performance details (optional, mostly relevant to musical acts).
4205
+ setlist String[] @default([]) // representative tracks / sets
4206
+ gearProvided String[] @default([]) // equipment the act brings (decks, PA, lighting)
4207
+ technicalRider String? // power/stage/sound requirements the host must meet
4208
+
3876
4209
  // Phase 1 unified pricing block — adds parity with EventService/Vendor/etc.
3877
4210
  // so EntertainmentService can quote PER_ATTENDEE, PER_PAID_ATTENDEE, etc.
3878
4211
  pricingModel PricingModel? @default(CUSTOM)
@@ -4365,6 +4698,7 @@ model Organization {
4365
4698
  bashEvents BashEvent[] @relation("OrganizationBashEvents")
4366
4699
  eventSeries EventSeries[] @relation("OrganizationEventSeries")
4367
4700
  favoriteBy User[] @relation("FavoriteOrganizations")
4701
+ emailSubscribers OrganizationSubscriber[]
4368
4702
  sportsProfile SportsProfile?
4369
4703
  seasons Season[]
4370
4704
  homeTeamGames Game[] @relation("HomeTeamGames")
@@ -4392,18 +4726,289 @@ model Organization {
4392
4726
  smsMonthAnchor DateTime @default(now())
4393
4727
  smsAutoShutoffAt DateTime?
4394
4728
 
4729
+ /// Cooldown + frequency anchors for follower broadcasts (email + SMS) from the
4730
+ /// org dashboard. Mirrors BashEvent.broadcastCount/lastBroadcastAt; rolling 7-day
4731
+ /// window is enforced in app code against the *At timestamps.
4732
+ followerEmailBlastCount Int @default(0)
4733
+ lastFollowerEmailBlastAt DateTime?
4734
+ followerSmsBlastCount Int @default(0)
4735
+ lastFollowerSmsBlastAt DateTime?
4736
+
4395
4737
  smsSendLogs SmsSendLog[]
4396
4738
 
4397
4739
  /// Per-tier promotional package rates for external hosts (community / spotlight / featured).
4398
4740
  promotionalPackageRates Json?
4399
4741
  orgPromotionalPackages OrgPromotionalPackage[]
4400
4742
 
4743
+ /// Talent agency / booking management (additive).
4744
+ talentProfile OrganizationTalentProfile?
4745
+ artistRepresentations OrganizationArtistRepresentation[]
4746
+ artistInvitations OrganizationArtistInvitation[]
4747
+ agencyBookingSettlements AgencyBookingSettlement[]
4748
+ representedBookings ServiceBooking[]
4749
+
4401
4750
  @@index([ownerId])
4402
4751
  @@index([slug])
4403
4752
  @@index([parentOrganizationId])
4404
4753
  @@index([nonprofitVerifiedAt])
4405
4754
  }
4406
4755
 
4756
+ /// Email-first followers of a public organizer (org landing). Authenticated users who
4757
+ /// Follow also get a row here when we know their email. Distinct from org membership.
4758
+ model OrganizationSubscriber {
4759
+ id String @id @default(cuid())
4760
+ organizationId String
4761
+ email String
4762
+ userId String?
4763
+ source String @default("org_landing")
4764
+ optedInAt DateTime @default(now())
4765
+ unsubscribedAt DateTime?
4766
+ unsubscribeToken String @unique @default(cuid())
4767
+
4768
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4769
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
4770
+
4771
+ @@unique([organizationId, email])
4772
+ @@index([organizationId])
4773
+ @@index([userId])
4774
+ }
4775
+
4776
+ // === Talent Agency / Booking Agency ==========================================
4777
+ // Links an Organization (agency) to bookable EntertainmentServices profiles,
4778
+ // routes bookings through the agency, and tracks commission settlements.
4779
+ // Additive: solo service bookings are unaffected (all new ServiceBooking FKs are
4780
+ // nullable). v1 payout path = ArtistMerchantOfRecord (artist Stripe stays MOR;
4781
+ // agency commission tracked in AgencyBookingSettlement).
4782
+
4783
+ enum AgencyPayoutModel {
4784
+ ArtistMerchantOfRecord // v1 default: full payout to artist Stripe; commission settled separately
4785
+ AgencyMerchantOfRecord // agency Stripe collects; platform splits to artist (v2)
4786
+ ManualOffPlatform // agency handles money outside Bash; ops layer only
4787
+ }
4788
+
4789
+ enum ArtistRepresentationStatus {
4790
+ Invited // agency sent invite; artist has not accepted
4791
+ Pending // artist accepted; agency admin has not published to roster
4792
+ Active // visible on roster; bookings route per policy
4793
+ Suspended // temporarily hidden; no new bookings
4794
+ Ended // relationship terminated; historical bookings retained
4795
+ }
4796
+
4797
+ enum ArtistRepresentationType {
4798
+ Exclusive
4799
+ NonExclusive
4800
+ }
4801
+
4802
+ enum ArtistBookingResponsePolicy {
4803
+ AgencyOnly // only agency staff accept/decline
4804
+ ArtistOnly // artist retains control; agency gets visibility
4805
+ AgencyWithArtistConfirm // agency accepts; artist confirms within window
4806
+ EitherParty // first responder wins
4807
+ }
4808
+
4809
+ enum AgencyCommissionBasis {
4810
+ GrossBookingTotal // % of totalATBCents
4811
+ NetAfterPlatformFee // % after Bash platform fee
4812
+ FlatPerBookingCents // fixed agency fee per booking
4813
+ }
4814
+
4815
+ enum AgencyBookingSettlementStatus {
4816
+ NotApplicable
4817
+ Pending
4818
+ Accrued
4819
+ Paid
4820
+ Waived
4821
+ Disputed
4822
+ Cancelled
4823
+ }
4824
+
4825
+ enum OrganizationArtistInvitationStatus {
4826
+ Pending
4827
+ Accepted
4828
+ Declined
4829
+ Expired
4830
+ Revoked
4831
+ }
4832
+
4833
+ /// Booking-agency settings (1:1 with Organization). Separate from generic org fields.
4834
+ model OrganizationTalentProfile {
4835
+ id String @id @default(cuid())
4836
+ organizationId String @unique
4837
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4838
+
4839
+ /// Master switch — RecordLabel / Professional orgs can enable without changing type.
4840
+ talentManagementEnabled Boolean @default(false)
4841
+
4842
+ rosterHeadline String?
4843
+ rosterDescription String?
4844
+ showRosterOnPublicPage Boolean @default(true)
4845
+ showAgencyBrandOnArtistCards Boolean @default(true)
4846
+
4847
+ defaultPayoutModel AgencyPayoutModel @default(ArtistMerchantOfRecord)
4848
+ defaultCommissionBasis AgencyCommissionBasis @default(GrossBookingTotal)
4849
+ defaultCommissionRateBps Int @default(1500) // 15.00%
4850
+ defaultFlatCommissionCents Int?
4851
+ defaultRepresentationType ArtistRepresentationType @default(NonExclusive)
4852
+ defaultBookingResponsePolicy ArtistBookingResponsePolicy @default(AgencyOnly)
4853
+
4854
+ acceptPublicBookings Boolean @default(true)
4855
+ bookingContactEmail String?
4856
+ bookingContactPhone String?
4857
+ minimumLeadTimeHours Int? @default(48)
4858
+
4859
+ /// Documents intent to use Organization.stripeConnectedAccountId for AgencyMerchantOfRecord (v2).
4860
+ usesOrgStripeForBookings Boolean @default(false)
4861
+
4862
+ createdAt DateTime @default(now())
4863
+ updatedAt DateTime @updatedAt
4864
+ }
4865
+
4866
+ /// Core roster join: one agency org ↔ one bookable EntertainmentService profile.
4867
+ model OrganizationArtistRepresentation {
4868
+ id String @id @default(cuid())
4869
+ organizationId String
4870
+ serviceId String
4871
+ /// Denormalized for member/notification queries (must match service.ownerId when Active).
4872
+ artistUserId String
4873
+
4874
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4875
+ service Service @relation(fields: [serviceId], references: [id], onDelete: Cascade)
4876
+ artistUser User @relation("ArtistRepresentations", fields: [artistUserId], references: [id], onDelete: Restrict)
4877
+
4878
+ status ArtistRepresentationStatus @default(Invited)
4879
+ representationType ArtistRepresentationType
4880
+ bookingResponsePolicy ArtistBookingResponsePolicy
4881
+
4882
+ rosterDisplayName String?
4883
+ rosterTagline String?
4884
+ rosterSortOrder Int @default(0)
4885
+ isFeaturedOnRoster Boolean @default(false)
4886
+ isPublicOnRoster Boolean @default(true)
4887
+
4888
+ payoutModel AgencyPayoutModel
4889
+ commissionBasis AgencyCommissionBasis
4890
+ commissionRateBps Int?
4891
+ flatCommissionCents Int?
4892
+
4893
+ agencyCanAcceptBookings Boolean @default(true)
4894
+ agencyCanDeclineBookings Boolean @default(true)
4895
+ agencyCanNegotiateRates Boolean @default(false)
4896
+ agencyCanViewBookingMessages Boolean @default(true)
4897
+ agencyCanManageCalendar Boolean @default(false)
4898
+ artistCanAcceptDirectBookings Boolean @default(false)
4899
+
4900
+ invitedAt DateTime @default(now())
4901
+ invitedByUserId String?
4902
+ artistAcceptedAt DateTime?
4903
+ agencyPublishedAt DateTime?
4904
+ endedAt DateTime?
4905
+ endReason String?
4906
+
4907
+ invitedBy User? @relation("RepresentationInviter", fields: [invitedByUserId], references: [id], onDelete: SetNull)
4908
+ invitations OrganizationArtistInvitation[]
4909
+ memberScopes OrganizationMemberArtistScope[]
4910
+ bookings ServiceBooking[] @relation("BookingRepresentation")
4911
+ settlements AgencyBookingSettlement[]
4912
+
4913
+ createdAt DateTime @default(now())
4914
+ updatedAt DateTime @updatedAt
4915
+
4916
+ @@unique([organizationId, serviceId])
4917
+ @@index([organizationId, status, rosterSortOrder])
4918
+ @@index([serviceId, status])
4919
+ @@index([artistUserId])
4920
+ }
4921
+
4922
+ /// Invite flow for artists (with or without an existing profile) via email token.
4923
+ model OrganizationArtistInvitation {
4924
+ id String @id @default(cuid())
4925
+ organizationId String
4926
+ representationId String?
4927
+
4928
+ inviteeEmail String
4929
+ inviteeUserId String?
4930
+ existingServiceId String?
4931
+
4932
+ proposedServiceTypes EntertainmentServiceType[] @default([])
4933
+ proposedDisplayName String?
4934
+ proposedMessage String?
4935
+
4936
+ token String @unique @default(cuid())
4937
+ status OrganizationArtistInvitationStatus @default(Pending)
4938
+ expiresAt DateTime
4939
+ respondedAt DateTime?
4940
+
4941
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4942
+ representation OrganizationArtistRepresentation? @relation(fields: [representationId], references: [id], onDelete: SetNull)
4943
+ inviteeUser User? @relation("ArtistInvitationInvitee", fields: [inviteeUserId], references: [id], onDelete: SetNull)
4944
+ invitedByUserId String
4945
+ invitedBy User @relation("ArtistInvitationSender", fields: [invitedByUserId], references: [id], onDelete: Cascade)
4946
+
4947
+ createdAt DateTime @default(now())
4948
+ updatedAt DateTime @updatedAt
4949
+
4950
+ @@index([organizationId, status])
4951
+ @@index([inviteeEmail])
4952
+ @@index([token])
4953
+ }
4954
+
4955
+ /// Optional per-agent roster slice (large agencies). Without rows, members with the
4956
+ /// talent permission flags see the whole roster.
4957
+ model OrganizationMemberArtistScope {
4958
+ id String @id @default(cuid())
4959
+ organizationMemberId String
4960
+ representationId String
4961
+
4962
+ canRespondToBookings Boolean @default(true)
4963
+ canEditRosterEntry Boolean @default(false)
4964
+
4965
+ organizationMember OrganizationMember @relation(fields: [organizationMemberId], references: [id], onDelete: Cascade)
4966
+ representation OrganizationArtistRepresentation @relation(fields: [representationId], references: [id], onDelete: Cascade)
4967
+
4968
+ @@unique([organizationMemberId, representationId])
4969
+ @@index([representationId])
4970
+ }
4971
+
4972
+ /// Commission ledger for represented bookings. Distinct from BookingCommission
4973
+ /// (Scout/Agent referral program). One row per represented booking with commission.
4974
+ model AgencyBookingSettlement {
4975
+ id String @id @default(cuid())
4976
+ serviceBookingId String @unique
4977
+ organizationId String
4978
+ representationId String
4979
+ artistUserId String
4980
+
4981
+ payoutModelSnapshot AgencyPayoutModel
4982
+ commissionBasisSnapshot AgencyCommissionBasis
4983
+ commissionRateBpsSnapshot Int?
4984
+ flatCommissionCentsSnapshot Int?
4985
+
4986
+ bookingTotalCents Int // snapshot of ServiceBooking.totalATBCents at confirm
4987
+ platformFeeCents Int @default(0)
4988
+ agencyCommissionCents Int
4989
+ artistNetCents Int // bookingTotal - platform - agency (informational in v1)
4990
+
4991
+ status AgencyBookingSettlementStatus @default(Pending)
4992
+ accruedAt DateTime?
4993
+ paidAt DateTime?
4994
+
4995
+ stripeTransferId String?
4996
+ stripeDestinationAccountId String?
4997
+ bashCreditsTransactionId String?
4998
+ notes String?
4999
+
5000
+ serviceBooking ServiceBooking @relation(fields: [serviceBookingId], references: [id], onDelete: Cascade)
5001
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Restrict)
5002
+ representation OrganizationArtistRepresentation @relation(fields: [representationId], references: [id], onDelete: Restrict)
5003
+ artistUser User @relation(fields: [artistUserId], references: [id], onDelete: Restrict)
5004
+
5005
+ createdAt DateTime @default(now())
5006
+ updatedAt DateTime @updatedAt
5007
+
5008
+ @@index([organizationId, status])
5009
+ @@index([artistUserId])
5010
+ }
5011
+
4407
5012
  model SmsSendLog {
4408
5013
  id String @id @default(cuid())
4409
5014
  organizationId String?
@@ -4534,6 +5139,12 @@ model OrganizationMember {
4534
5139
  eventRSVPs EventRSVP[]
4535
5140
  notificationPreferences OrganizationMemberPreferences?
4536
5141
 
5142
+ /// Talent agency permissions (used when organization.talentProfile.talentManagementEnabled).
5143
+ canManageTalentRoster Boolean @default(false)
5144
+ canRespondToTalentBookings Boolean @default(false)
5145
+ canViewTalentFinancials Boolean @default(false)
5146
+ artistScopes OrganizationMemberArtistScope[]
5147
+
4537
5148
  @@unique([organizationId, userId])
4538
5149
  @@index([organizationId])
4539
5150
  @@index([userId])
@@ -4554,6 +5165,10 @@ model OrganizationMemberPreferences {
4554
5165
  membershipUpdates Boolean @default(true)
4555
5166
  emailNotifications Boolean @default(true)
4556
5167
  pushNotifications Boolean @default(true)
5168
+ /// Talent agency channels (agency members).
5169
+ talentBookingRequests Boolean @default(true)
5170
+ talentBookingUpdates Boolean @default(true)
5171
+ talentSettlementAlerts Boolean @default(true)
4557
5172
  createdAt DateTime @default(now())
4558
5173
  updatedAt DateTime @updatedAt
4559
5174
  organizationMember OrganizationMember @relation(fields: [organizationMemberId], references: [id], onDelete: Cascade)
@@ -5110,9 +5725,28 @@ model ServiceBooking {
5110
5725
  offers ServiceBookingOffer[]
5111
5726
  promotionBlastEntitlement PromotionBlastEntitlement?
5112
5727
 
5728
+ // Agency routing — all nullable; solo bookings unchanged.
5729
+ representedByOrganizationId String?
5730
+ representationId String?
5731
+ bookingResponsePolicySnapshot ArtistBookingResponsePolicy?
5732
+ /// Audit: who acted on accept/decline, and on whose behalf ("agency" | "artist").
5733
+ respondedByUserId String?
5734
+ respondedOnBehalfOf String?
5735
+ /// Commercial snapshots at booking confirm (mirrors revenueShare and maxBillable field snapshots).
5736
+ payoutModelSnapshot AgencyPayoutModel?
5737
+ commissionBasisSnapshot AgencyCommissionBasis?
5738
+ commissionRateBpsSnapshot Int?
5739
+ flatCommissionCentsSnapshot Int?
5740
+ agencyCommissionCents Int?
5741
+ representedByOrganization Organization? @relation(fields: [representedByOrganizationId], references: [id], onDelete: SetNull)
5742
+ representation OrganizationArtistRepresentation? @relation("BookingRepresentation", fields: [representationId], references: [id], onDelete: SetNull)
5743
+ agencySettlement AgencyBookingSettlement?
5744
+
5113
5745
  @@index([status])
5114
5746
  @@index([creatorId])
5115
5747
  @@index([forUserId])
5748
+ @@index([representedByOrganizationId, status])
5749
+ @@index([representationId])
5116
5750
  }
5117
5751
 
5118
5752
  model VendorBookingRequest {
@@ -5740,6 +6374,11 @@ enum NotificationType {
5740
6374
  WaitlistDenied // Attendee: host denied your waitlist request
5741
6375
  WaitlistSpotAvailable // Waitlister: a refund opened a spot — claim it now
5742
6376
  WaitlistSpotMayBeOpen // Waitlister: someone left the venue — standby at door
6377
+ EventAccessRequested // Host: someone requested access to a screened bash
6378
+ EventAccessApproved // Requester: host approved access
6379
+ EventAccessDenied // Requester: host denied access
6380
+ RsvpApprovalRequested // Host: RSVP waiting on host approval (Rsvp-mode)
6381
+ VenueEntertainmentMatchInterest // Service owner: counterpart marked match interest
5743
6382
  // Group notifications
5744
6383
  GroupMemberPurchased // Owner: "Riley just bought a ticket — 2 more to go!"
5745
6384
  GroupEveryoneConfirmed // Owner: "All members want to attend. Buy tickets together?"
@@ -6071,6 +6710,14 @@ enum UserIntent {
6071
6710
  Lonely
6072
6711
  }
6073
6712
 
6713
+ enum SocialEventCadence {
6714
+ Always
6715
+ Often
6716
+ Sometimes
6717
+ Rarely
6718
+ Never
6719
+ }
6720
+
6074
6721
  enum BashAvailabilityWindow {
6075
6722
  Now
6076
6723
  Tonight
@@ -6178,6 +6825,29 @@ enum ServiceCondition {
6178
6825
  Unpublished
6179
6826
  }
6180
6827
 
6828
+ /// Provider booking intent — whether they want inbound right now (separate from schedule availability).
6829
+ enum BookingIntent {
6830
+ ActivelySeeking
6831
+ OpenToOffers
6832
+ NotTakingDates
6833
+ }
6834
+
6835
+ /// Claim lifecycle for outreach-sourced unclaimed service listings.
6836
+ enum ServiceClaimStatus {
6837
+ NotApplicable // normal owner-created service
6838
+ PendingReview // created by outreach pipeline; awaiting admin approval
6839
+ PublicUnclaimed // approved + publicly discoverable; open to be claimed
6840
+ Claimed // a business claimed and was approved as owner
6841
+ Rejected // admin rejected the listing
6842
+ }
6843
+
6844
+ /// A business's request to claim ownership of an unclaimed service listing.
6845
+ enum ServiceClaimRequestStatus {
6846
+ Pending
6847
+ Approved
6848
+ Rejected
6849
+ }
6850
+
6181
6851
  enum ServiceSubscriptionStatus {
6182
6852
  None
6183
6853
  Trialing
@@ -6431,8 +7101,10 @@ enum EventServiceType {
6431
7101
  AudioVisualSupport
6432
7102
  HostingSupport
6433
7103
  PromotionAndMarketing
7104
+ BeautyAndGlam
6434
7105
  Staffing
6435
7106
  Transportation
7107
+ Wellness
6436
7108
  Other
6437
7109
  }
6438
7110
 
@@ -6440,6 +7112,7 @@ enum FinancingSubType {
6440
7112
  Investor
6441
7113
  LongTermLoan
6442
7114
  ShortTermLoan
7115
+ FinancingOther
6443
7116
  }
6444
7117
 
6445
7118
  enum EventPlanningAndManagementSubType {
@@ -6447,6 +7120,7 @@ enum EventPlanningAndManagementSubType {
6447
7120
  EventManager
6448
7121
  VirtualAssistant
6449
7122
  Consultants
7123
+ EventPlanningOther
6450
7124
  }
6451
7125
 
6452
7126
  enum FoodAndBeverageSubType {
@@ -6455,27 +7129,35 @@ enum FoodAndBeverageSubType {
6455
7129
  FoodCartStand
6456
7130
  PrivateChefs
6457
7131
  Bartenders
7132
+ Baristas
7133
+ Mixologist
7134
+ Sommelier
6458
7135
  DessertBar
6459
7136
  BeverageCart
6460
7137
  ConcessionStand
7138
+ FoodAndBeverageOther
6461
7139
  }
6462
7140
 
6463
7141
  enum CleaningSubType {
6464
7142
  LightCleaning
6465
7143
  DeepCleaning
7144
+ CleaningOther
6466
7145
  }
6467
7146
 
6468
7147
  enum DecorAndDesignSubType {
6469
7148
  Decorators
6470
7149
  InteriorDesigners
7150
+ EventDesigner
6471
7151
  Floral
6472
7152
  BalloonArt
7153
+ BalloonArtist
6473
7154
  Balloons
6474
7155
  TableStyling
6475
7156
  Centerpieces
6476
7157
  FurnitureStyling
6477
7158
  Lighting
6478
7159
  CustomSignage
7160
+ DecorAndDesignOther
6479
7161
  }
6480
7162
 
6481
7163
  enum RentalEquipmentSubType {
@@ -6488,10 +7170,12 @@ enum RentalEquipmentSubType {
6488
7170
  Staging
6489
7171
  Generators
6490
7172
  DanceFloor
7173
+ FogFXMachine
6491
7174
  PhotoBooth
6492
7175
  BounceHouse
6493
7176
  WaterSlide
6494
7177
  CarnivalGames
7178
+ RentalEquipmentOther
6495
7179
  }
6496
7180
 
6497
7181
  enum MediaProductionAndCreativeSubType {
@@ -6502,6 +7186,9 @@ enum MediaProductionAndCreativeSubType {
6502
7186
  GoProWearer
6503
7187
  DroneShots
6504
7188
  AISpecialist
7189
+ LiveStreamOperator
7190
+ SocialContentShooter
7191
+ MediaProductionOther
6505
7192
  }
6506
7193
 
6507
7194
  enum AudioVisualSupportSubType {
@@ -6510,6 +7197,7 @@ enum AudioVisualSupportSubType {
6510
7197
  LightingTech
6511
7198
  StageTech
6512
7199
  ProjectorSetup
7200
+ AudioVisualOther
6513
7201
  }
6514
7202
 
6515
7203
  enum PromotionAndMarketingSubType {
@@ -6517,6 +7205,27 @@ enum PromotionAndMarketingSubType {
6517
7205
  ContentCreator
6518
7206
  Promoter
6519
7207
  CelebrityAppearance
7208
+ Model
7209
+ Actor
7210
+ Merchandiser
7211
+ PromotionalSignage
7212
+ BrandStrategist
7213
+ BrandAmbassador
7214
+ PublicSpeaker
7215
+ Toastmaster
7216
+ LifeCoach
7217
+ PodcastMediaHost
7218
+ TradeShowPresenter
7219
+ PromotionAndMarketingOther
7220
+ }
7221
+
7222
+ enum BeautyAndGlamSubType {
7223
+ MakeupArtist
7224
+ HairStylist
7225
+ HairAndMakeup
7226
+ NailArtist
7227
+ SprayTanBodyGlam
7228
+ BeautyAndGlamOther
6520
7229
  }
6521
7230
 
6522
7231
  enum StaffingSubType {
@@ -6528,6 +7237,11 @@ enum StaffingSubType {
6528
7237
  CoatCheck
6529
7238
  DoorStaff
6530
7239
  Security
7240
+ ProductDemoStaff
7241
+ CrowdFiller
7242
+ ChildcareAttendant
7243
+ PetHandler
7244
+ StaffingOther
6531
7245
  }
6532
7246
 
6533
7247
  enum TransportationSubType {
@@ -6536,6 +7250,19 @@ enum TransportationSubType {
6536
7250
  GuestShuttle
6537
7251
  Valet
6538
7252
  ValetService
7253
+ LuxurySUVSprinter
7254
+ DesignatedDriver
7255
+ TransportationOther
7256
+ }
7257
+
7258
+ enum WellnessSubType {
7259
+ ChairMassage
7260
+ YogaBreathworkFacilitator
7261
+ WellnessOther
7262
+ }
7263
+
7264
+ enum HostingSupportSubType {
7265
+ HostingSupportOther
6539
7266
  }
6540
7267
 
6541
7268
  enum OtherSubType {
@@ -6544,6 +7271,13 @@ enum OtherSubType {
6544
7271
  Lawyers
6545
7272
  ThankYouCards
6546
7273
  Reporting
7274
+ Notary
7275
+ InterpreterASL
7276
+ FirstAidEMTStandby
7277
+ Pyrotechnician
7278
+ DroneShowOperator
7279
+ IceSculptor
7280
+ Other
6547
7281
  }
6548
7282
 
6549
7283
  enum InvestorFormat {
@@ -7272,6 +8006,14 @@ enum InfluencerFormat {
7272
8006
  ContentCreation
7273
8007
  }
7274
8008
 
8009
+ /// Follower-tier band for Influencer event services (wizard + profile display).
8010
+ enum InfluencerAudienceTier {
8011
+ Nano
8012
+ Micro
8013
+ Macro
8014
+ Mega
8015
+ }
8016
+
7275
8017
  enum PromoterFormat {
7276
8018
  LocalMarketing
7277
8019
  SocialMediaCampaign
@@ -7288,6 +8030,105 @@ enum CelebrityAppearanceFormat {
7288
8030
  PhotoOpportunities
7289
8031
  }
7290
8032
 
8033
+ enum ModelFormat {
8034
+ RunwayShow
8035
+ PhotoShoot
8036
+ BrandAmbassador
8037
+ MeetAndGreet
8038
+ RedCarpetAppearance
8039
+ TradeShowBooth
8040
+ }
8041
+
8042
+ enum ActorFormat {
8043
+ ScriptedPerformance
8044
+ ImprovAppearance
8045
+ MeetAndGreet
8046
+ PhotoOpportunities
8047
+ BrandAmbassador
8048
+ HostAndMC
8049
+ }
8050
+
8051
+ enum MakeupArtistFormat {
8052
+ BridalMakeup
8053
+ EditorialMakeup
8054
+ SpecialEffects
8055
+ OnSiteTouchUps
8056
+ GroupGlam
8057
+ AirbrushMakeup
8058
+ }
8059
+
8060
+ enum HairStylistFormat {
8061
+ BridalHair
8062
+ EditorialStyling
8063
+ UpdosAndStyling
8064
+ OnSiteTouchUps
8065
+ GroupStyling
8066
+ ExtensionsAndWigs
8067
+ }
8068
+
8069
+ enum PromotionalSignageFormat {
8070
+ BannersAndBackdrops
8071
+ StepAndRepeat
8072
+ AFrameSigns
8073
+ YardSigns
8074
+ WayfindingSigns
8075
+ DigitalDisplays
8076
+ }
8077
+
8078
+ enum BrandStrategistFormat {
8079
+ EventBrandPositioning
8080
+ CampaignMessaging
8081
+ AudienceStrategy
8082
+ LaunchPlanning
8083
+ SponsorIntegration
8084
+ PostEventAnalysis
8085
+ }
8086
+
8087
+ enum BrandAmbassadorFormat {
8088
+ BoothStaffing
8089
+ ProductSampling
8090
+ GuestEngagement
8091
+ LeadGeneration
8092
+ UniformBranding
8093
+ StreetTeam
8094
+ }
8095
+
8096
+ enum PublicSpeakerFormat {
8097
+ Keynote
8098
+ MotivationalTalk
8099
+ PanelModeration
8100
+ WorkshopFacilitation
8101
+ FiresideChat
8102
+ AwardsPresentation
8103
+ }
8104
+
8105
+ enum ToastmasterFormat {
8106
+ WeddingToasts
8107
+ AwardsCeremony
8108
+ CorporateRoast
8109
+ SpeechCoordination
8110
+ AgendaPacing
8111
+ MulticulturalCeremony
8112
+ }
8113
+
8114
+ enum LifeCoachFormat {
8115
+ BreakoutSession
8116
+ GroupCoaching
8117
+ WellnessWorkshop
8118
+ GoalSettingSession
8119
+ TeamBuildingCoaching
8120
+ RetreatFacilitation
8121
+ }
8122
+
8123
+ enum ContentCreatorFormat {
8124
+ PhotoCoverage
8125
+ VideoCoverage
8126
+ ReelsAndShortForm
8127
+ EventRecap
8128
+ BehindTheScenes
8129
+ SameDayDeliverables
8130
+ }
8131
+
7291
8132
  enum CrewHandFormat {
7292
8133
  SetupAndBreakdown
7293
8134
  EquipmentHandling
@@ -7561,6 +8402,7 @@ enum OrganizationType {
7561
8402
  Sports
7562
8403
  Youth
7563
8404
  Cultural
8405
+ TalentAgency // booking / management companies, DJ collectives, speaker bureaus
7564
8406
  }
7565
8407
 
7566
8408
  enum YearsOfExperience {
@@ -8266,10 +9108,56 @@ model BirthdayFreebieCatalog {
8266
9108
  @@index([sector])
8267
9109
  }
8268
9110
 
9111
+ /// A business's request to claim an unclaimed (outreach-sourced) service listing.
9112
+ /// claimantUserId / reviewedByUserId are plain scalars (admin-reviewed records);
9113
+ /// no User back-relations to keep the change localized.
9114
+ model ServiceClaimRequest {
9115
+ id String @id @default(cuid())
9116
+ serviceId String
9117
+ service Service @relation(fields: [serviceId], references: [id], onDelete: Cascade)
9118
+ claimantUserId String
9119
+ claimantEmail String?
9120
+ message String?
9121
+ status ServiceClaimRequestStatus @default(Pending)
9122
+ reviewedByUserId String?
9123
+ reviewedAt DateTime?
9124
+ createdAt DateTime @default(now())
9125
+ updatedAt DateTime @updatedAt
9126
+
9127
+ @@index([serviceId, status])
9128
+ @@index([claimantUserId])
9129
+ }
9130
+
9131
+ enum ServiceInquiryStatus {
9132
+ Pending
9133
+ Acknowledged
9134
+ Declined
9135
+ }
9136
+
9137
+ /// Lightweight host→provider interest before a full booking request.
9138
+ model ServiceInquiry {
9139
+ id String @id @default(cuid())
9140
+ serviceId String
9141
+ service Service @relation(fields: [serviceId], references: [id], onDelete: Cascade)
9142
+ inquirerUserId String
9143
+ message String? @db.Text
9144
+ preferredDates String?
9145
+ status ServiceInquiryStatus @default(Pending)
9146
+ providerNote String?
9147
+ acknowledgedAt DateTime?
9148
+ createdAt DateTime @default(now())
9149
+ updatedAt DateTime @updatedAt
9150
+
9151
+ @@index([serviceId, status])
9152
+ @@index([inquirerUserId])
9153
+ }
9154
+
8269
9155
  /// Cold outreach / nurture lead (e.g. Vapi restaurant dialer). Not a signed-up vendor.
8270
9156
  model OutreachLead {
8271
9157
  id String @id @default(cuid())
8272
9158
  source OutreachLeadSource @default(VapiBirthdayCall2026)
9159
+ /// Set when this lead has been turned into an unclaimed Service listing.
9160
+ serviceId String?
8273
9161
  name String
8274
9162
  phoneE164 String @unique
8275
9163
  fullAddress String? @db.Text
@@ -8297,6 +9185,7 @@ model OutreachLead {
8297
9185
 
8298
9186
  enum OutreachLeadSource {
8299
9187
  VapiBirthdayCall2026
9188
+ VapiServiceOutreach2026
8300
9189
  Manual
8301
9190
  }
8302
9191
 
@@ -9872,3 +10761,123 @@ model GooglePlaceCache {
9872
10761
 
9873
10762
  @@index([expiresAt])
9874
10763
  }
10764
+
10765
+ // ============================================
10766
+ // BASH LABS — product launch waitlists & rankings
10767
+ // ============================================
10768
+
10769
+ enum ProductLaunchProduct {
10770
+ BashOne
10771
+ SecondaryMarketplace
10772
+ Memories
10773
+ AiOrganizer
10774
+ Enterprise
10775
+ }
10776
+
10777
+ /// Early-access signup for a Bash Labs product (not Enterprise — see EnterpriseLead).
10778
+ model ProductLaunchWaitlistSignup {
10779
+ id String @id @default(cuid())
10780
+ product ProductLaunchProduct
10781
+ email String
10782
+ userId String?
10783
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10784
+ isRegisteredUser Boolean @default(false)
10785
+ interestOrganizer Boolean @default(false)
10786
+ interestAttendee Boolean @default(false)
10787
+ interestArtist Boolean @default(false)
10788
+ interestVendor Boolean @default(false)
10789
+ city String
10790
+ comments String? @db.Text
10791
+ createdAt DateTime @default(now())
10792
+
10793
+ @@unique([product, email])
10794
+ @@index([product, createdAt])
10795
+ @@index([userId])
10796
+ @@index([email])
10797
+ }
10798
+
10799
+ /// Community stack-rank of all five Bash Labs / Enterprise roadmap products.
10800
+ model ProductLaunchRankSubmission {
10801
+ id String @id @default(cuid())
10802
+ email String
10803
+ userId String?
10804
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10805
+ rankedProducts ProductLaunchProduct[]
10806
+ createdAt DateTime @default(now())
10807
+ updatedAt DateTime @updatedAt
10808
+
10809
+ @@unique([email])
10810
+ @@index([userId])
10811
+ }
10812
+
10813
+ // ============================================
10814
+ // ENTERPRISE LEADS — sales + early access CRM
10815
+ // ============================================
10816
+
10817
+ enum EnterpriseLeadType {
10818
+ Sales
10819
+ EarlyAccess
10820
+ }
10821
+
10822
+ enum EnterpriseLeadStatus {
10823
+ New
10824
+ Contacted
10825
+ Demo
10826
+ Pilot
10827
+ Customer
10828
+ }
10829
+
10830
+ model EnterpriseLead {
10831
+ id String @id @default(cuid())
10832
+ leadType EnterpriseLeadType
10833
+ status EnterpriseLeadStatus @default(New)
10834
+ email String
10835
+ userId String?
10836
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10837
+ /// Sales + Early Access
10838
+ organization String?
10839
+ /// Sales-only
10840
+ employeeCount String?
10841
+ eventsPerYear String?
10842
+ phone String?
10843
+ wantsDemo Boolean @default(false)
10844
+ /// Early-access-only
10845
+ role String?
10846
+ biggestNeed String? @db.Text
10847
+ adminNote String? @db.Text
10848
+ createdAt DateTime @default(now())
10849
+ updatedAt DateTime @updatedAt
10850
+
10851
+ @@index([leadType, status, createdAt])
10852
+ @@index([email])
10853
+ @@index([userId])
10854
+ }
10855
+
10856
+ // ============================================
10857
+ // FEEDBACK TEAM — beta tester applications
10858
+ // ============================================
10859
+
10860
+ enum FeedbackTeamApplicantRole {
10861
+ Host
10862
+ Attendee
10863
+ ServiceProvider
10864
+ Other
10865
+ }
10866
+
10867
+ model FeedbackTeamApplication {
10868
+ id String @id @default(cuid())
10869
+ givenName String
10870
+ familyName String?
10871
+ email String
10872
+ userId String?
10873
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10874
+ role FeedbackTeamApplicantRole
10875
+ devices String[] @default([])
10876
+ focusAreas String[] @default([])
10877
+ message String? @db.Text
10878
+ createdAt DateTime @default(now())
10879
+
10880
+ @@index([email])
10881
+ @@index([createdAt])
10882
+ @@index([userId])
10883
+ }