@bash-app/bash-common 30.284.0 → 30.289.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 (1038) 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 +5 -2
  38. package/dist/definitions.d.ts.map +1 -1
  39. package/dist/definitions.js +3 -2
  40. package/dist/definitions.js.map +1 -1
  41. package/dist/dist/__tests__/accessScreening.test.d.ts +2 -0
  42. package/dist/dist/__tests__/accessScreening.test.d.ts.map +1 -0
  43. package/dist/dist/__tests__/accessScreening.test.js +16 -0
  44. package/dist/dist/__tests__/accessScreening.test.js.map +1 -0
  45. package/dist/dist/__tests__/agePolicy.test.d.ts +2 -0
  46. package/dist/dist/__tests__/agePolicy.test.d.ts.map +1 -0
  47. package/dist/dist/__tests__/agePolicy.test.js +203 -0
  48. package/dist/dist/__tests__/agePolicy.test.js.map +1 -0
  49. package/dist/dist/__tests__/bashSectionTitleForBashType.test.d.ts +2 -0
  50. package/dist/dist/__tests__/bashSectionTitleForBashType.test.d.ts.map +1 -0
  51. package/dist/dist/__tests__/bashSectionTitleForBashType.test.js +106 -0
  52. package/dist/dist/__tests__/bashSectionTitleForBashType.test.js.map +1 -0
  53. package/dist/dist/__tests__/bookingIntent.test.d.ts +2 -0
  54. package/dist/dist/__tests__/bookingIntent.test.d.ts.map +1 -0
  55. package/dist/dist/__tests__/bookingIntent.test.js +36 -0
  56. package/dist/dist/__tests__/bookingIntent.test.js.map +1 -0
  57. package/dist/dist/__tests__/definitionsHelpers.test.d.ts +2 -0
  58. package/dist/dist/__tests__/definitionsHelpers.test.d.ts.map +1 -0
  59. package/dist/dist/__tests__/definitionsHelpers.test.js +85 -0
  60. package/dist/dist/__tests__/definitionsHelpers.test.js.map +1 -0
  61. package/dist/dist/__tests__/entertainmentNotableVenues.test.d.ts +2 -0
  62. package/dist/dist/__tests__/entertainmentNotableVenues.test.d.ts.map +1 -0
  63. package/dist/dist/__tests__/entertainmentNotableVenues.test.js +78 -0
  64. package/dist/dist/__tests__/entertainmentNotableVenues.test.js.map +1 -0
  65. package/dist/dist/__tests__/extendedSchemas.test.d.ts +2 -0
  66. package/dist/dist/__tests__/extendedSchemas.test.d.ts.map +1 -0
  67. package/dist/dist/__tests__/extendedSchemas.test.js +40 -0
  68. package/dist/dist/__tests__/extendedSchemas.test.js.map +1 -0
  69. package/dist/dist/__tests__/getDisplayGender.test.d.ts +2 -0
  70. package/dist/dist/__tests__/getDisplayGender.test.d.ts.map +1 -0
  71. package/dist/dist/__tests__/getDisplayGender.test.js +34 -0
  72. package/dist/dist/__tests__/getDisplayGender.test.js.map +1 -0
  73. package/dist/dist/__tests__/groupTicketUtils.test.d.ts +2 -0
  74. package/dist/dist/__tests__/groupTicketUtils.test.d.ts.map +1 -0
  75. package/dist/dist/__tests__/groupTicketUtils.test.js +38 -0
  76. package/dist/dist/__tests__/groupTicketUtils.test.js.map +1 -0
  77. package/dist/dist/__tests__/influencerAudience.test.d.ts +2 -0
  78. package/dist/dist/__tests__/influencerAudience.test.d.ts.map +1 -0
  79. package/dist/dist/__tests__/influencerAudience.test.js +22 -0
  80. package/dist/dist/__tests__/influencerAudience.test.js.map +1 -0
  81. package/dist/dist/__tests__/membershipDefinitions.test.d.ts +2 -0
  82. package/dist/dist/__tests__/membershipDefinitions.test.d.ts.map +1 -0
  83. package/dist/dist/__tests__/membershipDefinitions.test.js +95 -0
  84. package/dist/dist/__tests__/membershipDefinitions.test.js.map +1 -0
  85. package/dist/dist/__tests__/requestAuthUser.test.d.ts +2 -0
  86. package/dist/dist/__tests__/requestAuthUser.test.d.ts.map +1 -0
  87. package/dist/dist/__tests__/requestAuthUser.test.js +84 -0
  88. package/dist/dist/__tests__/requestAuthUser.test.js.map +1 -0
  89. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.d.ts +2 -0
  90. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.d.ts.map +1 -0
  91. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.js +41 -0
  92. package/dist/dist/__tests__/serviceCheckoutPaymentMethods.test.js.map +1 -0
  93. package/dist/dist/__tests__/statusEnums.test.d.ts +2 -0
  94. package/dist/dist/__tests__/statusEnums.test.d.ts.map +1 -0
  95. package/dist/dist/__tests__/statusEnums.test.js +106 -0
  96. package/dist/dist/__tests__/statusEnums.test.js.map +1 -0
  97. package/dist/dist/__tests__/storePrintArtworkUtils.test.d.ts +2 -0
  98. package/dist/dist/__tests__/storePrintArtworkUtils.test.d.ts.map +1 -0
  99. package/dist/dist/__tests__/storePrintArtworkUtils.test.js +35 -0
  100. package/dist/dist/__tests__/storePrintArtworkUtils.test.js.map +1 -0
  101. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.d.ts +2 -0
  102. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.d.ts.map +1 -0
  103. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.js +18 -0
  104. package/dist/dist/__tests__/stripeListingSubscriptionMessages.test.js.map +1 -0
  105. package/dist/dist/__tests__/ticketAdmission.test.d.ts +5 -0
  106. package/dist/dist/__tests__/ticketAdmission.test.d.ts.map +1 -0
  107. package/dist/dist/__tests__/ticketAdmission.test.js +42 -0
  108. package/dist/dist/__tests__/ticketAdmission.test.js.map +1 -0
  109. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.d.ts +2 -0
  110. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.d.ts.map +1 -0
  111. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.js +30 -0
  112. package/dist/dist/__tests__/ticketBnplPaymentMethods.bankTransfer.test.js.map +1 -0
  113. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.d.ts +2 -0
  114. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.d.ts.map +1 -0
  115. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.js +33 -0
  116. package/dist/dist/__tests__/ticketBnplPaymentMethods.cashapp.test.js.map +1 -0
  117. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.d.ts +2 -0
  118. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.d.ts.map +1 -0
  119. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.js +46 -0
  120. package/dist/dist/__tests__/ticketBnplPaymentMethods.test.js.map +1 -0
  121. package/dist/dist/__tests__/userReportTypes.test.d.ts +2 -0
  122. package/dist/dist/__tests__/userReportTypes.test.d.ts.map +1 -0
  123. package/dist/dist/__tests__/userReportTypes.test.js +81 -0
  124. package/dist/dist/__tests__/userReportTypes.test.js.map +1 -0
  125. package/dist/dist/__tests__/utmAttribution.test.d.ts +2 -0
  126. package/dist/dist/__tests__/utmAttribution.test.d.ts.map +1 -0
  127. package/dist/dist/__tests__/utmAttribution.test.js +92 -0
  128. package/dist/dist/__tests__/utmAttribution.test.js.map +1 -0
  129. package/dist/dist/accessScreening.d.ts +8 -0
  130. package/dist/dist/accessScreening.d.ts.map +1 -0
  131. package/dist/dist/accessScreening.js +18 -0
  132. package/dist/dist/accessScreening.js.map +1 -0
  133. package/dist/dist/aiApproval.d.ts +89 -0
  134. package/dist/dist/aiApproval.d.ts.map +1 -0
  135. package/dist/dist/aiApproval.js +82 -0
  136. package/dist/dist/aiApproval.js.map +1 -0
  137. package/dist/dist/aiEventPlan.d.ts +18 -0
  138. package/dist/dist/aiEventPlan.d.ts.map +1 -0
  139. package/dist/dist/aiEventPlan.js +59 -0
  140. package/dist/dist/aiEventPlan.js.map +1 -0
  141. package/dist/dist/bashFeedTypes.d.ts +208 -0
  142. package/dist/dist/bashFeedTypes.d.ts.map +1 -0
  143. package/dist/dist/bashFeedTypes.js +2 -0
  144. package/dist/dist/bashFeedTypes.js.map +1 -0
  145. package/dist/dist/bookingIntent.d.ts +23 -0
  146. package/dist/dist/bookingIntent.d.ts.map +1 -0
  147. package/dist/dist/bookingIntent.js +40 -0
  148. package/dist/dist/bookingIntent.js.map +1 -0
  149. package/dist/dist/competitionIdeas.d.ts +19 -0
  150. package/dist/dist/competitionIdeas.d.ts.map +1 -0
  151. package/dist/dist/competitionIdeas.js +405 -0
  152. package/dist/dist/competitionIdeas.js.map +1 -0
  153. package/dist/dist/competitionValidation.d.ts +10 -0
  154. package/dist/dist/competitionValidation.d.ts.map +1 -0
  155. package/dist/dist/competitionValidation.js +29 -0
  156. package/dist/dist/competitionValidation.js.map +1 -0
  157. package/dist/dist/definitions.d.ts +1045 -0
  158. package/dist/dist/definitions.d.ts.map +1 -0
  159. package/dist/dist/definitions.js +1047 -0
  160. package/dist/dist/definitions.js.map +1 -0
  161. package/dist/dist/entertainmentNotableVenues.d.ts +53 -0
  162. package/dist/dist/entertainmentNotableVenues.d.ts.map +1 -0
  163. package/dist/dist/entertainmentNotableVenues.js +101 -0
  164. package/dist/dist/entertainmentNotableVenues.js.map +1 -0
  165. package/dist/dist/extendedSchemas.d.ts +5834 -0
  166. package/dist/dist/extendedSchemas.d.ts.map +1 -0
  167. package/dist/dist/extendedSchemas.js +744 -0
  168. package/dist/dist/extendedSchemas.js.map +1 -0
  169. package/dist/dist/groupTicketUtils.d.ts +19 -0
  170. package/dist/dist/groupTicketUtils.d.ts.map +1 -0
  171. package/dist/dist/groupTicketUtils.js +74 -0
  172. package/dist/dist/groupTicketUtils.js.map +1 -0
  173. package/dist/dist/icebreakerPrompts.d.ts +9 -0
  174. package/dist/dist/icebreakerPrompts.d.ts.map +1 -0
  175. package/dist/dist/icebreakerPrompts.js +77 -0
  176. package/dist/dist/icebreakerPrompts.js.map +1 -0
  177. package/dist/dist/index.d.ts +110 -0
  178. package/dist/dist/index.d.ts.map +1 -0
  179. package/dist/dist/index.js +115 -0
  180. package/dist/dist/index.js.map +1 -0
  181. package/dist/dist/influencerAudience.d.ts +24 -0
  182. package/dist/dist/influencerAudience.d.ts.map +1 -0
  183. package/dist/dist/influencerAudience.js +112 -0
  184. package/dist/dist/influencerAudience.js.map +1 -0
  185. package/dist/dist/legalTemplates.d.ts +11 -0
  186. package/dist/dist/legalTemplates.d.ts.map +1 -0
  187. package/dist/dist/legalTemplates.js +19 -0
  188. package/dist/dist/legalTemplates.js.map +1 -0
  189. package/dist/dist/membershipDefinitions.d.ts +399 -0
  190. package/dist/dist/membershipDefinitions.d.ts.map +1 -0
  191. package/dist/dist/membershipDefinitions.js +765 -0
  192. package/dist/dist/membershipDefinitions.js.map +1 -0
  193. package/dist/dist/mirroredPrismaEnums.d.ts +160 -0
  194. package/dist/dist/mirroredPrismaEnums.d.ts.map +1 -0
  195. package/dist/dist/mirroredPrismaEnums.js +150 -0
  196. package/dist/dist/mirroredPrismaEnums.js.map +1 -0
  197. package/dist/dist/onSaleCapabilityRecommendations.d.ts +30 -0
  198. package/dist/dist/onSaleCapabilityRecommendations.d.ts.map +1 -0
  199. package/dist/dist/onSaleCapabilityRecommendations.js +92 -0
  200. package/dist/dist/onSaleCapabilityRecommendations.js.map +1 -0
  201. package/dist/dist/partnerStoreTypes.d.ts +127 -0
  202. package/dist/dist/partnerStoreTypes.d.ts.map +1 -0
  203. package/dist/dist/partnerStoreTypes.js +40 -0
  204. package/dist/dist/partnerStoreTypes.js.map +1 -0
  205. package/dist/dist/productLaunch.d.ts +17 -0
  206. package/dist/dist/productLaunch.d.ts.map +1 -0
  207. package/dist/dist/productLaunch.js +50 -0
  208. package/dist/dist/productLaunch.js.map +1 -0
  209. package/dist/dist/requestAuthUser.d.ts +36 -0
  210. package/dist/dist/requestAuthUser.d.ts.map +1 -0
  211. package/dist/dist/requestAuthUser.js +76 -0
  212. package/dist/dist/requestAuthUser.js.map +1 -0
  213. package/dist/dist/sms/smsTemplates.d.ts +27 -0
  214. package/dist/dist/sms/smsTemplates.d.ts.map +1 -0
  215. package/dist/dist/sms/smsTemplates.js +11 -0
  216. package/dist/dist/sms/smsTemplates.js.map +1 -0
  217. package/dist/dist/storePrintArtworkUtils.d.ts +22 -0
  218. package/dist/dist/storePrintArtworkUtils.d.ts.map +1 -0
  219. package/dist/dist/storePrintArtworkUtils.js +74 -0
  220. package/dist/dist/storePrintArtworkUtils.js.map +1 -0
  221. package/dist/dist/storeTypes.d.ts +81 -0
  222. package/dist/dist/storeTypes.d.ts.map +1 -0
  223. package/dist/dist/storeTypes.js +20 -0
  224. package/dist/dist/storeTypes.js.map +1 -0
  225. package/dist/dist/stripeListingSubscriptionMessages.d.ts +13 -0
  226. package/dist/dist/stripeListingSubscriptionMessages.d.ts.map +1 -0
  227. package/dist/dist/stripeListingSubscriptionMessages.js +21 -0
  228. package/dist/dist/stripeListingSubscriptionMessages.js.map +1 -0
  229. package/dist/dist/templates/eventTemplates.d.ts +45 -0
  230. package/dist/dist/templates/eventTemplates.d.ts.map +1 -0
  231. package/dist/dist/templates/eventTemplates.js +1191 -0
  232. package/dist/dist/templates/eventTemplates.js.map +1 -0
  233. package/dist/dist/ticketBnplPaymentMethods.d.ts +61 -0
  234. package/dist/dist/ticketBnplPaymentMethods.d.ts.map +1 -0
  235. package/dist/dist/ticketBnplPaymentMethods.js +83 -0
  236. package/dist/dist/ticketBnplPaymentMethods.js.map +1 -0
  237. package/dist/dist/userReportTypes.d.ts +117 -0
  238. package/dist/dist/userReportTypes.d.ts.map +1 -0
  239. package/dist/dist/userReportTypes.js +99 -0
  240. package/dist/dist/userReportTypes.js.map +1 -0
  241. package/dist/dist/utils/__tests__/addressUtils.test.d.ts +2 -0
  242. package/dist/dist/utils/__tests__/addressUtils.test.d.ts.map +1 -0
  243. package/dist/dist/utils/__tests__/addressUtils.test.js +138 -0
  244. package/dist/dist/utils/__tests__/addressUtils.test.js.map +1 -0
  245. package/dist/dist/utils/__tests__/apiUtils.test.d.ts +5 -0
  246. package/dist/dist/utils/__tests__/apiUtils.test.d.ts.map +1 -0
  247. package/dist/dist/utils/__tests__/apiUtils.test.js +161 -0
  248. package/dist/dist/utils/__tests__/apiUtils.test.js.map +1 -0
  249. package/dist/dist/utils/__tests__/arrayUtils.test.d.ts +2 -0
  250. package/dist/dist/utils/__tests__/arrayUtils.test.d.ts.map +1 -0
  251. package/dist/dist/utils/__tests__/arrayUtils.test.js +23 -0
  252. package/dist/dist/utils/__tests__/arrayUtils.test.js.map +1 -0
  253. package/dist/dist/utils/__tests__/badgeUtils.test.d.ts +2 -0
  254. package/dist/dist/utils/__tests__/badgeUtils.test.d.ts.map +1 -0
  255. package/dist/dist/utils/__tests__/badgeUtils.test.js +157 -0
  256. package/dist/dist/utils/__tests__/badgeUtils.test.js.map +1 -0
  257. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.d.ts +2 -0
  258. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.d.ts.map +1 -0
  259. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.js +114 -0
  260. package/dist/dist/utils/__tests__/bashPointsPaymentUtils.test.js.map +1 -0
  261. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.d.ts +2 -0
  262. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.d.ts.map +1 -0
  263. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.js +22 -0
  264. package/dist/dist/utils/__tests__/birthdayExperienceQuality.test.js.map +1 -0
  265. package/dist/dist/utils/__tests__/blogUtils.test.d.ts +2 -0
  266. package/dist/dist/utils/__tests__/blogUtils.test.d.ts.map +1 -0
  267. package/dist/dist/utils/__tests__/blogUtils.test.js +102 -0
  268. package/dist/dist/utils/__tests__/blogUtils.test.js.map +1 -0
  269. package/dist/dist/utils/__tests__/contentFilterUtils.test.d.ts +2 -0
  270. package/dist/dist/utils/__tests__/contentFilterUtils.test.d.ts.map +1 -0
  271. package/dist/dist/utils/__tests__/contentFilterUtils.test.js +443 -0
  272. package/dist/dist/utils/__tests__/contentFilterUtils.test.js.map +1 -0
  273. package/dist/dist/utils/__tests__/dateTimeUtils.test.d.ts +2 -0
  274. package/dist/dist/utils/__tests__/dateTimeUtils.test.d.ts.map +1 -0
  275. package/dist/dist/utils/__tests__/dateTimeUtils.test.js +180 -0
  276. package/dist/dist/utils/__tests__/dateTimeUtils.test.js.map +1 -0
  277. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.d.ts +2 -0
  278. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.d.ts.map +1 -0
  279. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.js +356 -0
  280. package/dist/dist/utils/__tests__/discountEngine/discountCalculator.test.js.map +1 -0
  281. package/dist/dist/utils/__tests__/displayDateUtils.test.d.ts +2 -0
  282. package/dist/dist/utils/__tests__/displayDateUtils.test.d.ts.map +1 -0
  283. package/dist/dist/utils/__tests__/displayDateUtils.test.js +105 -0
  284. package/dist/dist/utils/__tests__/displayDateUtils.test.js.map +1 -0
  285. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.d.ts +2 -0
  286. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.d.ts.map +1 -0
  287. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.js +86 -0
  288. package/dist/dist/utils/__tests__/entertainmentDrawFit.test.js.map +1 -0
  289. package/dist/dist/utils/__tests__/eventCitySlug.test.d.ts +2 -0
  290. package/dist/dist/utils/__tests__/eventCitySlug.test.d.ts.map +1 -0
  291. package/dist/dist/utils/__tests__/eventCitySlug.test.js +12 -0
  292. package/dist/dist/utils/__tests__/eventCitySlug.test.js.map +1 -0
  293. package/dist/dist/utils/__tests__/eventTimezoneIana.test.d.ts +2 -0
  294. package/dist/dist/utils/__tests__/eventTimezoneIana.test.d.ts.map +1 -0
  295. package/dist/dist/utils/__tests__/eventTimezoneIana.test.js +80 -0
  296. package/dist/dist/utils/__tests__/eventTimezoneIana.test.js.map +1 -0
  297. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.d.ts +2 -0
  298. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.d.ts.map +1 -0
  299. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.js +98 -0
  300. package/dist/dist/utils/__tests__/featuredDiscoveryGeo.test.js.map +1 -0
  301. package/dist/dist/utils/__tests__/flyerUtils.test.d.ts +2 -0
  302. package/dist/dist/utils/__tests__/flyerUtils.test.d.ts.map +1 -0
  303. package/dist/dist/utils/__tests__/flyerUtils.test.js +109 -0
  304. package/dist/dist/utils/__tests__/flyerUtils.test.js.map +1 -0
  305. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.d.ts +2 -0
  306. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.d.ts.map +1 -0
  307. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.js +26 -0
  308. package/dist/dist/utils/__tests__/generalDateTimeUtils.test.js.map +1 -0
  309. package/dist/dist/utils/__tests__/getBackendHost.test.d.ts +2 -0
  310. package/dist/dist/utils/__tests__/getBackendHost.test.d.ts.map +1 -0
  311. package/dist/dist/utils/__tests__/getBackendHost.test.js +167 -0
  312. package/dist/dist/utils/__tests__/getBackendHost.test.js.map +1 -0
  313. package/dist/dist/utils/__tests__/getFrontendHost.native.test.d.ts +14 -0
  314. package/dist/dist/utils/__tests__/getFrontendHost.native.test.d.ts.map +1 -0
  315. package/dist/dist/utils/__tests__/getFrontendHost.native.test.js +51 -0
  316. package/dist/dist/utils/__tests__/getFrontendHost.native.test.js.map +1 -0
  317. package/dist/dist/utils/__tests__/getFrontendHost.test.d.ts +2 -0
  318. package/dist/dist/utils/__tests__/getFrontendHost.test.d.ts.map +1 -0
  319. package/dist/dist/utils/__tests__/getFrontendHost.test.js +207 -0
  320. package/dist/dist/utils/__tests__/getFrontendHost.test.js.map +1 -0
  321. package/dist/dist/utils/__tests__/guestSurface.test.d.ts +2 -0
  322. package/dist/dist/utils/__tests__/guestSurface.test.d.ts.map +1 -0
  323. package/dist/dist/utils/__tests__/guestSurface.test.js +112 -0
  324. package/dist/dist/utils/__tests__/guestSurface.test.js.map +1 -0
  325. package/dist/dist/utils/__tests__/lobFlyerUtils.test.d.ts +2 -0
  326. package/dist/dist/utils/__tests__/lobFlyerUtils.test.d.ts.map +1 -0
  327. package/dist/dist/utils/__tests__/lobFlyerUtils.test.js +39 -0
  328. package/dist/dist/utils/__tests__/lobFlyerUtils.test.js.map +1 -0
  329. package/dist/dist/utils/__tests__/localPartnerHours.test.d.ts +2 -0
  330. package/dist/dist/utils/__tests__/localPartnerHours.test.d.ts.map +1 -0
  331. package/dist/dist/utils/__tests__/localPartnerHours.test.js +35 -0
  332. package/dist/dist/utils/__tests__/localPartnerHours.test.js.map +1 -0
  333. package/dist/dist/utils/__tests__/locationVisibility.test.d.ts +2 -0
  334. package/dist/dist/utils/__tests__/locationVisibility.test.d.ts.map +1 -0
  335. package/dist/dist/utils/__tests__/locationVisibility.test.js +183 -0
  336. package/dist/dist/utils/__tests__/locationVisibility.test.js.map +1 -0
  337. package/dist/dist/utils/__tests__/luxonUtils.test.d.ts +2 -0
  338. package/dist/dist/utils/__tests__/luxonUtils.test.d.ts.map +1 -0
  339. package/dist/dist/utils/__tests__/luxonUtils.test.js +139 -0
  340. package/dist/dist/utils/__tests__/luxonUtils.test.js.map +1 -0
  341. package/dist/dist/utils/__tests__/mathUtils.test.d.ts +5 -0
  342. package/dist/dist/utils/__tests__/mathUtils.test.d.ts.map +1 -0
  343. package/dist/dist/utils/__tests__/mathUtils.test.js +26 -0
  344. package/dist/dist/utils/__tests__/mathUtils.test.js.map +1 -0
  345. package/dist/dist/utils/__tests__/nonprofitUtils.test.d.ts +2 -0
  346. package/dist/dist/utils/__tests__/nonprofitUtils.test.d.ts.map +1 -0
  347. package/dist/dist/utils/__tests__/nonprofitUtils.test.js +84 -0
  348. package/dist/dist/utils/__tests__/nonprofitUtils.test.js.map +1 -0
  349. package/dist/dist/utils/__tests__/objUtils.test.d.ts +5 -0
  350. package/dist/dist/utils/__tests__/objUtils.test.d.ts.map +1 -0
  351. package/dist/dist/utils/__tests__/objUtils.test.js +41 -0
  352. package/dist/dist/utils/__tests__/objUtils.test.js.map +1 -0
  353. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.d.ts +2 -0
  354. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.d.ts.map +1 -0
  355. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.js +88 -0
  356. package/dist/dist/utils/__tests__/orgPromotionalPackageUtils.test.js.map +1 -0
  357. package/dist/dist/utils/__tests__/organizationEntitlements.test.d.ts +2 -0
  358. package/dist/dist/utils/__tests__/organizationEntitlements.test.d.ts.map +1 -0
  359. package/dist/dist/utils/__tests__/organizationEntitlements.test.js +42 -0
  360. package/dist/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -0
  361. package/dist/dist/utils/__tests__/paymentUtils.test.d.ts +6 -0
  362. package/dist/dist/utils/__tests__/paymentUtils.test.d.ts.map +1 -0
  363. package/dist/dist/utils/__tests__/paymentUtils.test.js +527 -0
  364. package/dist/dist/utils/__tests__/paymentUtils.test.js.map +1 -0
  365. package/dist/dist/utils/__tests__/promoCodesUtils.test.d.ts +2 -0
  366. package/dist/dist/utils/__tests__/promoCodesUtils.test.d.ts.map +1 -0
  367. package/dist/dist/utils/__tests__/promoCodesUtils.test.js +183 -0
  368. package/dist/dist/utils/__tests__/promoCodesUtils.test.js.map +1 -0
  369. package/dist/dist/utils/__tests__/qrCodeUtils.test.d.ts +2 -0
  370. package/dist/dist/utils/__tests__/qrCodeUtils.test.d.ts.map +1 -0
  371. package/dist/dist/utils/__tests__/qrCodeUtils.test.js +114 -0
  372. package/dist/dist/utils/__tests__/qrCodeUtils.test.js.map +1 -0
  373. package/dist/dist/utils/__tests__/recurrenceUtils.test.d.ts +2 -0
  374. package/dist/dist/utils/__tests__/recurrenceUtils.test.d.ts.map +1 -0
  375. package/dist/dist/utils/__tests__/recurrenceUtils.test.js +146 -0
  376. package/dist/dist/utils/__tests__/recurrenceUtils.test.js.map +1 -0
  377. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts +2 -0
  378. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts.map +1 -0
  379. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.js +28 -0
  380. package/dist/dist/utils/__tests__/reputationUtils.serviceListing.test.js.map +1 -0
  381. package/dist/dist/utils/__tests__/reviewUtils.test.d.ts +2 -0
  382. package/dist/dist/utils/__tests__/reviewUtils.test.d.ts.map +1 -0
  383. package/dist/dist/utils/__tests__/reviewUtils.test.js +49 -0
  384. package/dist/dist/utils/__tests__/reviewUtils.test.js.map +1 -0
  385. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts +2 -0
  386. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts.map +1 -0
  387. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.js +121 -0
  388. package/dist/dist/utils/__tests__/serviceAvailabilityDisplay.test.js.map +1 -0
  389. package/dist/dist/utils/__tests__/slugUtils.test.d.ts +2 -0
  390. package/dist/dist/utils/__tests__/slugUtils.test.d.ts.map +1 -0
  391. package/dist/dist/utils/__tests__/slugUtils.test.js +103 -0
  392. package/dist/dist/utils/__tests__/slugUtils.test.js.map +1 -0
  393. package/dist/dist/utils/__tests__/socialEventCadence.test.d.ts +2 -0
  394. package/dist/dist/utils/__tests__/socialEventCadence.test.d.ts.map +1 -0
  395. package/dist/dist/utils/__tests__/socialEventCadence.test.js +26 -0
  396. package/dist/dist/utils/__tests__/socialEventCadence.test.js.map +1 -0
  397. package/dist/dist/utils/__tests__/sortUtils.test.d.ts +5 -0
  398. package/dist/dist/utils/__tests__/sortUtils.test.d.ts.map +1 -0
  399. package/dist/dist/utils/__tests__/sortUtils.test.js +28 -0
  400. package/dist/dist/utils/__tests__/sortUtils.test.js.map +1 -0
  401. package/dist/dist/utils/__tests__/stringUtils.test.d.ts +2 -0
  402. package/dist/dist/utils/__tests__/stringUtils.test.d.ts.map +1 -0
  403. package/dist/dist/utils/__tests__/stringUtils.test.js +27 -0
  404. package/dist/dist/utils/__tests__/stringUtils.test.js.map +1 -0
  405. package/dist/dist/utils/__tests__/stripeAccountUtils.test.d.ts +2 -0
  406. package/dist/dist/utils/__tests__/stripeAccountUtils.test.d.ts.map +1 -0
  407. package/dist/dist/utils/__tests__/stripeAccountUtils.test.js +75 -0
  408. package/dist/dist/utils/__tests__/stripeAccountUtils.test.js.map +1 -0
  409. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts +2 -0
  410. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts.map +1 -0
  411. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.js +29 -0
  412. package/dist/dist/utils/__tests__/ticketCheckInDisplay.test.js.map +1 -0
  413. package/dist/dist/utils/__tests__/ticketListUtils.test.d.ts +2 -0
  414. package/dist/dist/utils/__tests__/ticketListUtils.test.d.ts.map +1 -0
  415. package/dist/dist/utils/__tests__/ticketListUtils.test.js +95 -0
  416. package/dist/dist/utils/__tests__/ticketListUtils.test.js.map +1 -0
  417. package/dist/dist/utils/__tests__/ticketTierSchedule.test.d.ts +2 -0
  418. package/dist/dist/utils/__tests__/ticketTierSchedule.test.d.ts.map +1 -0
  419. package/dist/dist/utils/__tests__/ticketTierSchedule.test.js +84 -0
  420. package/dist/dist/utils/__tests__/ticketTierSchedule.test.js.map +1 -0
  421. package/dist/dist/utils/__tests__/typeUtils.test.d.ts +2 -0
  422. package/dist/dist/utils/__tests__/typeUtils.test.d.ts.map +1 -0
  423. package/dist/dist/utils/__tests__/typeUtils.test.js +11 -0
  424. package/dist/dist/utils/__tests__/typeUtils.test.js.map +1 -0
  425. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.d.ts +2 -0
  426. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.d.ts.map +1 -0
  427. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.js +29 -0
  428. package/dist/dist/utils/__tests__/urlUtils.externalLink.test.js.map +1 -0
  429. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.d.ts +5 -0
  430. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.d.ts.map +1 -0
  431. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.js +66 -0
  432. package/dist/dist/utils/__tests__/userSubscriptionUtils.test.js.map +1 -0
  433. package/dist/dist/utils/__tests__/userUtils.test.d.ts +2 -0
  434. package/dist/dist/utils/__tests__/userUtils.test.d.ts.map +1 -0
  435. package/dist/dist/utils/__tests__/userUtils.test.js +34 -0
  436. package/dist/dist/utils/__tests__/userUtils.test.js.map +1 -0
  437. package/dist/dist/utils/__tests__/venueTypeFormatter.test.d.ts +2 -0
  438. package/dist/dist/utils/__tests__/venueTypeFormatter.test.d.ts.map +1 -0
  439. package/dist/dist/utils/__tests__/venueTypeFormatter.test.js +25 -0
  440. package/dist/dist/utils/__tests__/venueTypeFormatter.test.js.map +1 -0
  441. package/dist/dist/utils/addressUtils.d.ts +30 -0
  442. package/dist/dist/utils/addressUtils.d.ts.map +1 -0
  443. package/dist/dist/utils/addressUtils.js +288 -0
  444. package/dist/dist/utils/addressUtils.js.map +1 -0
  445. package/dist/dist/utils/apiUtils.d.ts +14 -0
  446. package/dist/dist/utils/apiUtils.d.ts.map +1 -0
  447. package/dist/dist/utils/apiUtils.js +97 -0
  448. package/dist/dist/utils/apiUtils.js.map +1 -0
  449. package/dist/dist/utils/arrayUtils.d.ts +2 -0
  450. package/dist/dist/utils/arrayUtils.d.ts.map +1 -0
  451. package/dist/dist/utils/arrayUtils.js +5 -0
  452. package/dist/dist/utils/arrayUtils.js.map +1 -0
  453. package/dist/dist/utils/awsS3Utils.d.ts +10 -0
  454. package/dist/dist/utils/awsS3Utils.d.ts.map +1 -0
  455. package/dist/dist/utils/awsS3Utils.js +89 -0
  456. package/dist/dist/utils/awsS3Utils.js.map +1 -0
  457. package/dist/dist/utils/badgeUtils.d.ts +33 -0
  458. package/dist/dist/utils/badgeUtils.d.ts.map +1 -0
  459. package/dist/dist/utils/badgeUtils.js +57 -0
  460. package/dist/dist/utils/badgeUtils.js.map +1 -0
  461. package/dist/dist/utils/bashPointsPaymentUtils.d.ts +55 -0
  462. package/dist/dist/utils/bashPointsPaymentUtils.d.ts.map +1 -0
  463. package/dist/dist/utils/bashPointsPaymentUtils.js +79 -0
  464. package/dist/dist/utils/bashPointsPaymentUtils.js.map +1 -0
  465. package/dist/dist/utils/birthdayExperienceQuality.d.ts +21 -0
  466. package/dist/dist/utils/birthdayExperienceQuality.d.ts.map +1 -0
  467. package/dist/dist/utils/birthdayExperienceQuality.js +33 -0
  468. package/dist/dist/utils/birthdayExperienceQuality.js.map +1 -0
  469. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.d.ts +2 -0
  470. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.d.ts.map +1 -0
  471. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.js +233 -0
  472. package/dist/dist/utils/blog/__tests__/getRelatedBlogPosts.test.js.map +1 -0
  473. package/dist/dist/utils/blog/blogCommentDbUtils.d.ts +163 -0
  474. package/dist/dist/utils/blog/blogCommentDbUtils.d.ts.map +1 -0
  475. package/dist/dist/utils/blog/blogCommentDbUtils.js +111 -0
  476. package/dist/dist/utils/blog/blogCommentDbUtils.js.map +1 -0
  477. package/dist/dist/utils/blog/blogDbUtils.d.ts +58 -0
  478. package/dist/dist/utils/blog/blogDbUtils.d.ts.map +1 -0
  479. package/dist/dist/utils/blog/blogDbUtils.js +293 -0
  480. package/dist/dist/utils/blog/blogDbUtils.js.map +1 -0
  481. package/dist/dist/utils/blogUtils.d.ts +19 -0
  482. package/dist/dist/utils/blogUtils.d.ts.map +1 -0
  483. package/dist/dist/utils/blogUtils.js +118 -0
  484. package/dist/dist/utils/blogUtils.js.map +1 -0
  485. package/dist/dist/utils/contentFilterUtils.d.ts +46 -0
  486. package/dist/dist/utils/contentFilterUtils.d.ts.map +1 -0
  487. package/dist/dist/utils/contentFilterUtils.js +247 -0
  488. package/dist/dist/utils/contentFilterUtils.js.map +1 -0
  489. package/dist/dist/utils/dateTimeUtils.d.ts +24 -0
  490. package/dist/dist/utils/dateTimeUtils.d.ts.map +1 -0
  491. package/dist/dist/utils/dateTimeUtils.js +112 -0
  492. package/dist/dist/utils/dateTimeUtils.js.map +1 -0
  493. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.d.ts +2 -0
  494. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.d.ts.map +1 -0
  495. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.js +458 -0
  496. package/dist/dist/utils/discountEngine/__tests__/bestPriceResolver.test.js.map +1 -0
  497. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.d.ts +2 -0
  498. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.d.ts.map +1 -0
  499. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.js +484 -0
  500. package/dist/dist/utils/discountEngine/__tests__/eligibilityValidator.test.js.map +1 -0
  501. package/dist/dist/utils/discountEngine/bestPriceResolver.d.ts +31 -0
  502. package/dist/dist/utils/discountEngine/bestPriceResolver.d.ts.map +1 -0
  503. package/dist/dist/utils/discountEngine/bestPriceResolver.js +147 -0
  504. package/dist/dist/utils/discountEngine/bestPriceResolver.js.map +1 -0
  505. package/dist/dist/utils/discountEngine/discountCalculator.d.ts +62 -0
  506. package/dist/dist/utils/discountEngine/discountCalculator.d.ts.map +1 -0
  507. package/dist/dist/utils/discountEngine/discountCalculator.js +221 -0
  508. package/dist/dist/utils/discountEngine/discountCalculator.js.map +1 -0
  509. package/dist/dist/utils/discountEngine/eligibilityValidator.d.ts +36 -0
  510. package/dist/dist/utils/discountEngine/eligibilityValidator.d.ts.map +1 -0
  511. package/dist/dist/utils/discountEngine/eligibilityValidator.js +189 -0
  512. package/dist/dist/utils/discountEngine/eligibilityValidator.js.map +1 -0
  513. package/dist/dist/utils/discountEngine/index.d.ts +4 -0
  514. package/dist/dist/utils/discountEngine/index.d.ts.map +1 -0
  515. package/dist/dist/utils/discountEngine/index.js +5 -0
  516. package/dist/dist/utils/discountEngine/index.js.map +1 -0
  517. package/dist/dist/utils/displayDateUtils.d.ts +10 -0
  518. package/dist/dist/utils/displayDateUtils.d.ts.map +1 -0
  519. package/dist/dist/utils/displayDateUtils.js +32 -0
  520. package/dist/dist/utils/displayDateUtils.js.map +1 -0
  521. package/dist/dist/utils/entertainmentDrawFit.d.ts +27 -0
  522. package/dist/dist/utils/entertainmentDrawFit.d.ts.map +1 -0
  523. package/dist/dist/utils/entertainmentDrawFit.js +119 -0
  524. package/dist/dist/utils/entertainmentDrawFit.js.map +1 -0
  525. package/dist/dist/utils/entityUtils.d.ts +5 -0
  526. package/dist/dist/utils/entityUtils.d.ts.map +1 -0
  527. package/dist/dist/utils/entityUtils.js +5 -0
  528. package/dist/dist/utils/entityUtils.js.map +1 -0
  529. package/dist/dist/utils/eventCitySlug.d.ts +11 -0
  530. package/dist/dist/utils/eventCitySlug.d.ts.map +1 -0
  531. package/dist/dist/utils/eventCitySlug.js +20 -0
  532. package/dist/dist/utils/eventCitySlug.js.map +1 -0
  533. package/dist/dist/utils/eventTimezoneIana.d.ts +41 -0
  534. package/dist/dist/utils/eventTimezoneIana.d.ts.map +1 -0
  535. package/dist/dist/utils/eventTimezoneIana.js +282 -0
  536. package/dist/dist/utils/eventTimezoneIana.js.map +1 -0
  537. package/dist/dist/utils/featuredDiscoveryGeo.d.ts +30 -0
  538. package/dist/dist/utils/featuredDiscoveryGeo.d.ts.map +1 -0
  539. package/dist/dist/utils/featuredDiscoveryGeo.js +47 -0
  540. package/dist/dist/utils/featuredDiscoveryGeo.js.map +1 -0
  541. package/dist/dist/utils/flyerUtils.d.ts +66 -0
  542. package/dist/dist/utils/flyerUtils.d.ts.map +1 -0
  543. package/dist/dist/utils/flyerUtils.js +166 -0
  544. package/dist/dist/utils/flyerUtils.js.map +1 -0
  545. package/dist/dist/utils/generalDateTimeUtils.d.ts +15 -0
  546. package/dist/dist/utils/generalDateTimeUtils.d.ts.map +1 -0
  547. package/dist/dist/utils/generalDateTimeUtils.js +38 -0
  548. package/dist/dist/utils/generalDateTimeUtils.js.map +1 -0
  549. package/dist/dist/utils/groupTicketCartUtils.d.ts +12 -0
  550. package/dist/dist/utils/groupTicketCartUtils.d.ts.map +1 -0
  551. package/dist/dist/utils/groupTicketCartUtils.js +30 -0
  552. package/dist/dist/utils/groupTicketCartUtils.js.map +1 -0
  553. package/dist/dist/utils/guestSurface.d.ts +133 -0
  554. package/dist/dist/utils/guestSurface.d.ts.map +1 -0
  555. package/dist/dist/utils/guestSurface.js +172 -0
  556. package/dist/dist/utils/guestSurface.js.map +1 -0
  557. package/dist/dist/utils/index.d.ts +42 -0
  558. package/dist/dist/utils/index.d.ts.map +1 -0
  559. package/dist/dist/utils/index.js +42 -0
  560. package/dist/dist/utils/index.js.map +1 -0
  561. package/dist/dist/utils/lobFlyerUtils.d.ts +41 -0
  562. package/dist/dist/utils/lobFlyerUtils.d.ts.map +1 -0
  563. package/dist/dist/utils/lobFlyerUtils.js +68 -0
  564. package/dist/dist/utils/lobFlyerUtils.js.map +1 -0
  565. package/dist/dist/utils/localPartnerHours.d.ts +12 -0
  566. package/dist/dist/utils/localPartnerHours.d.ts.map +1 -0
  567. package/dist/dist/utils/localPartnerHours.js +92 -0
  568. package/dist/dist/utils/localPartnerHours.js.map +1 -0
  569. package/dist/dist/utils/locationVisibility.d.ts +71 -0
  570. package/dist/dist/utils/locationVisibility.d.ts.map +1 -0
  571. package/dist/dist/utils/locationVisibility.js +116 -0
  572. package/dist/dist/utils/locationVisibility.js.map +1 -0
  573. package/dist/dist/utils/luxonUtils.d.ts +106 -0
  574. package/dist/dist/utils/luxonUtils.d.ts.map +1 -0
  575. package/dist/dist/utils/luxonUtils.js +579 -0
  576. package/dist/dist/utils/luxonUtils.js.map +1 -0
  577. package/dist/dist/utils/mathUtils.d.ts +2 -0
  578. package/dist/dist/utils/mathUtils.d.ts.map +1 -0
  579. package/dist/dist/utils/mathUtils.js +4 -0
  580. package/dist/dist/utils/mathUtils.js.map +1 -0
  581. package/dist/dist/utils/mediaClientDefaults.d.ts +7 -0
  582. package/dist/dist/utils/mediaClientDefaults.d.ts.map +1 -0
  583. package/dist/dist/utils/mediaClientDefaults.js +7 -0
  584. package/dist/dist/utils/mediaClientDefaults.js.map +1 -0
  585. package/dist/dist/utils/nonprofitUtils.d.ts +21 -0
  586. package/dist/dist/utils/nonprofitUtils.d.ts.map +1 -0
  587. package/dist/dist/utils/nonprofitUtils.js +29 -0
  588. package/dist/dist/utils/nonprofitUtils.js.map +1 -0
  589. package/dist/dist/utils/objUtils.d.ts +3 -0
  590. package/dist/dist/utils/objUtils.d.ts.map +1 -0
  591. package/dist/dist/utils/objUtils.js +29 -0
  592. package/dist/dist/utils/objUtils.js.map +1 -0
  593. package/dist/dist/utils/orgPromotionalPackageUtils.d.ts +100 -0
  594. package/dist/dist/utils/orgPromotionalPackageUtils.d.ts.map +1 -0
  595. package/dist/dist/utils/orgPromotionalPackageUtils.js +201 -0
  596. package/dist/dist/utils/orgPromotionalPackageUtils.js.map +1 -0
  597. package/dist/dist/utils/organizationEntitlements.d.ts +20 -0
  598. package/dist/dist/utils/organizationEntitlements.d.ts.map +1 -0
  599. package/dist/dist/utils/organizationEntitlements.js +30 -0
  600. package/dist/dist/utils/organizationEntitlements.js.map +1 -0
  601. package/dist/dist/utils/paymentUtils.d.ts +234 -0
  602. package/dist/dist/utils/paymentUtils.d.ts.map +1 -0
  603. package/dist/dist/utils/paymentUtils.js +405 -0
  604. package/dist/dist/utils/paymentUtils.js.map +1 -0
  605. package/dist/dist/utils/promoCodesUtils.d.ts +6 -0
  606. package/dist/dist/utils/promoCodesUtils.d.ts.map +1 -0
  607. package/dist/dist/utils/promoCodesUtils.js +23 -0
  608. package/dist/dist/utils/promoCodesUtils.js.map +1 -0
  609. package/dist/dist/utils/promotionBlastUtils.d.ts +38 -0
  610. package/dist/dist/utils/promotionBlastUtils.d.ts.map +1 -0
  611. package/dist/dist/utils/promotionBlastUtils.js +88 -0
  612. package/dist/dist/utils/promotionBlastUtils.js.map +1 -0
  613. package/dist/dist/utils/qrCodeUtils.d.ts +5 -0
  614. package/dist/dist/utils/qrCodeUtils.d.ts.map +1 -0
  615. package/dist/dist/utils/qrCodeUtils.js +23 -0
  616. package/dist/dist/utils/qrCodeUtils.js.map +1 -0
  617. package/dist/dist/utils/recurrenceUtils.d.ts +45 -0
  618. package/dist/dist/utils/recurrenceUtils.d.ts.map +1 -0
  619. package/dist/dist/utils/recurrenceUtils.js +363 -0
  620. package/dist/dist/utils/recurrenceUtils.js.map +1 -0
  621. package/dist/dist/utils/reputationUtils.d.ts +44 -0
  622. package/dist/dist/utils/reputationUtils.d.ts.map +1 -0
  623. package/dist/dist/utils/reputationUtils.js +54 -0
  624. package/dist/dist/utils/reputationUtils.js.map +1 -0
  625. package/dist/dist/utils/reviewUtils.d.ts +29 -0
  626. package/dist/dist/utils/reviewUtils.d.ts.map +1 -0
  627. package/dist/dist/utils/reviewUtils.js +65 -0
  628. package/dist/dist/utils/reviewUtils.js.map +1 -0
  629. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.d.ts +2 -0
  630. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.d.ts.map +1 -0
  631. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.js +101 -0
  632. package/dist/dist/utils/service/__tests__/apiServiceBookingApiUtils.test.js.map +1 -0
  633. package/dist/dist/utils/service/__tests__/billingCapUtils.test.d.ts +2 -0
  634. package/dist/dist/utils/service/__tests__/billingCapUtils.test.d.ts.map +1 -0
  635. package/dist/dist/utils/service/__tests__/billingCapUtils.test.js +120 -0
  636. package/dist/dist/utils/service/__tests__/billingCapUtils.test.js.map +1 -0
  637. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.d.ts +2 -0
  638. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.d.ts.map +1 -0
  639. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.js +125 -0
  640. package/dist/dist/utils/service/__tests__/cancellationPolicyRefundResolver.test.js.map +1 -0
  641. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.d.ts +2 -0
  642. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.d.ts.map +1 -0
  643. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.js +65 -0
  644. package/dist/dist/utils/service/__tests__/defaultOfferAmountUtils.test.js.map +1 -0
  645. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.d.ts +2 -0
  646. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.d.ts.map +1 -0
  647. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.js +243 -0
  648. package/dist/dist/utils/service/__tests__/eventPromoterPhase3.test.js.map +1 -0
  649. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.d.ts +2 -0
  650. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.d.ts.map +1 -0
  651. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.js +333 -0
  652. package/dist/dist/utils/service/__tests__/eventPromoterUtils.test.js.map +1 -0
  653. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.d.ts +2 -0
  654. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.d.ts.map +1 -0
  655. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.js +52 -0
  656. package/dist/dist/utils/service/__tests__/offerAllowListUtils.test.js.map +1 -0
  657. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.d.ts +2 -0
  658. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.d.ts.map +1 -0
  659. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.js +111 -0
  660. package/dist/dist/utils/service/__tests__/offerComparisonUtils.test.js.map +1 -0
  661. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.d.ts +2 -0
  662. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.d.ts.map +1 -0
  663. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.js +18 -0
  664. package/dist/dist/utils/service/__tests__/partnerServiceProfileWizardPaymentMethod.test.js.map +1 -0
  665. package/dist/dist/utils/service/__tests__/regexUtils.test.d.ts +2 -0
  666. package/dist/dist/utils/service/__tests__/regexUtils.test.d.ts.map +1 -0
  667. package/dist/dist/utils/service/__tests__/regexUtils.test.js +51 -0
  668. package/dist/dist/utils/service/__tests__/regexUtils.test.js.map +1 -0
  669. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.d.ts +2 -0
  670. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.d.ts.map +1 -0
  671. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js +155 -0
  672. package/dist/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js.map +1 -0
  673. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.d.ts +2 -0
  674. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.d.ts.map +1 -0
  675. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js +226 -0
  676. package/dist/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js.map +1 -0
  677. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.d.ts +2 -0
  678. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.d.ts.map +1 -0
  679. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.js +17 -0
  680. package/dist/dist/utils/service/__tests__/serviceDBUtils.test.js.map +1 -0
  681. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.d.ts +2 -0
  682. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.d.ts.map +1 -0
  683. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.js +60 -0
  684. package/dist/dist/utils/service/__tests__/serviceFeaturedSortUtils.test.js.map +1 -0
  685. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.d.ts +2 -0
  686. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.d.ts.map +1 -0
  687. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.js +237 -0
  688. package/dist/dist/utils/service/__tests__/serviceRateUtils.test.js.map +1 -0
  689. package/dist/dist/utils/service/__tests__/serviceUtils.test.d.ts +2 -0
  690. package/dist/dist/utils/service/__tests__/serviceUtils.test.d.ts.map +1 -0
  691. package/dist/dist/utils/service/__tests__/serviceUtils.test.js +135 -0
  692. package/dist/dist/utils/service/__tests__/serviceUtils.test.js.map +1 -0
  693. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.d.ts +2 -0
  694. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.d.ts.map +1 -0
  695. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.js +77 -0
  696. package/dist/dist/utils/service/__tests__/unifiedPricingResolver.test.js.map +1 -0
  697. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.d.ts +2 -0
  698. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.d.ts.map +1 -0
  699. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.js +157 -0
  700. package/dist/dist/utils/service/__tests__/venueFBSettlementUtils.test.js.map +1 -0
  701. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.d.ts +2 -0
  702. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.d.ts.map +1 -0
  703. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.js +175 -0
  704. package/dist/dist/utils/service/__tests__/venueSettlementUtils.test.js.map +1 -0
  705. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.d.ts +2 -0
  706. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.d.ts.map +1 -0
  707. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.js +118 -0
  708. package/dist/dist/utils/service/__tests__/volunteerCompensationUtils.test.js.map +1 -0
  709. package/dist/dist/utils/service/apiServiceBookingApiUtils.d.ts +33 -0
  710. package/dist/dist/utils/service/apiServiceBookingApiUtils.d.ts.map +1 -0
  711. package/dist/dist/utils/service/apiServiceBookingApiUtils.js +170 -0
  712. package/dist/dist/utils/service/apiServiceBookingApiUtils.js.map +1 -0
  713. package/dist/dist/utils/service/attendeeOptionUtils.d.ts +11 -0
  714. package/dist/dist/utils/service/attendeeOptionUtils.d.ts.map +1 -0
  715. package/dist/dist/utils/service/attendeeOptionUtils.js +9 -0
  716. package/dist/dist/utils/service/attendeeOptionUtils.js.map +1 -0
  717. package/dist/dist/utils/service/billingCapUtils.d.ts +86 -0
  718. package/dist/dist/utils/service/billingCapUtils.d.ts.map +1 -0
  719. package/dist/dist/utils/service/billingCapUtils.js +96 -0
  720. package/dist/dist/utils/service/billingCapUtils.js.map +1 -0
  721. package/dist/dist/utils/service/cancellationPolicyRefundResolver.d.ts +30 -0
  722. package/dist/dist/utils/service/cancellationPolicyRefundResolver.d.ts.map +1 -0
  723. package/dist/dist/utils/service/cancellationPolicyRefundResolver.js +82 -0
  724. package/dist/dist/utils/service/cancellationPolicyRefundResolver.js.map +1 -0
  725. package/dist/dist/utils/service/defaultOfferAmountUtils.d.ts +32 -0
  726. package/dist/dist/utils/service/defaultOfferAmountUtils.d.ts.map +1 -0
  727. package/dist/dist/utils/service/defaultOfferAmountUtils.js +115 -0
  728. package/dist/dist/utils/service/defaultOfferAmountUtils.js.map +1 -0
  729. package/dist/dist/utils/service/eventPromoterUtils.d.ts +319 -0
  730. package/dist/dist/utils/service/eventPromoterUtils.d.ts.map +1 -0
  731. package/dist/dist/utils/service/eventPromoterUtils.js +372 -0
  732. package/dist/dist/utils/service/eventPromoterUtils.js.map +1 -0
  733. package/dist/dist/utils/service/frontendServiceBookingUtils.d.ts +60 -0
  734. package/dist/dist/utils/service/frontendServiceBookingUtils.d.ts.map +1 -0
  735. package/dist/dist/utils/service/frontendServiceBookingUtils.js +182 -0
  736. package/dist/dist/utils/service/frontendServiceBookingUtils.js.map +1 -0
  737. package/dist/dist/utils/service/offerAllowListUtils.d.ts +42 -0
  738. package/dist/dist/utils/service/offerAllowListUtils.d.ts.map +1 -0
  739. package/dist/dist/utils/service/offerAllowListUtils.js +49 -0
  740. package/dist/dist/utils/service/offerAllowListUtils.js.map +1 -0
  741. package/dist/dist/utils/service/offerComparisonUtils.d.ts +69 -0
  742. package/dist/dist/utils/service/offerComparisonUtils.d.ts.map +1 -0
  743. package/dist/dist/utils/service/offerComparisonUtils.js +110 -0
  744. package/dist/dist/utils/service/offerComparisonUtils.js.map +1 -0
  745. package/dist/dist/utils/service/regexUtils.d.ts +6 -0
  746. package/dist/dist/utils/service/regexUtils.d.ts.map +1 -0
  747. package/dist/dist/utils/service/regexUtils.js +16 -0
  748. package/dist/dist/utils/service/regexUtils.js.map +1 -0
  749. package/dist/dist/utils/service/serviceBookingExposureUtils.d.ts +111 -0
  750. package/dist/dist/utils/service/serviceBookingExposureUtils.d.ts.map +1 -0
  751. package/dist/dist/utils/service/serviceBookingExposureUtils.js +133 -0
  752. package/dist/dist/utils/service/serviceBookingExposureUtils.js.map +1 -0
  753. package/dist/dist/utils/service/serviceBookingStatusUtils.d.ts +21 -0
  754. package/dist/dist/utils/service/serviceBookingStatusUtils.d.ts.map +1 -0
  755. package/dist/dist/utils/service/serviceBookingStatusUtils.js +130 -0
  756. package/dist/dist/utils/service/serviceBookingStatusUtils.js.map +1 -0
  757. package/dist/dist/utils/service/serviceBookingTypes.d.ts +21 -0
  758. package/dist/dist/utils/service/serviceBookingTypes.d.ts.map +1 -0
  759. package/dist/dist/utils/service/serviceBookingTypes.js +2 -0
  760. package/dist/dist/utils/service/serviceBookingTypes.js.map +1 -0
  761. package/dist/dist/utils/service/serviceDBUtils.d.ts +12 -0
  762. package/dist/dist/utils/service/serviceDBUtils.d.ts.map +1 -0
  763. package/dist/dist/utils/service/serviceDBUtils.js +14 -0
  764. package/dist/dist/utils/service/serviceDBUtils.js.map +1 -0
  765. package/dist/dist/utils/service/serviceFeaturedSortUtils.d.ts +26 -0
  766. package/dist/dist/utils/service/serviceFeaturedSortUtils.d.ts.map +1 -0
  767. package/dist/dist/utils/service/serviceFeaturedSortUtils.js +65 -0
  768. package/dist/dist/utils/service/serviceFeaturedSortUtils.js.map +1 -0
  769. package/dist/dist/utils/service/serviceRateTypes.d.ts +9 -0
  770. package/dist/dist/utils/service/serviceRateTypes.d.ts.map +1 -0
  771. package/dist/dist/utils/service/serviceRateTypes.js +2 -0
  772. package/dist/dist/utils/service/serviceRateTypes.js.map +1 -0
  773. package/dist/dist/utils/service/serviceRateUtils.d.ts +24 -0
  774. package/dist/dist/utils/service/serviceRateUtils.d.ts.map +1 -0
  775. package/dist/dist/utils/service/serviceRateUtils.js +183 -0
  776. package/dist/dist/utils/service/serviceRateUtils.js.map +1 -0
  777. package/dist/dist/utils/service/serviceUtils.d.ts +109 -0
  778. package/dist/dist/utils/service/serviceUtils.d.ts.map +1 -0
  779. package/dist/dist/utils/service/serviceUtils.js +651 -0
  780. package/dist/dist/utils/service/serviceUtils.js.map +1 -0
  781. package/dist/dist/utils/service/unifiedPricingResolver.d.ts +67 -0
  782. package/dist/dist/utils/service/unifiedPricingResolver.d.ts.map +1 -0
  783. package/dist/dist/utils/service/unifiedPricingResolver.js +75 -0
  784. package/dist/dist/utils/service/unifiedPricingResolver.js.map +1 -0
  785. package/dist/dist/utils/service/venueFBSettlementUtils.d.ts +122 -0
  786. package/dist/dist/utils/service/venueFBSettlementUtils.d.ts.map +1 -0
  787. package/dist/dist/utils/service/venueFBSettlementUtils.js +106 -0
  788. package/dist/dist/utils/service/venueFBSettlementUtils.js.map +1 -0
  789. package/dist/dist/utils/service/venueSettlementUtils.d.ts +107 -0
  790. package/dist/dist/utils/service/venueSettlementUtils.d.ts.map +1 -0
  791. package/dist/dist/utils/service/venueSettlementUtils.js +117 -0
  792. package/dist/dist/utils/service/venueSettlementUtils.js.map +1 -0
  793. package/dist/dist/utils/service/volunteerCompensationUtils.d.ts +75 -0
  794. package/dist/dist/utils/service/volunteerCompensationUtils.d.ts.map +1 -0
  795. package/dist/dist/utils/service/volunteerCompensationUtils.js +88 -0
  796. package/dist/dist/utils/service/volunteerCompensationUtils.js.map +1 -0
  797. package/dist/dist/utils/serviceAvailabilityDisplay.d.ts +58 -0
  798. package/dist/dist/utils/serviceAvailabilityDisplay.d.ts.map +1 -0
  799. package/dist/dist/utils/serviceAvailabilityDisplay.js +143 -0
  800. package/dist/dist/utils/serviceAvailabilityDisplay.js.map +1 -0
  801. package/dist/dist/utils/slugUtils.d.ts +18 -0
  802. package/dist/dist/utils/slugUtils.d.ts.map +1 -0
  803. package/dist/dist/utils/slugUtils.js +67 -0
  804. package/dist/dist/utils/slugUtils.js.map +1 -0
  805. package/dist/dist/utils/sortUtils.d.ts +7 -0
  806. package/dist/dist/utils/sortUtils.d.ts.map +1 -0
  807. package/dist/dist/utils/sortUtils.js +26 -0
  808. package/dist/dist/utils/sortUtils.js.map +1 -0
  809. package/dist/dist/utils/stringUtils.d.ts +2 -0
  810. package/dist/dist/utils/stringUtils.d.ts.map +1 -0
  811. package/dist/dist/utils/stringUtils.js +6 -0
  812. package/dist/dist/utils/stringUtils.js.map +1 -0
  813. package/dist/dist/utils/stripeAccountUtils.d.ts +3 -0
  814. package/dist/dist/utils/stripeAccountUtils.d.ts.map +1 -0
  815. package/dist/dist/utils/stripeAccountUtils.js +8 -0
  816. package/dist/dist/utils/stripeAccountUtils.js.map +1 -0
  817. package/dist/dist/utils/ticketCheckInDisplay.d.ts +8 -0
  818. package/dist/dist/utils/ticketCheckInDisplay.d.ts.map +1 -0
  819. package/dist/dist/utils/ticketCheckInDisplay.js +29 -0
  820. package/dist/dist/utils/ticketCheckInDisplay.js.map +1 -0
  821. package/dist/dist/utils/ticketListUtils.d.ts +13 -0
  822. package/dist/dist/utils/ticketListUtils.d.ts.map +1 -0
  823. package/dist/dist/utils/ticketListUtils.js +145 -0
  824. package/dist/dist/utils/ticketListUtils.js.map +1 -0
  825. package/dist/dist/utils/ticketTierSchedule.d.ts +58 -0
  826. package/dist/dist/utils/ticketTierSchedule.d.ts.map +1 -0
  827. package/dist/dist/utils/ticketTierSchedule.js +279 -0
  828. package/dist/dist/utils/ticketTierSchedule.js.map +1 -0
  829. package/dist/dist/utils/typeUtils.d.ts +16 -0
  830. package/dist/dist/utils/typeUtils.d.ts.map +1 -0
  831. package/dist/dist/utils/typeUtils.js +8 -0
  832. package/dist/dist/utils/typeUtils.js.map +1 -0
  833. package/dist/dist/utils/urlUtils.d.ts +65 -0
  834. package/dist/dist/utils/urlUtils.d.ts.map +1 -0
  835. package/dist/dist/utils/urlUtils.js +255 -0
  836. package/dist/dist/utils/urlUtils.js.map +1 -0
  837. package/dist/dist/utils/userPromoCodeUtils.d.ts +21 -0
  838. package/dist/dist/utils/userPromoCodeUtils.d.ts.map +1 -0
  839. package/dist/dist/utils/userPromoCodeUtils.js +13 -0
  840. package/dist/dist/utils/userPromoCodeUtils.js.map +1 -0
  841. package/dist/dist/utils/userSubscriptionUtils.d.ts +28 -0
  842. package/dist/dist/utils/userSubscriptionUtils.d.ts.map +1 -0
  843. package/dist/dist/utils/userSubscriptionUtils.js +49 -0
  844. package/dist/dist/utils/userSubscriptionUtils.js.map +1 -0
  845. package/dist/dist/utils/userUtils.d.ts +49 -0
  846. package/dist/dist/utils/userUtils.d.ts.map +1 -0
  847. package/dist/dist/utils/userUtils.js +60 -0
  848. package/dist/dist/utils/userUtils.js.map +1 -0
  849. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.d.ts +2 -0
  850. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.d.ts.map +1 -0
  851. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js +67 -0
  852. package/dist/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js.map +1 -0
  853. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.d.ts +2 -0
  854. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.d.ts.map +1 -0
  855. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js +71 -0
  856. package/dist/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js.map +1 -0
  857. package/dist/dist/utils/venueLoyalty/eligibilityUtils.d.ts +33 -0
  858. package/dist/dist/utils/venueLoyalty/eligibilityUtils.d.ts.map +1 -0
  859. package/dist/dist/utils/venueLoyalty/eligibilityUtils.js +49 -0
  860. package/dist/dist/utils/venueLoyalty/eligibilityUtils.js.map +1 -0
  861. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts +35 -0
  862. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts.map +1 -0
  863. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.js +74 -0
  864. package/dist/dist/utils/venueLoyalty/redemptionCodeUtils.js.map +1 -0
  865. package/dist/dist/utils/venueTypeFormatter.d.ts +10 -0
  866. package/dist/dist/utils/venueTypeFormatter.d.ts.map +1 -0
  867. package/dist/dist/utils/venueTypeFormatter.js +25 -0
  868. package/dist/dist/utils/venueTypeFormatter.js.map +1 -0
  869. package/dist/dist/utmAttribution.d.ts +29 -0
  870. package/dist/dist/utmAttribution.d.ts.map +1 -0
  871. package/dist/dist/utmAttribution.js +124 -0
  872. package/dist/dist/utmAttribution.js.map +1 -0
  873. package/dist/dist/venueLoyaltyRedemption.d.ts +166 -0
  874. package/dist/dist/venueLoyaltyRedemption.d.ts.map +1 -0
  875. package/dist/dist/venueLoyaltyRedemption.js +21 -0
  876. package/dist/dist/venueLoyaltyRedemption.js.map +1 -0
  877. package/dist/dist/venueMatch.d.ts +165 -0
  878. package/dist/dist/venueMatch.d.ts.map +1 -0
  879. package/dist/dist/venueMatch.js +68 -0
  880. package/dist/dist/venueMatch.js.map +1 -0
  881. package/dist/entertainmentNotableVenues.d.ts +53 -0
  882. package/dist/entertainmentNotableVenues.d.ts.map +1 -0
  883. package/dist/entertainmentNotableVenues.js +101 -0
  884. package/dist/entertainmentNotableVenues.js.map +1 -0
  885. package/dist/extendedSchemas.d.ts +308 -6
  886. package/dist/extendedSchemas.d.ts.map +1 -1
  887. package/dist/extendedSchemas.js +65 -0
  888. package/dist/extendedSchemas.js.map +1 -1
  889. package/dist/icebreakerPrompts.d.ts +9 -0
  890. package/dist/icebreakerPrompts.d.ts.map +1 -0
  891. package/dist/icebreakerPrompts.js +77 -0
  892. package/dist/icebreakerPrompts.js.map +1 -0
  893. package/dist/index.d.ts +17 -3
  894. package/dist/index.d.ts.map +1 -1
  895. package/dist/index.js +16 -2
  896. package/dist/index.js.map +1 -1
  897. package/dist/influencerAudience.d.ts +24 -0
  898. package/dist/influencerAudience.d.ts.map +1 -0
  899. package/dist/influencerAudience.js +112 -0
  900. package/dist/influencerAudience.js.map +1 -0
  901. package/dist/mirroredPrismaEnums.d.ts +14 -0
  902. package/dist/mirroredPrismaEnums.d.ts.map +1 -1
  903. package/dist/mirroredPrismaEnums.js +13 -0
  904. package/dist/mirroredPrismaEnums.js.map +1 -1
  905. package/dist/productLaunch.d.ts +17 -0
  906. package/dist/productLaunch.d.ts.map +1 -0
  907. package/dist/productLaunch.js +50 -0
  908. package/dist/productLaunch.js.map +1 -0
  909. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.d.ts +2 -0
  910. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.d.ts.map +1 -0
  911. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.js +25 -0
  912. package/dist/utils/__tests__/agencyBookingCheckoutCopy.test.js.map +1 -0
  913. package/dist/utils/__tests__/entertainmentDrawFit.test.d.ts +2 -0
  914. package/dist/utils/__tests__/entertainmentDrawFit.test.d.ts.map +1 -0
  915. package/dist/utils/__tests__/entertainmentDrawFit.test.js +86 -0
  916. package/dist/utils/__tests__/entertainmentDrawFit.test.js.map +1 -0
  917. package/dist/utils/__tests__/guestSurface.test.js +6 -0
  918. package/dist/utils/__tests__/guestSurface.test.js.map +1 -1
  919. package/dist/utils/__tests__/locationVisibility.test.js +11 -0
  920. package/dist/utils/__tests__/locationVisibility.test.js.map +1 -1
  921. package/dist/utils/__tests__/organizationEntitlements.test.d.ts +2 -0
  922. package/dist/utils/__tests__/organizationEntitlements.test.d.ts.map +1 -0
  923. package/dist/utils/__tests__/organizationEntitlements.test.js +42 -0
  924. package/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -0
  925. package/dist/utils/__tests__/reputationUtils.bayesian.test.d.ts +2 -0
  926. package/dist/utils/__tests__/reputationUtils.bayesian.test.d.ts.map +1 -0
  927. package/dist/utils/__tests__/reputationUtils.bayesian.test.js +39 -0
  928. package/dist/utils/__tests__/reputationUtils.bayesian.test.js.map +1 -0
  929. package/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts +2 -0
  930. package/dist/utils/__tests__/reputationUtils.serviceListing.test.d.ts.map +1 -0
  931. package/dist/utils/__tests__/reputationUtils.serviceListing.test.js +28 -0
  932. package/dist/utils/__tests__/reputationUtils.serviceListing.test.js.map +1 -0
  933. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts +2 -0
  934. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.d.ts.map +1 -0
  935. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.js +121 -0
  936. package/dist/utils/__tests__/serviceAvailabilityDisplay.test.js.map +1 -0
  937. package/dist/utils/__tests__/socialEventCadence.test.d.ts +2 -0
  938. package/dist/utils/__tests__/socialEventCadence.test.d.ts.map +1 -0
  939. package/dist/utils/__tests__/socialEventCadence.test.js +26 -0
  940. package/dist/utils/__tests__/socialEventCadence.test.js.map +1 -0
  941. package/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts +2 -0
  942. package/dist/utils/__tests__/ticketCheckInDisplay.test.d.ts.map +1 -0
  943. package/dist/utils/__tests__/ticketCheckInDisplay.test.js +29 -0
  944. package/dist/utils/__tests__/ticketCheckInDisplay.test.js.map +1 -0
  945. package/dist/utils/agencyBookingCheckoutCopy.d.ts +15 -0
  946. package/dist/utils/agencyBookingCheckoutCopy.d.ts.map +1 -0
  947. package/dist/utils/agencyBookingCheckoutCopy.js +29 -0
  948. package/dist/utils/agencyBookingCheckoutCopy.js.map +1 -0
  949. package/dist/utils/blog/blogCommentDbUtils.d.ts +2 -0
  950. package/dist/utils/blog/blogCommentDbUtils.d.ts.map +1 -1
  951. package/dist/utils/entertainmentDrawFit.d.ts +27 -0
  952. package/dist/utils/entertainmentDrawFit.d.ts.map +1 -0
  953. package/dist/utils/entertainmentDrawFit.js +119 -0
  954. package/dist/utils/entertainmentDrawFit.js.map +1 -0
  955. package/dist/utils/guestSurface.d.ts +11 -1
  956. package/dist/utils/guestSurface.d.ts.map +1 -1
  957. package/dist/utils/guestSurface.js +1 -1
  958. package/dist/utils/guestSurface.js.map +1 -1
  959. package/dist/utils/locationVisibility.d.ts +5 -0
  960. package/dist/utils/locationVisibility.d.ts.map +1 -1
  961. package/dist/utils/locationVisibility.js +4 -2
  962. package/dist/utils/locationVisibility.js.map +1 -1
  963. package/dist/utils/organizationEntitlements.d.ts +20 -0
  964. package/dist/utils/organizationEntitlements.d.ts.map +1 -0
  965. package/dist/utils/organizationEntitlements.js +30 -0
  966. package/dist/utils/organizationEntitlements.js.map +1 -0
  967. package/dist/utils/reputationUtils.d.ts +44 -0
  968. package/dist/utils/reputationUtils.d.ts.map +1 -0
  969. package/dist/utils/reputationUtils.js +54 -0
  970. package/dist/utils/reputationUtils.js.map +1 -0
  971. package/dist/utils/service/serviceUtils.d.ts +4 -1
  972. package/dist/utils/service/serviceUtils.d.ts.map +1 -1
  973. package/dist/utils/service/serviceUtils.js.map +1 -1
  974. package/dist/utils/serviceAvailabilityDisplay.d.ts +58 -0
  975. package/dist/utils/serviceAvailabilityDisplay.d.ts.map +1 -0
  976. package/dist/utils/serviceAvailabilityDisplay.js +143 -0
  977. package/dist/utils/serviceAvailabilityDisplay.js.map +1 -0
  978. package/dist/utils/ticketCheckInDisplay.d.ts +8 -0
  979. package/dist/utils/ticketCheckInDisplay.d.ts.map +1 -0
  980. package/dist/utils/ticketCheckInDisplay.js +29 -0
  981. package/dist/utils/ticketCheckInDisplay.js.map +1 -0
  982. package/dist/utils/userUtils.d.ts +16 -1
  983. package/dist/utils/userUtils.d.ts.map +1 -1
  984. package/dist/utils/userUtils.js +31 -0
  985. package/dist/utils/userUtils.js.map +1 -1
  986. package/dist/venueMatch.d.ts +165 -0
  987. package/dist/venueMatch.d.ts.map +1 -0
  988. package/dist/venueMatch.js +68 -0
  989. package/dist/venueMatch.js.map +1 -0
  990. package/package.json +1 -1
  991. package/prisma/prisma/COMPREHENSIVE-MIGRATION-README.md +295 -0
  992. package/prisma/prisma/MIGRATION-CHECKLIST.md +198 -0
  993. package/prisma/prisma/MIGRATION-FILES-GUIDE.md +76 -0
  994. package/prisma/prisma/comprehensive-migration-20260120.sql +5751 -0
  995. package/prisma/prisma/delta-migration-20260120.sql +302 -0
  996. package/prisma/prisma/manual-migration-add-missing-columns.sql +182 -0
  997. package/prisma/prisma/migrations/competition-prize-catalog-entry-tier.sql +39 -0
  998. package/prisma/prisma/quick-migration.sql +47 -0
  999. package/prisma/prisma/schema.prisma +10850 -0
  1000. package/prisma/prisma/verify-migration.sql +132 -0
  1001. package/prisma/schema.prisma +1228 -16
  1002. package/src/__tests__/accessScreening.test.ts +29 -0
  1003. package/src/__tests__/bookingIntent.test.ts +50 -0
  1004. package/src/__tests__/entertainmentNotableVenues.test.ts +110 -0
  1005. package/src/__tests__/influencerAudience.test.ts +38 -0
  1006. package/src/__tests__/productLaunch.test.ts +52 -0
  1007. package/src/accessScreening.ts +23 -0
  1008. package/src/aiEventPlan.ts +75 -0
  1009. package/src/bookingIntent.ts +54 -0
  1010. package/src/definitions.ts +4 -2
  1011. package/src/entertainmentNotableVenues.ts +137 -0
  1012. package/src/extendedSchemas.ts +136 -12
  1013. package/src/icebreakerPrompts.ts +75 -0
  1014. package/src/index.ts +46 -1
  1015. package/src/influencerAudience.ts +156 -0
  1016. package/src/mirroredPrismaEnums.ts +16 -0
  1017. package/src/productLaunch.ts +68 -0
  1018. package/src/utils/__tests__/agencyBookingCheckoutCopy.test.ts +27 -0
  1019. package/src/utils/__tests__/entertainmentDrawFit.test.ts +122 -0
  1020. package/src/utils/__tests__/guestSurface.test.ts +9 -0
  1021. package/src/utils/__tests__/locationVisibility.test.ts +14 -0
  1022. package/src/utils/__tests__/organizationEntitlements.test.ts +59 -0
  1023. package/src/utils/__tests__/reputationUtils.bayesian.test.ts +48 -0
  1024. package/src/utils/__tests__/reputationUtils.serviceListing.test.ts +36 -0
  1025. package/src/utils/__tests__/serviceAvailabilityDisplay.test.ts +152 -0
  1026. package/src/utils/__tests__/socialEventCadence.test.ts +37 -0
  1027. package/src/utils/__tests__/ticketCheckInDisplay.test.ts +49 -0
  1028. package/src/utils/agencyBookingCheckoutCopy.ts +50 -0
  1029. package/src/utils/entertainmentDrawFit.ts +180 -0
  1030. package/src/utils/guestSurface.ts +20 -3
  1031. package/src/utils/locationVisibility.ts +11 -2
  1032. package/src/utils/organizationEntitlements.ts +37 -0
  1033. package/src/utils/reputationUtils.ts +94 -0
  1034. package/src/utils/service/serviceUtils.ts +6 -2
  1035. package/src/utils/serviceAvailabilityDisplay.ts +199 -0
  1036. package/src/utils/ticketCheckInDisplay.ts +37 -0
  1037. package/src/utils/userUtils.ts +36 -1
  1038. package/src/venueMatch.ts +202 -0
@@ -237,6 +237,13 @@ model Competition {
237
237
  startTime DateTime? // Competition start time (for voting)
238
238
  endTime DateTime? // Competition end time (for voting)
239
239
  allowSelfRegistration Boolean @default(false)
240
+ /// When true, participant requests are auto-approved (ACCEPTED) instead of queued for host review.
241
+ autoApproveParticipants Boolean @default(false)
242
+ /// How the participant roster appears on the bash page ("All" | "Hidden").
243
+ participantDisplayMode String @default("All")
244
+ /// AUDIENCE_VOTE only: when true, only attendees (ticket holders / RSVPs) may vote.
245
+ /// Default false keeps voting open to any signed-in viewer.
246
+ restrictVotingToAttendees Boolean @default(false)
240
247
  maxParticipants Int? // Optional cap on participants
241
248
 
242
249
  // Tournament bracket fields
@@ -316,6 +323,8 @@ model CompetitionSponsor {
316
323
  sponsorName String?
317
324
  logoUrl String?
318
325
  description String?
326
+ /// Optional outbound link to the sponsor's website (clickable on the public competition page)
327
+ websiteUrl String?
319
328
  paidOn String?
320
329
  competition Competition @relation(fields: [competitionId], references: [id], onDelete: Cascade)
321
330
  sponsor User? @relation(fields: [userId], references: [id], onDelete: Cascade)
@@ -372,10 +381,9 @@ model CompetitionParticipant {
372
381
  votes CompetitionVote[]
373
382
 
374
383
  // Tournament bracket relations
375
- matchesAsParticipant1 CompetitionMatch[] @relation("MatchParticipant1")
376
- matchesAsParticipant2 CompetitionMatch[] @relation("MatchParticipant2")
377
- matchesWon CompetitionMatch[] @relation("MatchWinner")
378
- judgeScores CompetitionJudgeScore[]
384
+ matchEntries CompetitionMatchEntrant[]
385
+ matchesWon CompetitionMatch[] @relation("MatchWinner")
386
+ judgeScores CompetitionJudgeScore[]
379
387
 
380
388
  @@index([competitionId])
381
389
  @@index([userId])
@@ -384,26 +392,28 @@ model CompetitionParticipant {
384
392
  @@index([status])
385
393
  }
386
394
 
387
- // Tournament bracket matches
395
+ // Tournament bracket matches (1v1, heats, or battle royale via entrants join table)
388
396
  model CompetitionMatch {
389
397
  id String @id @default(cuid())
390
398
  competitionId String
391
399
  round Int // 1 = first round, 2 = semifinals, etc.
392
400
  matchNumber Int // Position in round (1, 2, 3...)
393
401
 
394
- participant1Id String?
395
- participant2Id String?
396
- winnerId String?
402
+ format CompetitionMatchFormat @default(HEAD_TO_HEAD)
403
+ capacity Int? // Max entrants (heat lanes, server slots)
404
+ advanceCount Int? // How many advance from this heat/pool
405
+ heatIndex Int? // Wave number within a round (e.g. heat 12 of 50)
406
+
407
+ winnerId String?
397
408
 
398
409
  scheduledTime DateTime?
399
410
  completedAt DateTime?
400
- score Json? // {participant1: 10, participant2: 8}
411
+ score Json? // Legacy H2H: {participant1, participant2}; multi-entrant scores live on entrants
401
412
  notes String? // Match notes
402
413
 
403
- competition Competition @relation(fields: [competitionId], references: [id], onDelete: Cascade)
404
- participant1 CompetitionParticipant? @relation("MatchParticipant1", fields: [participant1Id], references: [id])
405
- participant2 CompetitionParticipant? @relation("MatchParticipant2", fields: [participant2Id], references: [id])
406
- winner CompetitionParticipant? @relation("MatchWinner", fields: [winnerId], references: [id])
414
+ competition Competition @relation(fields: [competitionId], references: [id], onDelete: Cascade)
415
+ winner CompetitionParticipant? @relation("MatchWinner", fields: [winnerId], references: [id])
416
+ entrants CompetitionMatchEntrant[]
407
417
 
408
418
  createdAt DateTime @default(now())
409
419
  updatedAt DateTime @updatedAt
@@ -413,6 +423,29 @@ model CompetitionMatch {
413
423
  @@index([round])
414
424
  }
415
425
 
426
+ // N entrants per match — heats, battle royales, and head-to-head (slots 1 & 2)
427
+ model CompetitionMatchEntrant {
428
+ id String @id @default(cuid())
429
+ matchId String
430
+ participantId String
431
+ slot Int // Lane/pod position (1-based)
432
+ placement Int? // Finish order within the match
433
+ score Json? // Time, points, etc.
434
+ eliminatedAt DateTime?
435
+ advanced Boolean? // Heat qualifiers: true when advancing to next stage
436
+
437
+ match CompetitionMatch @relation(fields: [matchId], references: [id], onDelete: Cascade)
438
+ participant CompetitionParticipant @relation(fields: [participantId], references: [id], onDelete: Cascade)
439
+
440
+ createdAt DateTime @default(now())
441
+ updatedAt DateTime @updatedAt
442
+
443
+ @@unique([matchId, slot])
444
+ @@unique([matchId, participantId])
445
+ @@index([matchId])
446
+ @@index([participantId])
447
+ }
448
+
416
449
  model CompetitionVote {
417
450
  id String @id @default(cuid())
418
451
  competitionId String
@@ -776,6 +809,14 @@ model BashEvent {
776
809
  showAttendees Boolean @default(true)
777
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.
778
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])
779
820
  /// When true, guests can join a waitlist (activated automatically when amountOfGuests.allowWaitlistAtMax is set and max capacity is reached)
780
821
  waitlistEnabled Boolean @default(false)
781
822
  /// High-demand on-sale: virtual waiting room before checkout (requires queue worker when enabled).
@@ -801,7 +842,15 @@ model BashEvent {
801
842
  attendeeListPublic Boolean @default(false)
802
843
  /// Preview = count + curated faces; Public = full list for everyone; TicketHolders = full list for ticket buyers only.
803
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)
804
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)
805
854
  servicePreferences Json? // New tiered status: { "Entertainment": "need", "Sponsors": "booked_closed", ... }
806
855
  bookedServices Json? // Booked service details: { "Entertainment": { serviceId: "...", providerId: "...", bookedAt: "..." }, ... }
807
856
  serviceVisibility Json? // DEPRECATED: Use servicePreferences instead. Kept for backward compatibility during migration.
@@ -828,14 +877,34 @@ model BashEvent {
828
877
  collaborationEnabled Boolean @default(true)
829
878
  /// Host opt-in: show icebreaker prompts on the bash detail page for guests
830
879
  icebreakerEnabled Boolean @default(false)
880
+ /// Optional host-authored / host-picked icebreaker prompt. When set, it is shown
881
+ /// instead of a random canned prompt on the bash detail page.
882
+ icebreakerPrompt String?
831
883
  /// Host-curated merch catalog for this event (informational; not a checkout line item for MVP)
832
884
  merchandiseItems Json?
833
885
  externalPriceMax Int? // Maximum ticket price in cents (for imported events)
834
886
  externalPriceSummary String? // Human-readable price summary e.g., "$50 - $150" or "$75"
835
887
  customTermsAndConditions String?
836
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?
837
893
  backgroundImage String? // Custom or curated background image URL for the bash detail page
894
+ backgroundEffect BackgroundEffect @default(None)
838
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)
839
908
 
840
909
  // Host broadcast fields
841
910
  postEventMessageSent Boolean @default(false)
@@ -910,6 +979,8 @@ model BashEvent {
910
979
  userConnections UserConnection[]
911
980
  aiRecommendationLogs AIRecommendationLog[]
912
981
  aiRecommendationCaches AIRecommendationCache[]
982
+ venueMatchRuns VenueMatchRun[]
983
+ venueSupplyLeadEvents VenueSupplyLeadEvent[]
913
984
  // Template tracking
914
985
  templateId String?
915
986
  template BashEventTemplate? @relation("CreatedFromTemplate", fields: [templateId], references: [id])
@@ -944,6 +1015,7 @@ model BashEvent {
944
1015
  // Per-event referral rewards
945
1016
  eventReferralRewards EventReferralReward[]
946
1017
  eventReferrals EventReferral[]
1018
+ discussionComments EventDiscussionComment[]
947
1019
  bashEventDonations BashEventDonation[]
948
1020
 
949
1021
  // User night itineraries (events in user's "My Night" plan)
@@ -967,8 +1039,10 @@ model BashEvent {
967
1039
  flyerCampaigns FlyerCampaign[]
968
1040
  featuredGuests EventFeaturedGuest[]
969
1041
  attendeeVisibilities EventAttendeeVisibility[]
1042
+ guestEventGrants GuestEventGrant[]
1043
+ guestSessionRecoveries GuestSessionRecovery[]
970
1044
 
971
- /// Latest AI moderator verdict (see `bashApprovalAiService` + `mapAiResultToDecision`).
1045
+ /// Latest AI moderator verdict
972
1046
  /// Null = never reviewed by AI. Recomputed each time the bash transitions to Pending
973
1047
  /// or a super-user clicks "Re-run AI review".
974
1048
  aiApprovalVerdict AiApprovalVerdict?
@@ -1737,12 +1811,34 @@ model IdeaConfiguration {
1737
1811
  @@index([isActive])
1738
1812
  }
1739
1813
 
1814
+ /// How guests join a bash.
1815
+ enum EventEntryMode {
1816
+ Ticketed // existing checkout is the source of truth
1817
+ Rsvp // free / non-ticketed; guests respond via PublicBashRsvp
1818
+ }
1819
+
1820
+ /// RSVP response states for Rsvp-mode events. Organizers pick the enabled subset
1821
+ /// (BashEvent.rsvpStatesEnabled). Extensible — add states here as the product grows.
1822
+ /// NOTE: legacy PublicBashRsvp.status rows may contain "NotGoing"; the API treats
1823
+ /// that as equivalent to CantGo for counting.
1824
+ enum RsvpState {
1825
+ Interested
1826
+ Going
1827
+ Maybe
1828
+ CantGo
1829
+ }
1830
+
1740
1831
  /// Soft RSVP for public Bash events (logged-in users). Distinct from org-scoped EventRSVP.
1741
1832
  model PublicBashRsvp {
1742
1833
  id String @id @default(cuid())
1743
1834
  bashEventId String
1744
1835
  userId String
1745
- status String @default("Maybe") // Going | Maybe | NotGoing
1836
+ status String @default("Maybe") // RsvpState name: Interested | Going | Maybe | CantGo (legacy: NotGoing)
1837
+ /// Host approval queue for Rsvp-mode events when BashEvent.rsvpRequiresApproval is true.
1838
+ approvalStatus String @default("Approved") // Pending | Approved | Denied
1839
+ /// Guest-managed plus-ones for Rsvp-mode events. Names optional; count drives capacity.
1840
+ plusOnesCount Int @default(0)
1841
+ plusOneNames String[] @default([])
1746
1842
  createdAt DateTime @default(now())
1747
1843
  updatedAt DateTime @updatedAt
1748
1844
 
@@ -1752,6 +1848,67 @@ model PublicBashRsvp {
1752
1848
  @@unique([bashEventId, userId])
1753
1849
  @@index([bashEventId])
1754
1850
  @@index([userId])
1851
+ @@index([bashEventId, approvalStatus])
1852
+ }
1853
+
1854
+ /// Global guest identity for frictionless RSVP (email or phone). Links to User when upgraded.
1855
+ model GuestIdentity {
1856
+ id String @id @default(cuid())
1857
+ email String? @unique
1858
+ phoneE164 String? @unique
1859
+ userId String?
1860
+ user User? @relation("GuestIdentityUser", fields: [userId], references: [id], onDelete: SetNull)
1861
+ createdAt DateTime @default(now())
1862
+ updatedAt DateTime @updatedAt
1863
+
1864
+ eventGrants GuestEventGrant[]
1865
+ sessionRecoveries GuestSessionRecovery[]
1866
+
1867
+ @@index([userId])
1868
+ }
1869
+
1870
+ enum GuestSessionRecoveryKind {
1871
+ EmailMagicLink
1872
+ PhoneOtp
1873
+ }
1874
+
1875
+ /// One-time token for cross-device guest session restore (magic link or SMS OTP).
1876
+ model GuestSessionRecovery {
1877
+ id String @id @default(cuid())
1878
+ guestIdentityId String
1879
+ bashEventId String
1880
+ kind GuestSessionRecoveryKind
1881
+ tokenHash String
1882
+ expiresAt DateTime
1883
+ consumedAt DateTime?
1884
+ attemptCount Int @default(0)
1885
+ createdAt DateTime @default(now())
1886
+
1887
+ guestIdentity GuestIdentity @relation(fields: [guestIdentityId], references: [id], onDelete: Cascade)
1888
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1889
+
1890
+ @@index([guestIdentityId, bashEventId])
1891
+ @@index([tokenHash])
1892
+ @@index([expiresAt])
1893
+ }
1894
+
1895
+ /// Per-event permission for a guest identity (RSVP unlock). Revoked when host removes access.
1896
+ model GuestEventGrant {
1897
+ id String @id @default(cuid())
1898
+ guestIdentityId String
1899
+ bashEventId String
1900
+ publicRsvpId String?
1901
+ rsvpState String
1902
+ revokedAt DateTime?
1903
+ grantedAt DateTime @default(now())
1904
+ updatedAt DateTime @updatedAt
1905
+
1906
+ guestIdentity GuestIdentity @relation(fields: [guestIdentityId], references: [id], onDelete: Cascade)
1907
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1908
+
1909
+ @@unique([guestIdentityId, bashEventId])
1910
+ @@index([bashEventId])
1911
+ @@index([guestIdentityId])
1755
1912
  }
1756
1913
 
1757
1914
  // Per-event referral rewards: host defines tiers (e.g. 3 referrals = free drink)
@@ -1771,6 +1928,153 @@ model EventReferralReward {
1771
1928
  @@index([bashEventId])
1772
1929
  }
1773
1930
 
1931
+ enum BackgroundEffect {
1932
+ None
1933
+ Confetti
1934
+ Aurora
1935
+ GradientPulse
1936
+ Starfield
1937
+ }
1938
+
1939
+ model EventDiscussionComment {
1940
+ id String @id @default(cuid())
1941
+ bashEventId String
1942
+ authorId String
1943
+ body String @db.Text
1944
+ mentionedUserIds String[] // User IDs mentioned in the comment
1945
+ parentId String? // For nested replies (mirrors BashFeedComment)
1946
+ createdAt DateTime @default(now())
1947
+ updatedAt DateTime @updatedAt
1948
+
1949
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1950
+ author User @relation("EventDiscussionComments", fields: [authorId], references: [id], onDelete: Cascade)
1951
+ parent EventDiscussionComment? @relation("EventDiscussionReplies", fields: [parentId], references: [id], onDelete: Cascade)
1952
+ replies EventDiscussionComment[] @relation("EventDiscussionReplies")
1953
+ likes EventDiscussionCommentLike[]
1954
+
1955
+ @@index([bashEventId])
1956
+ @@index([authorId])
1957
+ @@index([parentId])
1958
+ }
1959
+
1960
+ model EventDiscussionCommentLike {
1961
+ id String @id @default(cuid())
1962
+ userId String
1963
+ commentId String
1964
+ createdAt DateTime @default(now())
1965
+
1966
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
1967
+ comment EventDiscussionComment @relation(fields: [commentId], references: [id], onDelete: Cascade)
1968
+
1969
+ @@unique([userId, commentId])
1970
+ @@index([commentId])
1971
+ }
1972
+
1973
+ // === Phase 3: event experience depth ========================================
1974
+ // Scalar-FK models (no Prisma relations to the large BashEvent/User models);
1975
+ // DB foreign keys are added in the migration for integrity.
1976
+
1977
+ enum BashEventQuestionType {
1978
+ ShortText
1979
+ LongText
1980
+ SingleChoice
1981
+ MultiChoice
1982
+ YesNo
1983
+ }
1984
+
1985
+ /// Host-defined custom RSVP / checkout question for a bash.
1986
+ model BashEventCustomQuestion {
1987
+ id String @id @default(cuid())
1988
+ bashEventId String
1989
+ prompt String
1990
+ type BashEventQuestionType @default(ShortText)
1991
+ options String[] @default([])
1992
+ required Boolean @default(false)
1993
+ sortOrder Int @default(0)
1994
+ createdAt DateTime @default(now())
1995
+ updatedAt DateTime @updatedAt
1996
+
1997
+ @@index([bashEventId])
1998
+ }
1999
+
2000
+ /// An attendee's answer to a custom question (captured at RSVP / checkout).
2001
+ model BashEventQuestionAnswer {
2002
+ id String @id @default(cuid())
2003
+ questionId String
2004
+ bashEventId String
2005
+ userId String?
2006
+ email String?
2007
+ ticketId String?
2008
+ answer String
2009
+ createdAt DateTime @default(now())
2010
+
2011
+ @@index([questionId])
2012
+ @@index([bashEventId])
2013
+ }
2014
+
2015
+ enum BashEventAccessRequestStatus {
2016
+ Pending
2017
+ Approved
2018
+ Denied
2019
+ }
2020
+
2021
+ /// Request to attend a private/screened bash, routed to the host approval queue.
2022
+ model BashEventAccessRequest {
2023
+ id String @id @default(cuid())
2024
+ bashEventId String
2025
+ requesterUserId String?
2026
+ requesterEmail String?
2027
+ message String?
2028
+ status BashEventAccessRequestStatus @default(Pending)
2029
+ reviewedByUserId String?
2030
+ reviewedAt DateTime?
2031
+ createdAt DateTime @default(now())
2032
+ updatedAt DateTime @updatedAt
2033
+
2034
+ @@index([bashEventId, status])
2035
+ }
2036
+
2037
+ /// A collaborative album contribution (photo/video URL) for a bash.
2038
+ model EventAlbumItem {
2039
+ id String @id @default(cuid())
2040
+ bashEventId String
2041
+ uploaderUserId String
2042
+ mediaUrl String
2043
+ caption String?
2044
+ isApproved Boolean @default(true)
2045
+ createdAt DateTime @default(now())
2046
+
2047
+ @@index([bashEventId])
2048
+ }
2049
+
2050
+ /// Post-event networking opt-in: attendees who agreed to be discoverable to others who went.
2051
+ model EventNetworkingOptIn {
2052
+ id String @id @default(cuid())
2053
+ bashEventId String
2054
+ userId String
2055
+ optedInAt DateTime @default(now())
2056
+
2057
+ @@unique([bashEventId, userId])
2058
+ @@index([bashEventId])
2059
+ }
2060
+
2061
+ /// Host-scoped CRM row for a past guest (VIP tags, notes)
2062
+ model HostAttendeeProfile {
2063
+ id String @id @default(cuid())
2064
+ hostUserId String
2065
+ attendeeUserId String?
2066
+ attendeeEmail String?
2067
+ tags String[] @default([])
2068
+ notes String? @db.Text
2069
+ createdAt DateTime @default(now())
2070
+ updatedAt DateTime @updatedAt
2071
+
2072
+ host User @relation("HostAttendeeProfilesOwned", fields: [hostUserId], references: [id], onDelete: Cascade)
2073
+ attendee User? @relation("HostAttendeeProfilesTarget", fields: [attendeeUserId], references: [id], onDelete: SetNull)
2074
+
2075
+ @@index([hostUserId])
2076
+ }
2077
+
1774
2078
  // Tracks referrals: attendee A referred person B who bought a ticket
1775
2079
  model EventReferral {
1776
2080
  id String @id @default(cuid())
@@ -2161,6 +2465,8 @@ model Ticket {
2161
2465
  waitlistReminderSentAt DateTime?
2162
2466
  /// When we last sent the 1-hour-before-start reminder (email/push/SMS); avoids duplicate cron sends.
2163
2467
  lastReminded1hAt DateTime?
2468
+ lastReminded24hAt DateTime?
2469
+ lastReminded1weekAt DateTime?
2164
2470
  refundRequestedAt DateTime? // Set when RefundPending; cleared once refund processes
2165
2471
  checkInLocation String?
2166
2472
  checkOutLocation String?
@@ -2677,6 +2983,12 @@ model User {
2677
2983
  id String @id @default(cuid())
2678
2984
  username String? @unique
2679
2985
  email String @unique
2986
+ // Talent agency / booking management relations (additive).
2987
+ artistRepresentations OrganizationArtistRepresentation[] @relation("ArtistRepresentations")
2988
+ representationsInvited OrganizationArtistRepresentation[] @relation("RepresentationInviter")
2989
+ artistInvitationsReceived OrganizationArtistInvitation[] @relation("ArtistInvitationInvitee")
2990
+ artistInvitationsSent OrganizationArtistInvitation[] @relation("ArtistInvitationSender")
2991
+ agencySettlementsAsArtist AgencyBookingSettlement[]
2680
2992
  createdOn DateTime @default(now())
2681
2993
  stripeCustomerId String? @unique
2682
2994
  stripeAccountId String? @unique
@@ -2734,6 +3046,10 @@ model User {
2734
3046
  /// Public-profile visibility flags for self-reported demographics
2735
3047
  showAgeOnProfile Boolean @default(true)
2736
3048
  showGenderOnProfile Boolean @default(true)
3049
+ /// How often the user likes to go to events (self-reported, optional).
3050
+ socialEventCadence SocialEventCadence?
3051
+ /// Opt-in to show social event cadence on the public profile (default hidden).
3052
+ showSocialEventCadenceOnProfile Boolean @default(false)
2737
3053
  /// Master visibility toggle for ID/Payment/Host/Student trust badges
2738
3054
  showVerifiedBadgesOnProfile Boolean @default(true)
2739
3055
  organization String?
@@ -2983,6 +3299,7 @@ model User {
2983
3299
  suspendedUsers User[] @relation("SuspendedUsers")
2984
3300
  favorites UserFavorite[]
2985
3301
  publicBashRsvps PublicBashRsvp[]
3302
+ guestIdentities GuestIdentity[] @relation("GuestIdentityUser")
2986
3303
  following UserFollowing[] @relation("Follower")
2987
3304
  followers UserFollowing[] @relation("Following")
2988
3305
  connectionRequestsSent UserConnection[] @relation("ConnectionRequestsSent")
@@ -3013,6 +3330,9 @@ model User {
3013
3330
  claimBan UserClaimBan?
3014
3331
  bannedUsers UserClaimBan[] @relation("BannedBy")
3015
3332
  ambashadorApplications AmbashadorApplication[]
3333
+ productLaunchWaitlistSignups ProductLaunchWaitlistSignup[]
3334
+ productLaunchRankSubmissions ProductLaunchRankSubmission[]
3335
+ enterpriseLeads EnterpriseLead[]
3016
3336
  pushNotificationTokens PushNotificationToken[]
3017
3337
  redeemedVouchers Voucher[]
3018
3338
  bashEventPromoCodesIUsed BashEventPromoCode[] @relation("BashEventPromoCodeToUser")
@@ -3021,10 +3341,15 @@ model User {
3021
3341
  scoutReferralsMade ScoutReferral[] @relation("ScoutReferrer")
3022
3342
  eventReferralsMade EventReferral[] @relation("EventReferralsMade")
3023
3343
  eventReferralsReceived EventReferral[] @relation("EventReferralsReceived")
3344
+ eventDiscussionComments EventDiscussionComment[] @relation("EventDiscussionComments")
3345
+ hostAttendeeProfilesOwned HostAttendeeProfile[] @relation("HostAttendeeProfilesOwned")
3346
+ hostAttendeeProfilesTarget HostAttendeeProfile[] @relation("HostAttendeeProfilesTarget")
3024
3347
  bashListsCreated BashList[]
3025
3348
  userItineraries UserItinerary[]
3026
3349
  aiRecommendationLogs AIRecommendationLog[]
3027
3350
  scoutReferralsReceived ScoutReferral[] @relation("ScoutReferred")
3351
+ venueMatchRuns VenueMatchRun[] @relation("VenueMatchRunHost")
3352
+ assignedSupplyLeads VenueSupplyLead[] @relation("SupplyLeadAssignee")
3028
3353
 
3029
3354
  // Service Category Requests
3030
3355
  serviceCategoryRequests ServiceCategoryRequest[]
@@ -3043,6 +3368,7 @@ model User {
3043
3368
  bashFeedLikes BashFeedLike[]
3044
3369
  bashFeedComments BashFeedComment[]
3045
3370
  bashFeedCommentLikes BashFeedCommentLike[]
3371
+ eventDiscussionCommentLikes EventDiscussionCommentLike[]
3046
3372
  bashFeedRatings BashFeedRating[]
3047
3373
  bashFeedReports BashFeedReport[]
3048
3374
  reviewedFeedReports BashFeedReport[] @relation("ReviewedReports")
@@ -3073,6 +3399,7 @@ model User {
3073
3399
  ownedBudgets Budget[] @relation("UserBudgets")
3074
3400
  departmentsHeaded Department[] @relation("DepartmentHead")
3075
3401
  favoriteOrganizations Organization[] @relation("FavoriteOrganizations")
3402
+ organizationEmailSubscriptions OrganizationSubscriber[]
3076
3403
  eventSeriesCreated EventSeries[] @relation("EventSeriesCreator")
3077
3404
 
3078
3405
  // Service Includes & Add-On Requests
@@ -3528,10 +3855,26 @@ model UserSubscription {
3528
3855
  model Service {
3529
3856
  id String @id @default(cuid())
3530
3857
  serviceType ServiceTypes?
3858
+ /// Agency representations for this bookable profile (additive). When an Active
3859
+ /// Exclusive representation disallows direct booking, directBookingDisabled is set.
3860
+ representations OrganizationArtistRepresentation[]
3861
+ directBookingDisabled Boolean @default(false)
3531
3862
  serviceStatus ServiceStatus @default(Draft)
3532
3863
  serviceCondition ServiceCondition @default(Pending)
3533
3864
  subscriptionStatus ServiceSubscriptionStatus @default(None)
3534
3865
  isApproved Boolean @default(false)
3866
+ /// Claim lifecycle for outreach-sourced (e.g. Vapi) unclaimed listings.
3867
+ /// NotApplicable for normal owner-created services.
3868
+ claimStatus ServiceClaimStatus @default(NotApplicable)
3869
+ /// Where the "claim your listing" invite is sent (scraped/outreach contact).
3870
+ claimInviteEmail String?
3871
+ /// Magic-link token for the claim invitation flow.
3872
+ claimInviteToken String? @unique
3873
+ claimedAt DateTime?
3874
+ /// Originating outreach lead (Vapi dialer) when this is an unclaimed listing.
3875
+ sourceOutreachLeadId String?
3876
+ claimRequests ServiceClaimRequest[]
3877
+ serviceInquiries ServiceInquiry[]
3535
3878
  ownerId String?
3536
3879
  creatorId String?
3537
3880
  createdAt DateTime @default(now())
@@ -3566,8 +3909,20 @@ model Service {
3566
3909
  instantBookingLeadTimeHours Int @default(0)
3567
3910
  displayGoogleReviewsOnDetailPage Boolean @default(true)
3568
3911
  displayBashReviewsOnDetailPage Boolean @default(true)
3912
+ /// When true, the public profile shows the availability section (hours, weekday/weekend preset, read-only calendar).
3913
+ showAvailabilityOnProfile Boolean @default(false)
3914
+ /// Provider's current booking intent, shown as a badge on the profile and browse cards.
3915
+ bookingIntent BookingIntent @default(OpenToOffers)
3916
+ /// Bash-native aggregate rating (core model). Populated from available signals
3917
+ /// (currently Google reviews per serviceRatingUtils; bash-native service reviews
3918
+ /// can feed this later without a schema change).
3569
3919
  serviceRating Float? @default(0)
3570
3920
  totalRatings Int? @default(0)
3921
+ /// Optional external-review ingestion (Google/Yelp/etc.). Kept separate from the
3922
+ /// Bash-native aggregate so the source of truth stays clear.
3923
+ externalReviewSource String?
3924
+ externalRating Float?
3925
+ externalReviewCount Int?
3571
3926
  stripeAccountId String?
3572
3927
  paymentAccountId String?
3573
3928
  targetAudienceId String? @unique
@@ -3601,6 +3956,10 @@ model Service {
3601
3956
  verifiedAt DateTime? // When verification was approved
3602
3957
  licenseNumber String? // License/registration number
3603
3958
  certifications String[] @default([]) // Array of certification names
3959
+ /// Geo anchor for distance scoring (Venue Match + future geo queries).
3960
+ /// Backfilled from googlePlaceId / address via api/scripts/backfillServiceCoordinates.ts.
3961
+ latitude Float?
3962
+ longitude Float?
3604
3963
  bashFeedPosts BashFeedPost[]
3605
3964
  bashEventArtists BashEventArtist[]
3606
3965
  bashCreativeSubmissions BashCreativeSubmission[]
@@ -3647,6 +4006,8 @@ model Service {
3647
4006
  competitionPrizesSourced Prize[] @relation("PrizeSourceService")
3648
4007
  competitionSponsorCredits CompetitionSponsor[] @relation("CompetitionSponsorSourceService")
3649
4008
  competitionPrizeOffersSourced CompetitionPrizeOffer[] @relation("CompetitionPrizeOfferSourceService")
4009
+ venueMatchCandidates VenueMatchCandidate[]
4010
+ supplyLeadConversions VenueSupplyLead[] @relation("SupplyLeadConvertedService")
3650
4011
 
3651
4012
  @@index([serviceListingStripeSubscriptionId])
3652
4013
  @@index([paymentAccountId])
@@ -3654,6 +4015,7 @@ model Service {
3654
4015
  @@index([isVerified])
3655
4016
  @@index([isLicensed])
3656
4017
  @@index([isFeaturedService, featuredReason, featuredAt])
4018
+ @@index([latitude, longitude])
3657
4019
  }
3658
4020
 
3659
4021
  model StripeAccount {
@@ -3776,7 +4138,11 @@ model EventService {
3776
4138
  goodsOrServices String[]
3777
4139
  menuItems String?
3778
4140
  venueTypes String[]
3779
- secondaryVenueTypes String[] @default([])
4141
+ secondaryVenueTypes String[] @default([])
4142
+ /// Influencer subtype: audience tier and reach (see bash-common/influencerAudience.ts).
4143
+ influencerAudienceTier InfluencerAudienceTier?
4144
+ influencerFollowerCount Int?
4145
+ influencerPrimaryPlatforms String[] @default([])
3780
4146
  // Pricing Model Fields — Event Promoter subtype is locked to PER_ATTENDEE
3781
4147
  // by `validateEventPromoterPricing` in bash-common/eventPromoterUtils.ts.
3782
4148
  pricingModel PricingModel? @default(CUSTOM)
@@ -3826,6 +4192,17 @@ model EntertainmentService {
3826
4192
  notifyOnMatchingVenues Boolean @default(true)
3827
4193
  lastMatchNotificationSent DateTime?
3828
4194
 
4195
+ /// Free-text venue names where this act has performed (optional social proof).
4196
+ notableVenuesPerformed String[] @default([])
4197
+ showNotableVenuesPerformed Boolean @default(false)
4198
+ /// Structured venue history: name, favorite flag, reason tags, optional note.
4199
+ notableVenueEntries Json @default("[]")
4200
+
4201
+ /// DJ / musician performance details (optional, mostly relevant to musical acts).
4202
+ setlist String[] @default([]) // representative tracks / sets
4203
+ gearProvided String[] @default([]) // equipment the act brings (decks, PA, lighting)
4204
+ technicalRider String? // power/stage/sound requirements the host must meet
4205
+
3829
4206
  // Phase 1 unified pricing block — adds parity with EventService/Vendor/etc.
3830
4207
  // so EntertainmentService can quote PER_ATTENDEE, PER_PAID_ATTENDEE, etc.
3831
4208
  pricingModel PricingModel? @default(CUSTOM)
@@ -4318,6 +4695,7 @@ model Organization {
4318
4695
  bashEvents BashEvent[] @relation("OrganizationBashEvents")
4319
4696
  eventSeries EventSeries[] @relation("OrganizationEventSeries")
4320
4697
  favoriteBy User[] @relation("FavoriteOrganizations")
4698
+ emailSubscribers OrganizationSubscriber[]
4321
4699
  sportsProfile SportsProfile?
4322
4700
  seasons Season[]
4323
4701
  homeTeamGames Game[] @relation("HomeTeamGames")
@@ -4345,18 +4723,289 @@ model Organization {
4345
4723
  smsMonthAnchor DateTime @default(now())
4346
4724
  smsAutoShutoffAt DateTime?
4347
4725
 
4726
+ /// Cooldown + frequency anchors for follower broadcasts (email + SMS) from the
4727
+ /// org dashboard. Mirrors BashEvent.broadcastCount/lastBroadcastAt; rolling 7-day
4728
+ /// window is enforced in app code against the *At timestamps.
4729
+ followerEmailBlastCount Int @default(0)
4730
+ lastFollowerEmailBlastAt DateTime?
4731
+ followerSmsBlastCount Int @default(0)
4732
+ lastFollowerSmsBlastAt DateTime?
4733
+
4348
4734
  smsSendLogs SmsSendLog[]
4349
4735
 
4350
4736
  /// Per-tier promotional package rates for external hosts (community / spotlight / featured).
4351
4737
  promotionalPackageRates Json?
4352
4738
  orgPromotionalPackages OrgPromotionalPackage[]
4353
4739
 
4740
+ /// Talent agency / booking management (additive).
4741
+ talentProfile OrganizationTalentProfile?
4742
+ artistRepresentations OrganizationArtistRepresentation[]
4743
+ artistInvitations OrganizationArtistInvitation[]
4744
+ agencyBookingSettlements AgencyBookingSettlement[]
4745
+ representedBookings ServiceBooking[]
4746
+
4354
4747
  @@index([ownerId])
4355
4748
  @@index([slug])
4356
4749
  @@index([parentOrganizationId])
4357
4750
  @@index([nonprofitVerifiedAt])
4358
4751
  }
4359
4752
 
4753
+ /// Email-first followers of a public organizer (org landing). Authenticated users who
4754
+ /// Follow also get a row here when we know their email. Distinct from org membership.
4755
+ model OrganizationSubscriber {
4756
+ id String @id @default(cuid())
4757
+ organizationId String
4758
+ email String
4759
+ userId String?
4760
+ source String @default("org_landing")
4761
+ optedInAt DateTime @default(now())
4762
+ unsubscribedAt DateTime?
4763
+ unsubscribeToken String @unique @default(cuid())
4764
+
4765
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4766
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
4767
+
4768
+ @@unique([organizationId, email])
4769
+ @@index([organizationId])
4770
+ @@index([userId])
4771
+ }
4772
+
4773
+ // === Talent Agency / Booking Agency ==========================================
4774
+ // Links an Organization (agency) to bookable EntertainmentServices profiles,
4775
+ // routes bookings through the agency, and tracks commission settlements.
4776
+ // Additive: solo service bookings are unaffected (all new ServiceBooking FKs are
4777
+ // nullable). v1 payout path = ArtistMerchantOfRecord (artist Stripe stays MOR;
4778
+ // agency commission tracked in AgencyBookingSettlement).
4779
+
4780
+ enum AgencyPayoutModel {
4781
+ ArtistMerchantOfRecord // v1 default: full payout to artist Stripe; commission settled separately
4782
+ AgencyMerchantOfRecord // agency Stripe collects; platform splits to artist (v2)
4783
+ ManualOffPlatform // agency handles money outside Bash; ops layer only
4784
+ }
4785
+
4786
+ enum ArtistRepresentationStatus {
4787
+ Invited // agency sent invite; artist has not accepted
4788
+ Pending // artist accepted; agency admin has not published to roster
4789
+ Active // visible on roster; bookings route per policy
4790
+ Suspended // temporarily hidden; no new bookings
4791
+ Ended // relationship terminated; historical bookings retained
4792
+ }
4793
+
4794
+ enum ArtistRepresentationType {
4795
+ Exclusive
4796
+ NonExclusive
4797
+ }
4798
+
4799
+ enum ArtistBookingResponsePolicy {
4800
+ AgencyOnly // only agency staff accept/decline
4801
+ ArtistOnly // artist retains control; agency gets visibility
4802
+ AgencyWithArtistConfirm // agency accepts; artist confirms within window
4803
+ EitherParty // first responder wins
4804
+ }
4805
+
4806
+ enum AgencyCommissionBasis {
4807
+ GrossBookingTotal // % of totalATBCents
4808
+ NetAfterPlatformFee // % after Bash platform fee
4809
+ FlatPerBookingCents // fixed agency fee per booking
4810
+ }
4811
+
4812
+ enum AgencyBookingSettlementStatus {
4813
+ NotApplicable
4814
+ Pending
4815
+ Accrued
4816
+ Paid
4817
+ Waived
4818
+ Disputed
4819
+ Cancelled
4820
+ }
4821
+
4822
+ enum OrganizationArtistInvitationStatus {
4823
+ Pending
4824
+ Accepted
4825
+ Declined
4826
+ Expired
4827
+ Revoked
4828
+ }
4829
+
4830
+ /// Booking-agency settings (1:1 with Organization). Separate from generic org fields.
4831
+ model OrganizationTalentProfile {
4832
+ id String @id @default(cuid())
4833
+ organizationId String @unique
4834
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4835
+
4836
+ /// Master switch — RecordLabel / Professional orgs can enable without changing type.
4837
+ talentManagementEnabled Boolean @default(false)
4838
+
4839
+ rosterHeadline String?
4840
+ rosterDescription String?
4841
+ showRosterOnPublicPage Boolean @default(true)
4842
+ showAgencyBrandOnArtistCards Boolean @default(true)
4843
+
4844
+ defaultPayoutModel AgencyPayoutModel @default(ArtistMerchantOfRecord)
4845
+ defaultCommissionBasis AgencyCommissionBasis @default(GrossBookingTotal)
4846
+ defaultCommissionRateBps Int @default(1500) // 15.00%
4847
+ defaultFlatCommissionCents Int?
4848
+ defaultRepresentationType ArtistRepresentationType @default(NonExclusive)
4849
+ defaultBookingResponsePolicy ArtistBookingResponsePolicy @default(AgencyOnly)
4850
+
4851
+ acceptPublicBookings Boolean @default(true)
4852
+ bookingContactEmail String?
4853
+ bookingContactPhone String?
4854
+ minimumLeadTimeHours Int? @default(48)
4855
+
4856
+ /// Documents intent to use Organization.stripeConnectedAccountId for AgencyMerchantOfRecord (v2).
4857
+ usesOrgStripeForBookings Boolean @default(false)
4858
+
4859
+ createdAt DateTime @default(now())
4860
+ updatedAt DateTime @updatedAt
4861
+ }
4862
+
4863
+ /// Core roster join: one agency org ↔ one bookable EntertainmentService profile.
4864
+ model OrganizationArtistRepresentation {
4865
+ id String @id @default(cuid())
4866
+ organizationId String
4867
+ serviceId String
4868
+ /// Denormalized for member/notification queries (must match service.ownerId when Active).
4869
+ artistUserId String
4870
+
4871
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4872
+ service Service @relation(fields: [serviceId], references: [id], onDelete: Cascade)
4873
+ artistUser User @relation("ArtistRepresentations", fields: [artistUserId], references: [id], onDelete: Restrict)
4874
+
4875
+ status ArtistRepresentationStatus @default(Invited)
4876
+ representationType ArtistRepresentationType
4877
+ bookingResponsePolicy ArtistBookingResponsePolicy
4878
+
4879
+ rosterDisplayName String?
4880
+ rosterTagline String?
4881
+ rosterSortOrder Int @default(0)
4882
+ isFeaturedOnRoster Boolean @default(false)
4883
+ isPublicOnRoster Boolean @default(true)
4884
+
4885
+ payoutModel AgencyPayoutModel
4886
+ commissionBasis AgencyCommissionBasis
4887
+ commissionRateBps Int?
4888
+ flatCommissionCents Int?
4889
+
4890
+ agencyCanAcceptBookings Boolean @default(true)
4891
+ agencyCanDeclineBookings Boolean @default(true)
4892
+ agencyCanNegotiateRates Boolean @default(false)
4893
+ agencyCanViewBookingMessages Boolean @default(true)
4894
+ agencyCanManageCalendar Boolean @default(false)
4895
+ artistCanAcceptDirectBookings Boolean @default(false)
4896
+
4897
+ invitedAt DateTime @default(now())
4898
+ invitedByUserId String?
4899
+ artistAcceptedAt DateTime?
4900
+ agencyPublishedAt DateTime?
4901
+ endedAt DateTime?
4902
+ endReason String?
4903
+
4904
+ invitedBy User? @relation("RepresentationInviter", fields: [invitedByUserId], references: [id], onDelete: SetNull)
4905
+ invitations OrganizationArtistInvitation[]
4906
+ memberScopes OrganizationMemberArtistScope[]
4907
+ bookings ServiceBooking[] @relation("BookingRepresentation")
4908
+ settlements AgencyBookingSettlement[]
4909
+
4910
+ createdAt DateTime @default(now())
4911
+ updatedAt DateTime @updatedAt
4912
+
4913
+ @@unique([organizationId, serviceId])
4914
+ @@index([organizationId, status, rosterSortOrder])
4915
+ @@index([serviceId, status])
4916
+ @@index([artistUserId])
4917
+ }
4918
+
4919
+ /// Invite flow for artists (with or without an existing profile) via email token.
4920
+ model OrganizationArtistInvitation {
4921
+ id String @id @default(cuid())
4922
+ organizationId String
4923
+ representationId String?
4924
+
4925
+ inviteeEmail String
4926
+ inviteeUserId String?
4927
+ existingServiceId String?
4928
+
4929
+ proposedServiceTypes EntertainmentServiceType[] @default([])
4930
+ proposedDisplayName String?
4931
+ proposedMessage String?
4932
+
4933
+ token String @unique @default(cuid())
4934
+ status OrganizationArtistInvitationStatus @default(Pending)
4935
+ expiresAt DateTime
4936
+ respondedAt DateTime?
4937
+
4938
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
4939
+ representation OrganizationArtistRepresentation? @relation(fields: [representationId], references: [id], onDelete: SetNull)
4940
+ inviteeUser User? @relation("ArtistInvitationInvitee", fields: [inviteeUserId], references: [id], onDelete: SetNull)
4941
+ invitedByUserId String
4942
+ invitedBy User @relation("ArtistInvitationSender", fields: [invitedByUserId], references: [id], onDelete: Cascade)
4943
+
4944
+ createdAt DateTime @default(now())
4945
+ updatedAt DateTime @updatedAt
4946
+
4947
+ @@index([organizationId, status])
4948
+ @@index([inviteeEmail])
4949
+ @@index([token])
4950
+ }
4951
+
4952
+ /// Optional per-agent roster slice (large agencies). Without rows, members with the
4953
+ /// talent permission flags see the whole roster.
4954
+ model OrganizationMemberArtistScope {
4955
+ id String @id @default(cuid())
4956
+ organizationMemberId String
4957
+ representationId String
4958
+
4959
+ canRespondToBookings Boolean @default(true)
4960
+ canEditRosterEntry Boolean @default(false)
4961
+
4962
+ organizationMember OrganizationMember @relation(fields: [organizationMemberId], references: [id], onDelete: Cascade)
4963
+ representation OrganizationArtistRepresentation @relation(fields: [representationId], references: [id], onDelete: Cascade)
4964
+
4965
+ @@unique([organizationMemberId, representationId])
4966
+ @@index([representationId])
4967
+ }
4968
+
4969
+ /// Commission ledger for represented bookings. Distinct from BookingCommission
4970
+ /// (Scout/Agent referral program). One row per represented booking with commission.
4971
+ model AgencyBookingSettlement {
4972
+ id String @id @default(cuid())
4973
+ serviceBookingId String @unique
4974
+ organizationId String
4975
+ representationId String
4976
+ artistUserId String
4977
+
4978
+ payoutModelSnapshot AgencyPayoutModel
4979
+ commissionBasisSnapshot AgencyCommissionBasis
4980
+ commissionRateBpsSnapshot Int?
4981
+ flatCommissionCentsSnapshot Int?
4982
+
4983
+ bookingTotalCents Int // snapshot of ServiceBooking.totalATBCents at confirm
4984
+ platformFeeCents Int @default(0)
4985
+ agencyCommissionCents Int
4986
+ artistNetCents Int // bookingTotal - platform - agency (informational in v1)
4987
+
4988
+ status AgencyBookingSettlementStatus @default(Pending)
4989
+ accruedAt DateTime?
4990
+ paidAt DateTime?
4991
+
4992
+ stripeTransferId String?
4993
+ stripeDestinationAccountId String?
4994
+ bashCreditsTransactionId String?
4995
+ notes String?
4996
+
4997
+ serviceBooking ServiceBooking @relation(fields: [serviceBookingId], references: [id], onDelete: Cascade)
4998
+ organization Organization @relation(fields: [organizationId], references: [id], onDelete: Restrict)
4999
+ representation OrganizationArtistRepresentation @relation(fields: [representationId], references: [id], onDelete: Restrict)
5000
+ artistUser User @relation(fields: [artistUserId], references: [id], onDelete: Restrict)
5001
+
5002
+ createdAt DateTime @default(now())
5003
+ updatedAt DateTime @updatedAt
5004
+
5005
+ @@index([organizationId, status])
5006
+ @@index([artistUserId])
5007
+ }
5008
+
4360
5009
  model SmsSendLog {
4361
5010
  id String @id @default(cuid())
4362
5011
  organizationId String?
@@ -4487,6 +5136,12 @@ model OrganizationMember {
4487
5136
  eventRSVPs EventRSVP[]
4488
5137
  notificationPreferences OrganizationMemberPreferences?
4489
5138
 
5139
+ /// Talent agency permissions (used when organization.talentProfile.talentManagementEnabled).
5140
+ canManageTalentRoster Boolean @default(false)
5141
+ canRespondToTalentBookings Boolean @default(false)
5142
+ canViewTalentFinancials Boolean @default(false)
5143
+ artistScopes OrganizationMemberArtistScope[]
5144
+
4490
5145
  @@unique([organizationId, userId])
4491
5146
  @@index([organizationId])
4492
5147
  @@index([userId])
@@ -4507,6 +5162,10 @@ model OrganizationMemberPreferences {
4507
5162
  membershipUpdates Boolean @default(true)
4508
5163
  emailNotifications Boolean @default(true)
4509
5164
  pushNotifications Boolean @default(true)
5165
+ /// Talent agency channels (agency members).
5166
+ talentBookingRequests Boolean @default(true)
5167
+ talentBookingUpdates Boolean @default(true)
5168
+ talentSettlementAlerts Boolean @default(true)
4510
5169
  createdAt DateTime @default(now())
4511
5170
  updatedAt DateTime @updatedAt
4512
5171
  organizationMember OrganizationMember @relation(fields: [organizationMemberId], references: [id], onDelete: Cascade)
@@ -5063,9 +5722,28 @@ model ServiceBooking {
5063
5722
  offers ServiceBookingOffer[]
5064
5723
  promotionBlastEntitlement PromotionBlastEntitlement?
5065
5724
 
5725
+ // Agency routing — all nullable; solo bookings unchanged.
5726
+ representedByOrganizationId String?
5727
+ representationId String?
5728
+ bookingResponsePolicySnapshot ArtistBookingResponsePolicy?
5729
+ /// Audit: who acted on accept/decline, and on whose behalf ("agency" | "artist").
5730
+ respondedByUserId String?
5731
+ respondedOnBehalfOf String?
5732
+ /// Commercial snapshots at booking confirm (mirrors revenueShare and maxBillable field snapshots).
5733
+ payoutModelSnapshot AgencyPayoutModel?
5734
+ commissionBasisSnapshot AgencyCommissionBasis?
5735
+ commissionRateBpsSnapshot Int?
5736
+ flatCommissionCentsSnapshot Int?
5737
+ agencyCommissionCents Int?
5738
+ representedByOrganization Organization? @relation(fields: [representedByOrganizationId], references: [id], onDelete: SetNull)
5739
+ representation OrganizationArtistRepresentation? @relation("BookingRepresentation", fields: [representationId], references: [id], onDelete: SetNull)
5740
+ agencySettlement AgencyBookingSettlement?
5741
+
5066
5742
  @@index([status])
5067
5743
  @@index([creatorId])
5068
5744
  @@index([forUserId])
5745
+ @@index([representedByOrganizationId, status])
5746
+ @@index([representationId])
5069
5747
  }
5070
5748
 
5071
5749
  model VendorBookingRequest {
@@ -5693,6 +6371,11 @@ enum NotificationType {
5693
6371
  WaitlistDenied // Attendee: host denied your waitlist request
5694
6372
  WaitlistSpotAvailable // Waitlister: a refund opened a spot — claim it now
5695
6373
  WaitlistSpotMayBeOpen // Waitlister: someone left the venue — standby at door
6374
+ EventAccessRequested // Host: someone requested access to a screened bash
6375
+ EventAccessApproved // Requester: host approved access
6376
+ EventAccessDenied // Requester: host denied access
6377
+ RsvpApprovalRequested // Host: RSVP waiting on host approval (Rsvp-mode)
6378
+ VenueEntertainmentMatchInterest // Service owner: counterpart marked match interest
5696
6379
  // Group notifications
5697
6380
  GroupMemberPurchased // Owner: "Riley just bought a ticket — 2 more to go!"
5698
6381
  GroupEveryoneConfirmed // Owner: "All members want to attend. Buy tickets together?"
@@ -6024,6 +6707,14 @@ enum UserIntent {
6024
6707
  Lonely
6025
6708
  }
6026
6709
 
6710
+ enum SocialEventCadence {
6711
+ Always
6712
+ Often
6713
+ Sometimes
6714
+ Rarely
6715
+ Never
6716
+ }
6717
+
6027
6718
  enum BashAvailabilityWindow {
6028
6719
  Now
6029
6720
  Tonight
@@ -6131,6 +6822,29 @@ enum ServiceCondition {
6131
6822
  Unpublished
6132
6823
  }
6133
6824
 
6825
+ /// Provider booking intent — whether they want inbound right now (separate from schedule availability).
6826
+ enum BookingIntent {
6827
+ ActivelySeeking
6828
+ OpenToOffers
6829
+ NotTakingDates
6830
+ }
6831
+
6832
+ /// Claim lifecycle for outreach-sourced unclaimed service listings.
6833
+ enum ServiceClaimStatus {
6834
+ NotApplicable // normal owner-created service
6835
+ PendingReview // created by outreach pipeline; awaiting admin approval
6836
+ PublicUnclaimed // approved + publicly discoverable; open to be claimed
6837
+ Claimed // a business claimed and was approved as owner
6838
+ Rejected // admin rejected the listing
6839
+ }
6840
+
6841
+ /// A business's request to claim ownership of an unclaimed service listing.
6842
+ enum ServiceClaimRequestStatus {
6843
+ Pending
6844
+ Approved
6845
+ Rejected
6846
+ }
6847
+
6134
6848
  enum ServiceSubscriptionStatus {
6135
6849
  None
6136
6850
  Trialing
@@ -6257,6 +6971,14 @@ enum BracketType {
6257
6971
  DOUBLE_ELIMINATION // Lose twice, you're out
6258
6972
  ROUND_ROBIN // Everyone plays everyone
6259
6973
  SWISS // Pairing based on performance
6974
+ HEAT // Wave-based qualifiers (many entrants per match, top performers advance)
6975
+ BATTLE_ROYALE // Last standing / placement in a multi-entrant match
6976
+ }
6977
+
6978
+ enum CompetitionMatchFormat {
6979
+ HEAD_TO_HEAD // Traditional 1v1 (slots 1 & 2)
6980
+ HEAT // Sequential wave with capacity-limited entrants
6981
+ BATTLE_ROYALE // All entrants compete simultaneously until one remains
6260
6982
  }
6261
6983
 
6262
6984
  enum ParticipantStatus {
@@ -6376,8 +7098,10 @@ enum EventServiceType {
6376
7098
  AudioVisualSupport
6377
7099
  HostingSupport
6378
7100
  PromotionAndMarketing
7101
+ BeautyAndGlam
6379
7102
  Staffing
6380
7103
  Transportation
7104
+ Wellness
6381
7105
  Other
6382
7106
  }
6383
7107
 
@@ -6385,6 +7109,7 @@ enum FinancingSubType {
6385
7109
  Investor
6386
7110
  LongTermLoan
6387
7111
  ShortTermLoan
7112
+ FinancingOther
6388
7113
  }
6389
7114
 
6390
7115
  enum EventPlanningAndManagementSubType {
@@ -6392,6 +7117,7 @@ enum EventPlanningAndManagementSubType {
6392
7117
  EventManager
6393
7118
  VirtualAssistant
6394
7119
  Consultants
7120
+ EventPlanningOther
6395
7121
  }
6396
7122
 
6397
7123
  enum FoodAndBeverageSubType {
@@ -6400,27 +7126,35 @@ enum FoodAndBeverageSubType {
6400
7126
  FoodCartStand
6401
7127
  PrivateChefs
6402
7128
  Bartenders
7129
+ Baristas
7130
+ Mixologist
7131
+ Sommelier
6403
7132
  DessertBar
6404
7133
  BeverageCart
6405
7134
  ConcessionStand
7135
+ FoodAndBeverageOther
6406
7136
  }
6407
7137
 
6408
7138
  enum CleaningSubType {
6409
7139
  LightCleaning
6410
7140
  DeepCleaning
7141
+ CleaningOther
6411
7142
  }
6412
7143
 
6413
7144
  enum DecorAndDesignSubType {
6414
7145
  Decorators
6415
7146
  InteriorDesigners
7147
+ EventDesigner
6416
7148
  Floral
6417
7149
  BalloonArt
7150
+ BalloonArtist
6418
7151
  Balloons
6419
7152
  TableStyling
6420
7153
  Centerpieces
6421
7154
  FurnitureStyling
6422
7155
  Lighting
6423
7156
  CustomSignage
7157
+ DecorAndDesignOther
6424
7158
  }
6425
7159
 
6426
7160
  enum RentalEquipmentSubType {
@@ -6433,10 +7167,12 @@ enum RentalEquipmentSubType {
6433
7167
  Staging
6434
7168
  Generators
6435
7169
  DanceFloor
7170
+ FogFXMachine
6436
7171
  PhotoBooth
6437
7172
  BounceHouse
6438
7173
  WaterSlide
6439
7174
  CarnivalGames
7175
+ RentalEquipmentOther
6440
7176
  }
6441
7177
 
6442
7178
  enum MediaProductionAndCreativeSubType {
@@ -6447,6 +7183,9 @@ enum MediaProductionAndCreativeSubType {
6447
7183
  GoProWearer
6448
7184
  DroneShots
6449
7185
  AISpecialist
7186
+ LiveStreamOperator
7187
+ SocialContentShooter
7188
+ MediaProductionOther
6450
7189
  }
6451
7190
 
6452
7191
  enum AudioVisualSupportSubType {
@@ -6455,6 +7194,7 @@ enum AudioVisualSupportSubType {
6455
7194
  LightingTech
6456
7195
  StageTech
6457
7196
  ProjectorSetup
7197
+ AudioVisualOther
6458
7198
  }
6459
7199
 
6460
7200
  enum PromotionAndMarketingSubType {
@@ -6462,6 +7202,27 @@ enum PromotionAndMarketingSubType {
6462
7202
  ContentCreator
6463
7203
  Promoter
6464
7204
  CelebrityAppearance
7205
+ Model
7206
+ Actor
7207
+ Merchandiser
7208
+ PromotionalSignage
7209
+ BrandStrategist
7210
+ BrandAmbassador
7211
+ PublicSpeaker
7212
+ Toastmaster
7213
+ LifeCoach
7214
+ PodcastMediaHost
7215
+ TradeShowPresenter
7216
+ PromotionAndMarketingOther
7217
+ }
7218
+
7219
+ enum BeautyAndGlamSubType {
7220
+ MakeupArtist
7221
+ HairStylist
7222
+ HairAndMakeup
7223
+ NailArtist
7224
+ SprayTanBodyGlam
7225
+ BeautyAndGlamOther
6465
7226
  }
6466
7227
 
6467
7228
  enum StaffingSubType {
@@ -6473,6 +7234,11 @@ enum StaffingSubType {
6473
7234
  CoatCheck
6474
7235
  DoorStaff
6475
7236
  Security
7237
+ ProductDemoStaff
7238
+ CrowdFiller
7239
+ ChildcareAttendant
7240
+ PetHandler
7241
+ StaffingOther
6476
7242
  }
6477
7243
 
6478
7244
  enum TransportationSubType {
@@ -6481,6 +7247,19 @@ enum TransportationSubType {
6481
7247
  GuestShuttle
6482
7248
  Valet
6483
7249
  ValetService
7250
+ LuxurySUVSprinter
7251
+ DesignatedDriver
7252
+ TransportationOther
7253
+ }
7254
+
7255
+ enum WellnessSubType {
7256
+ ChairMassage
7257
+ YogaBreathworkFacilitator
7258
+ WellnessOther
7259
+ }
7260
+
7261
+ enum HostingSupportSubType {
7262
+ HostingSupportOther
6484
7263
  }
6485
7264
 
6486
7265
  enum OtherSubType {
@@ -6489,6 +7268,13 @@ enum OtherSubType {
6489
7268
  Lawyers
6490
7269
  ThankYouCards
6491
7270
  Reporting
7271
+ Notary
7272
+ InterpreterASL
7273
+ FirstAidEMTStandby
7274
+ Pyrotechnician
7275
+ DroneShowOperator
7276
+ IceSculptor
7277
+ Other
6492
7278
  }
6493
7279
 
6494
7280
  enum InvestorFormat {
@@ -7217,6 +8003,14 @@ enum InfluencerFormat {
7217
8003
  ContentCreation
7218
8004
  }
7219
8005
 
8006
+ /// Follower-tier band for Influencer event services (wizard + profile display).
8007
+ enum InfluencerAudienceTier {
8008
+ Nano
8009
+ Micro
8010
+ Macro
8011
+ Mega
8012
+ }
8013
+
7220
8014
  enum PromoterFormat {
7221
8015
  LocalMarketing
7222
8016
  SocialMediaCampaign
@@ -7233,6 +8027,105 @@ enum CelebrityAppearanceFormat {
7233
8027
  PhotoOpportunities
7234
8028
  }
7235
8029
 
8030
+ enum ModelFormat {
8031
+ RunwayShow
8032
+ PhotoShoot
8033
+ BrandAmbassador
8034
+ MeetAndGreet
8035
+ RedCarpetAppearance
8036
+ TradeShowBooth
8037
+ }
8038
+
8039
+ enum ActorFormat {
8040
+ ScriptedPerformance
8041
+ ImprovAppearance
8042
+ MeetAndGreet
8043
+ PhotoOpportunities
8044
+ BrandAmbassador
8045
+ HostAndMC
8046
+ }
8047
+
8048
+ enum MakeupArtistFormat {
8049
+ BridalMakeup
8050
+ EditorialMakeup
8051
+ SpecialEffects
8052
+ OnSiteTouchUps
8053
+ GroupGlam
8054
+ AirbrushMakeup
8055
+ }
8056
+
8057
+ enum HairStylistFormat {
8058
+ BridalHair
8059
+ EditorialStyling
8060
+ UpdosAndStyling
8061
+ OnSiteTouchUps
8062
+ GroupStyling
8063
+ ExtensionsAndWigs
8064
+ }
8065
+
8066
+ enum PromotionalSignageFormat {
8067
+ BannersAndBackdrops
8068
+ StepAndRepeat
8069
+ AFrameSigns
8070
+ YardSigns
8071
+ WayfindingSigns
8072
+ DigitalDisplays
8073
+ }
8074
+
8075
+ enum BrandStrategistFormat {
8076
+ EventBrandPositioning
8077
+ CampaignMessaging
8078
+ AudienceStrategy
8079
+ LaunchPlanning
8080
+ SponsorIntegration
8081
+ PostEventAnalysis
8082
+ }
8083
+
8084
+ enum BrandAmbassadorFormat {
8085
+ BoothStaffing
8086
+ ProductSampling
8087
+ GuestEngagement
8088
+ LeadGeneration
8089
+ UniformBranding
8090
+ StreetTeam
8091
+ }
8092
+
8093
+ enum PublicSpeakerFormat {
8094
+ Keynote
8095
+ MotivationalTalk
8096
+ PanelModeration
8097
+ WorkshopFacilitation
8098
+ FiresideChat
8099
+ AwardsPresentation
8100
+ }
8101
+
8102
+ enum ToastmasterFormat {
8103
+ WeddingToasts
8104
+ AwardsCeremony
8105
+ CorporateRoast
8106
+ SpeechCoordination
8107
+ AgendaPacing
8108
+ MulticulturalCeremony
8109
+ }
8110
+
8111
+ enum LifeCoachFormat {
8112
+ BreakoutSession
8113
+ GroupCoaching
8114
+ WellnessWorkshop
8115
+ GoalSettingSession
8116
+ TeamBuildingCoaching
8117
+ RetreatFacilitation
8118
+ }
8119
+
8120
+ enum ContentCreatorFormat {
8121
+ PhotoCoverage
8122
+ VideoCoverage
8123
+ ReelsAndShortForm
8124
+ EventRecap
8125
+ BehindTheScenes
8126
+ SameDayDeliverables
8127
+ }
8128
+
7236
8129
  enum CrewHandFormat {
7237
8130
  SetupAndBreakdown
7238
8131
  EquipmentHandling
@@ -7506,6 +8399,7 @@ enum OrganizationType {
7506
8399
  Sports
7507
8400
  Youth
7508
8401
  Cultural
8402
+ TalentAgency // booking / management companies, DJ collectives, speaker bureaus
7509
8403
  }
7510
8404
 
7511
8405
  enum YearsOfExperience {
@@ -8211,10 +9105,56 @@ model BirthdayFreebieCatalog {
8211
9105
  @@index([sector])
8212
9106
  }
8213
9107
 
9108
+ /// A business's request to claim an unclaimed (outreach-sourced) service listing.
9109
+ /// claimantUserId / reviewedByUserId are plain scalars (admin-reviewed records);
9110
+ /// no User back-relations to keep the change localized.
9111
+ model ServiceClaimRequest {
9112
+ id String @id @default(cuid())
9113
+ serviceId String
9114
+ service Service @relation(fields: [serviceId], references: [id], onDelete: Cascade)
9115
+ claimantUserId String
9116
+ claimantEmail String?
9117
+ message String?
9118
+ status ServiceClaimRequestStatus @default(Pending)
9119
+ reviewedByUserId String?
9120
+ reviewedAt DateTime?
9121
+ createdAt DateTime @default(now())
9122
+ updatedAt DateTime @updatedAt
9123
+
9124
+ @@index([serviceId, status])
9125
+ @@index([claimantUserId])
9126
+ }
9127
+
9128
+ enum ServiceInquiryStatus {
9129
+ Pending
9130
+ Acknowledged
9131
+ Declined
9132
+ }
9133
+
9134
+ /// Lightweight host→provider interest before a full booking request.
9135
+ model ServiceInquiry {
9136
+ id String @id @default(cuid())
9137
+ serviceId String
9138
+ service Service @relation(fields: [serviceId], references: [id], onDelete: Cascade)
9139
+ inquirerUserId String
9140
+ message String? @db.Text
9141
+ preferredDates String?
9142
+ status ServiceInquiryStatus @default(Pending)
9143
+ providerNote String?
9144
+ acknowledgedAt DateTime?
9145
+ createdAt DateTime @default(now())
9146
+ updatedAt DateTime @updatedAt
9147
+
9148
+ @@index([serviceId, status])
9149
+ @@index([inquirerUserId])
9150
+ }
9151
+
8214
9152
  /// Cold outreach / nurture lead (e.g. Vapi restaurant dialer). Not a signed-up vendor.
8215
9153
  model OutreachLead {
8216
9154
  id String @id @default(cuid())
8217
9155
  source OutreachLeadSource @default(VapiBirthdayCall2026)
9156
+ /// Set when this lead has been turned into an unclaimed Service listing.
9157
+ serviceId String?
8218
9158
  name String
8219
9159
  phoneE164 String @unique
8220
9160
  fullAddress String? @db.Text
@@ -8242,6 +9182,7 @@ model OutreachLead {
8242
9182
 
8243
9183
  enum OutreachLeadSource {
8244
9184
  VapiBirthdayCall2026
9185
+ VapiServiceOutreach2026
8245
9186
  Manual
8246
9187
  }
8247
9188
 
@@ -9637,3 +10578,274 @@ enum StripeNonprofitPricingStatus {
9637
10578
  Approved
9638
10579
  Declined
9639
10580
  }
10581
+
10582
+ // ─────────────────────────────────────────────────────────────────────────────
10583
+ // Venue Match pipeline (retrieve → score → explain) + supply sales pipeline.
10584
+ // JSON column shapes live in bash-common/src/venueMatch.ts (VenueMatchIntent,
10585
+ // VenueMatchScoreBreakdown, VenueCandidateDisplay).
10586
+ // ─────────────────────────────────────────────────────────────────────────────
10587
+
10588
+ enum VenueMatchCandidateSource {
10589
+ Marketplace
10590
+ GooglePlaces
10591
+ }
10592
+
10593
+ enum VenueMatchHostAction {
10594
+ None
10595
+ Viewed
10596
+ Accepted
10597
+ AcceptedOffPlatform
10598
+ Dismissed
10599
+ CalledPhone
10600
+ InvitedVenue
10601
+ }
10602
+
10603
+ enum VenueSupplyLeadStage {
10604
+ Surfaced
10605
+ Prioritized
10606
+ Queued
10607
+ Contacted
10608
+ Interested
10609
+ DemoScheduled
10610
+ Listed
10611
+ Declined
10612
+ DoNotContact
10613
+ }
10614
+
10615
+ enum ExternalPlaceSource {
10616
+ OutscraperCsv
10617
+ OutscraperApi
10618
+ Manual
10619
+ }
10620
+
10621
+ /// One scoring run for a bash. Content-hash dedupes identical re-runs.
10622
+ model VenueMatchRun {
10623
+ id String @id @default(cuid())
10624
+ bashEventId String
10625
+ hostUserId String
10626
+ /// `VenueMatchIntent` — occasion, guestCount, anchor coords, vibe, budget.
10627
+ intent Json
10628
+ contentHash String
10629
+ /// Run telemetry: latencyMs, candidateCounts, googleCalls, cacheHits.
10630
+ meta Json?
10631
+ createdAt DateTime @default(now())
10632
+
10633
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
10634
+ hostUser User @relation("VenueMatchRunHost", fields: [hostUserId], references: [id], onDelete: Cascade)
10635
+ candidates VenueMatchCandidate[]
10636
+
10637
+ @@index([bashEventId, createdAt])
10638
+ @@index([hostUserId])
10639
+ }
10640
+
10641
+ /// Every scored candidate in a run (not just the top 3 shown).
10642
+ model VenueMatchCandidate {
10643
+ id String @id @default(cuid())
10644
+ runId String
10645
+ rank Int
10646
+ score Int
10647
+ /// `VenueMatchScoreBreakdown` — per-factor score + applied weight.
10648
+ scoreBreakdown Json
10649
+ /// Host-facing reason strings ("2.1 mi away", "Fits 25 guests").
10650
+ reasons Json
10651
+ source VenueMatchCandidateSource
10652
+ serviceId String?
10653
+ googlePlaceId String?
10654
+ /// `VenueCandidateDisplay` — snapshot so GET never re-hits Google.
10655
+ displaySnapshot Json
10656
+ hostAction VenueMatchHostAction @default(None)
10657
+ hostActionAt DateTime?
10658
+
10659
+ run VenueMatchRun @relation(fields: [runId], references: [id], onDelete: Cascade)
10660
+ service Service? @relation(fields: [serviceId], references: [id], onDelete: SetNull)
10661
+
10662
+ @@index([runId, rank])
10663
+ @@index([googlePlaceId])
10664
+ @@index([serviceId])
10665
+ }
10666
+
10667
+ /// ToS-compatible place data (Outscraper CSV/API imports). The ONLY allowed
10668
+ /// contact-data source for VenueSupplyLead — Google Place fields are never
10669
+ /// copied here (see GooglePlaceCache for the ephemeral display tier).
10670
+ model ExternalPlaceCatalog {
10671
+ id String @id @default(cuid())
10672
+ googlePlaceId String? @unique
10673
+ phoneE164 String?
10674
+ name String
10675
+ fullAddress String? @db.Text
10676
+ city String?
10677
+ state String?
10678
+ postalCode String?
10679
+ latitude Float?
10680
+ longitude Float?
10681
+ rating Float?
10682
+ reviewCount Int?
10683
+ category String?
10684
+ website String? @db.Text
10685
+ source ExternalPlaceSource @default(OutscraperCsv)
10686
+ /// Scraped/ file stem or Outscraper query that produced this row.
10687
+ sourceKey String?
10688
+ importedAt DateTime @default(now())
10689
+ refreshedAt DateTime?
10690
+
10691
+ supplyLeads VenueSupplyLead[]
10692
+
10693
+ @@index([phoneE164])
10694
+ @@index([city, state])
10695
+ }
10696
+
10697
+ /// Off-platform venue prospect for the sales pipeline. Contact fields come
10698
+ /// from ExternalPlaceCatalog (denormalized name/phone kept for fast lists).
10699
+ model VenueSupplyLead {
10700
+ id String @id @default(cuid())
10701
+ catalogId String?
10702
+ googlePlaceId String? @unique
10703
+ /// Set when the venue converts (publishes a Service on Bash).
10704
+ serviceId String?
10705
+ /// Dedup link to the Vapi dialer lead when phoneE164 matches.
10706
+ outreachLeadId String?
10707
+ name String
10708
+ phoneE164 String?
10709
+ city String?
10710
+ state String?
10711
+ /// Count of DISTINCT bash events that surfaced this venue (top 10).
10712
+ distinctEventCount Int @default(0)
10713
+ firstSurfacedAt DateTime @default(now())
10714
+ lastSurfacedAt DateTime @default(now())
10715
+ stage VenueSupplyLeadStage @default(Surfaced)
10716
+ assignedToUserId String?
10717
+ notes String? @db.Text
10718
+ createdAt DateTime @default(now())
10719
+ updatedAt DateTime @updatedAt
10720
+
10721
+ catalog ExternalPlaceCatalog? @relation(fields: [catalogId], references: [id], onDelete: SetNull)
10722
+ service Service? @relation("SupplyLeadConvertedService", fields: [serviceId], references: [id], onDelete: SetNull)
10723
+ assignedTo User? @relation("SupplyLeadAssignee", fields: [assignedToUserId], references: [id], onDelete: SetNull)
10724
+ surfaceEvents VenueSupplyLeadEvent[]
10725
+
10726
+ @@index([stage, distinctEventCount])
10727
+ @@index([city, state])
10728
+ @@index([phoneE164])
10729
+ @@index([assignedToUserId])
10730
+ }
10731
+
10732
+ /// Join row: which bash surfaced this lead, with occasion context for
10733
+ /// cold-call scripts ("4 hosts searched bachelor party venues near you").
10734
+ model VenueSupplyLeadEvent {
10735
+ id String @id @default(cuid())
10736
+ supplyLeadId String
10737
+ bashEventId String
10738
+ matchCandidateId String?
10739
+ occasion String?
10740
+ guestCountEstimate Int?
10741
+ surfacedAt DateTime @default(now())
10742
+
10743
+ supplyLead VenueSupplyLead @relation(fields: [supplyLeadId], references: [id], onDelete: Cascade)
10744
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
10745
+
10746
+ @@unique([supplyLeadId, bashEventId])
10747
+ @@index([bashEventId])
10748
+ }
10749
+
10750
+ /// Ephemeral Google Place display data (48h TTL). NEVER copied into
10751
+ /// VenueSupplyLead or ExternalPlaceCatalog — Google ToS tier C only.
10752
+ model GooglePlaceCache {
10753
+ googlePlaceId String @id
10754
+ /// Display-only snapshot: name, address, rating, reviewCount, photoUrl, phone, lat/lng.
10755
+ displaySnapshot Json
10756
+ fetchedAt DateTime @default(now())
10757
+ expiresAt DateTime
10758
+
10759
+ @@index([expiresAt])
10760
+ }
10761
+
10762
+ // ============================================
10763
+ // BASH LABS — product launch waitlists & rankings
10764
+ // ============================================
10765
+
10766
+ enum ProductLaunchProduct {
10767
+ BashOne
10768
+ SecondaryMarketplace
10769
+ Memories
10770
+ AiOrganizer
10771
+ Enterprise
10772
+ }
10773
+
10774
+ /// Early-access signup for a Bash Labs product (not Enterprise — see EnterpriseLead).
10775
+ model ProductLaunchWaitlistSignup {
10776
+ id String @id @default(cuid())
10777
+ product ProductLaunchProduct
10778
+ email String
10779
+ userId String?
10780
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10781
+ isRegisteredUser Boolean @default(false)
10782
+ interestOrganizer Boolean @default(false)
10783
+ interestAttendee Boolean @default(false)
10784
+ interestArtist Boolean @default(false)
10785
+ interestVendor Boolean @default(false)
10786
+ city String
10787
+ comments String? @db.Text
10788
+ createdAt DateTime @default(now())
10789
+
10790
+ @@unique([product, email])
10791
+ @@index([product, createdAt])
10792
+ @@index([userId])
10793
+ @@index([email])
10794
+ }
10795
+
10796
+ /// Community stack-rank of all five Bash Labs / Enterprise roadmap products.
10797
+ model ProductLaunchRankSubmission {
10798
+ id String @id @default(cuid())
10799
+ email String
10800
+ userId String?
10801
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10802
+ rankedProducts ProductLaunchProduct[]
10803
+ createdAt DateTime @default(now())
10804
+ updatedAt DateTime @updatedAt
10805
+
10806
+ @@unique([email])
10807
+ @@index([userId])
10808
+ }
10809
+
10810
+ // ============================================
10811
+ // ENTERPRISE LEADS — sales + early access CRM
10812
+ // ============================================
10813
+
10814
+ enum EnterpriseLeadType {
10815
+ Sales
10816
+ EarlyAccess
10817
+ }
10818
+
10819
+ enum EnterpriseLeadStatus {
10820
+ New
10821
+ Contacted
10822
+ Demo
10823
+ Pilot
10824
+ Customer
10825
+ }
10826
+
10827
+ model EnterpriseLead {
10828
+ id String @id @default(cuid())
10829
+ leadType EnterpriseLeadType
10830
+ status EnterpriseLeadStatus @default(New)
10831
+ email String
10832
+ userId String?
10833
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10834
+ /// Sales + Early Access
10835
+ organization String?
10836
+ /// Sales-only
10837
+ employeeCount String?
10838
+ eventsPerYear String?
10839
+ phone String?
10840
+ wantsDemo Boolean @default(false)
10841
+ /// Early-access-only
10842
+ role String?
10843
+ biggestNeed String? @db.Text
10844
+ adminNote String? @db.Text
10845
+ createdAt DateTime @default(now())
10846
+ updatedAt DateTime @updatedAt
10847
+
10848
+ @@index([leadType, status, createdAt])
10849
+ @@index([email])
10850
+ @@index([userId])
10851
+ }