@bash-app/bash-common 30.424.0 → 30.427.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 (472) hide show
  1. package/dist/__tests__/agePolicy.test.js +6 -6
  2. package/dist/__tests__/agePolicy.test.js.map +1 -1
  3. package/dist/__tests__/bashEventCancellationPolicy.test.js +2 -2
  4. package/dist/__tests__/bashEventCancellationPolicy.test.js.map +1 -1
  5. package/dist/__tests__/bashSectionTitleForBashType.test.js +3 -3
  6. package/dist/__tests__/definitionsHelpers.test.js +1 -1
  7. package/dist/__tests__/definitionsHelpers.test.js.map +1 -1
  8. package/dist/__tests__/entertainmentNotableVenues.test.js +1 -1
  9. package/dist/__tests__/entertainmentNotableVenues.test.js.map +1 -1
  10. package/dist/__tests__/hostCrmCrowdPulse.test.js +1 -1
  11. package/dist/__tests__/hostCrmSegments.test.js +2 -2
  12. package/dist/__tests__/hostCrmSegments.test.js.map +1 -1
  13. package/dist/__tests__/hostPromoter.test.js +1 -1
  14. package/dist/__tests__/influencerAudience.test.js +1 -1
  15. package/dist/__tests__/influencerAudience.test.js.map +1 -1
  16. package/dist/__tests__/promoterCompetitionUtils.test.js +3 -3
  17. package/dist/__tests__/promoterCompetitionUtils.test.js.map +1 -1
  18. package/dist/__tests__/scenePulse.test.js +1 -1
  19. package/dist/__tests__/seatMap.test.js +1 -1
  20. package/dist/__tests__/seatMap.test.js.map +1 -1
  21. package/dist/__tests__/ticketAdmission.test.d.ts +1 -1
  22. package/dist/__tests__/ticketAdmission.test.js +1 -1
  23. package/dist/accessScreening.js +1 -1
  24. package/dist/aiApproval.d.ts +3 -3
  25. package/dist/aiApproval.js +3 -3
  26. package/dist/appleIapProducts.d.ts +1 -1
  27. package/dist/appleIapProducts.d.ts.map +1 -1
  28. package/dist/appleIapProducts.js +1 -1
  29. package/dist/appleIapProducts.js.map +1 -1
  30. package/dist/applicationFunnel.d.ts +1 -1
  31. package/dist/applicationFunnel.js +1 -1
  32. package/dist/audienceImport.d.ts +2 -2
  33. package/dist/audienceImport.d.ts.map +1 -1
  34. package/dist/audienceImport.js +2 -2
  35. package/dist/audienceImport.js.map +1 -1
  36. package/dist/bashEventCancellationPolicy.js +3 -3
  37. package/dist/bashEventCancellationPolicy.js.map +1 -1
  38. package/dist/budgetApproval.d.ts +1 -1
  39. package/dist/budgetApproval.js +1 -1
  40. package/dist/causeTags.js +4 -4
  41. package/dist/causeTags.js.map +1 -1
  42. package/dist/competitionIdeas.js +12 -12
  43. package/dist/competitionIdeas.js.map +1 -1
  44. package/dist/competitionValidation.d.ts +1 -1
  45. package/dist/competitionValidation.d.ts.map +1 -1
  46. package/dist/competitionValidation.js +1 -1
  47. package/dist/competitionValidation.js.map +1 -1
  48. package/dist/definitions.d.ts +35 -35
  49. package/dist/definitions.d.ts.map +1 -1
  50. package/dist/definitions.js +30 -30
  51. package/dist/definitions.js.map +1 -1
  52. package/dist/discoveryScope.d.ts +2 -2
  53. package/dist/discoveryScope.js +2 -2
  54. package/dist/entertainmentNotableVenues.js +1 -1
  55. package/dist/entertainmentNotableVenues.js.map +1 -1
  56. package/dist/extendedSchemas.d.ts +150 -150
  57. package/dist/extendedSchemas.d.ts.map +1 -1
  58. package/dist/extendedSchemas.js +11 -11
  59. package/dist/extendedSchemas.js.map +1 -1
  60. package/dist/fundingMeter.d.ts +1 -1
  61. package/dist/fundingMeter.js +1 -1
  62. package/dist/giveaway.d.ts +2 -2
  63. package/dist/giveaway.d.ts.map +1 -1
  64. package/dist/giveaway.js +2 -2
  65. package/dist/giveaway.js.map +1 -1
  66. package/dist/guestPartySize.js +3 -3
  67. package/dist/guestPartySize.js.map +1 -1
  68. package/dist/home.d.ts +1 -1
  69. package/dist/homepageSyntheticRows.d.ts +2 -2
  70. package/dist/homepageSyntheticRows.d.ts.map +1 -1
  71. package/dist/homepageSyntheticRows.js +2 -2
  72. package/dist/homepageSyntheticRows.js.map +1 -1
  73. package/dist/hostCrmAutomation.d.ts +11 -11
  74. package/dist/hostCrmAutomation.d.ts.map +1 -1
  75. package/dist/hostCrmAutomation.js +9 -9
  76. package/dist/hostCrmAutomation.js.map +1 -1
  77. package/dist/hostCrmConstants.d.ts +1 -1
  78. package/dist/hostCrmConstants.d.ts.map +1 -1
  79. package/dist/hostCrmConstants.js +1 -1
  80. package/dist/hostCrmConstants.js.map +1 -1
  81. package/dist/hostCrmCrowdPulse.d.ts +2 -2
  82. package/dist/hostCrmCrowdPulse.d.ts.map +1 -1
  83. package/dist/hostCrmCrowdPulse.js +1 -1
  84. package/dist/hostCrmInsights.d.ts +3 -3
  85. package/dist/hostCrmLastBashProof.d.ts +2 -2
  86. package/dist/hostCrmLastBashProof.d.ts.map +1 -1
  87. package/dist/hostCrmLastBashProof.js +1 -1
  88. package/dist/hostCrmSegments.d.ts +10 -10
  89. package/dist/hostCrmSegments.d.ts.map +1 -1
  90. package/dist/hostCrmSegments.js +2 -2
  91. package/dist/hostCrmSegments.js.map +1 -1
  92. package/dist/hostPromoter.d.ts +1 -1
  93. package/dist/hostPromoter.d.ts.map +1 -1
  94. package/dist/hostPromoter.js +1 -1
  95. package/dist/hostPromoter.js.map +1 -1
  96. package/dist/icebreakerPrompts.js +2 -2
  97. package/dist/icebreakerPrompts.js.map +1 -1
  98. package/dist/index.js +1 -1
  99. package/dist/index.js.map +1 -1
  100. package/dist/influencerAudience.js +3 -3
  101. package/dist/influencerAudience.js.map +1 -1
  102. package/dist/liveActivity/liveActivityTypes.d.ts +10 -10
  103. package/dist/liveActivity/liveActivityTypes.d.ts.map +1 -1
  104. package/dist/liveActivity/liveActivityTypes.js +2 -2
  105. package/dist/liveActivity/liveActivityTypes.js.map +1 -1
  106. package/dist/locationShare.d.ts +2 -2
  107. package/dist/locationShare.d.ts.map +1 -1
  108. package/dist/locationShare.js +2 -2
  109. package/dist/locationShare.js.map +1 -1
  110. package/dist/membershipDefinitions.d.ts +5 -5
  111. package/dist/membershipDefinitions.d.ts.map +1 -1
  112. package/dist/membershipDefinitions.js +21 -21
  113. package/dist/membershipDefinitions.js.map +1 -1
  114. package/dist/mirroredPrismaEnums.d.ts +6 -6
  115. package/dist/mirroredPrismaEnums.js +6 -6
  116. package/dist/onSaleCapabilityRecommendations.d.ts +1 -1
  117. package/dist/onSaleCapabilityRecommendations.js +1 -1
  118. package/dist/partnerStoreTypes.d.ts +1 -1
  119. package/dist/partnerStoreTypes.d.ts.map +1 -1
  120. package/dist/productLaunch.d.ts +2 -2
  121. package/dist/productLaunch.d.ts.map +1 -1
  122. package/dist/productLaunch.js +2 -2
  123. package/dist/productLaunch.js.map +1 -1
  124. package/dist/relationshipHealth.d.ts +3 -3
  125. package/dist/relationshipHealth.d.ts.map +1 -1
  126. package/dist/relationshipHealth.js +3 -3
  127. package/dist/relationshipHealth.js.map +1 -1
  128. package/dist/scenePulse.d.ts +2 -2
  129. package/dist/scenePulse.js +1 -1
  130. package/dist/seatMap.d.ts +1 -1
  131. package/dist/seatMap.d.ts.map +1 -1
  132. package/dist/seatMap.js +2 -2
  133. package/dist/seatMap.js.map +1 -1
  134. package/dist/seatMapBestAvailable.js +2 -2
  135. package/dist/seatMapBestAvailable.js.map +1 -1
  136. package/dist/serviceTypeLabels.d.ts +3 -3
  137. package/dist/serviceTypeLabels.js +3 -3
  138. package/dist/sideQuestIdeas.js +8 -8
  139. package/dist/sideQuestIdeas.js.map +1 -1
  140. package/dist/sideQuestTypes.js +2 -2
  141. package/dist/sideQuestTypes.js.map +1 -1
  142. package/dist/sms/smsTemplates.d.ts +1 -1
  143. package/dist/sms/smsTemplates.js +1 -1
  144. package/dist/stripeListingSubscriptionMessages.d.ts +1 -1
  145. package/dist/stripeListingSubscriptionMessages.js +1 -1
  146. package/dist/targetAudienceLabels.d.ts +1 -1
  147. package/dist/targetAudienceLabels.js +1 -1
  148. package/dist/ticketBnplPaymentMethods.d.ts +3 -3
  149. package/dist/ticketBnplPaymentMethods.d.ts.map +1 -1
  150. package/dist/ticketBnplPaymentMethods.js +2 -2
  151. package/dist/userReportTypes.d.ts +1 -1
  152. package/dist/userReportTypes.d.ts.map +1 -1
  153. package/dist/userReportTypes.js +1 -1
  154. package/dist/userReportTypes.js.map +1 -1
  155. package/dist/userTaste.d.ts +2 -2
  156. package/dist/userTaste.d.ts.map +1 -1
  157. package/dist/userTaste.js +2 -2
  158. package/dist/userTaste.js.map +1 -1
  159. package/dist/utils/__tests__/badgeUtils.test.js +5 -5
  160. package/dist/utils/__tests__/badgeUtils.test.js.map +1 -1
  161. package/dist/utils/__tests__/bashPointsPaymentUtils.test.js +4 -4
  162. package/dist/utils/__tests__/bashPointsPaymentUtils.test.js.map +1 -1
  163. package/dist/utils/__tests__/contentFilterUtils.test.js +23 -23
  164. package/dist/utils/__tests__/contentFilterUtils.test.js.map +1 -1
  165. package/dist/utils/__tests__/dateTimeUtils.test.js +1 -1
  166. package/dist/utils/__tests__/displayDateUtils.test.js +1 -1
  167. package/dist/utils/__tests__/flyerUtils.test.js +1 -1
  168. package/dist/utils/__tests__/flyerUtils.test.js.map +1 -1
  169. package/dist/utils/__tests__/getBackendHost.test.js +8 -8
  170. package/dist/utils/__tests__/getBackendHost.test.js.map +1 -1
  171. package/dist/utils/__tests__/getFrontendHost.native.test.js +1 -1
  172. package/dist/utils/__tests__/getFrontendHost.native.test.js.map +1 -1
  173. package/dist/utils/__tests__/getFrontendHost.test.js +9 -9
  174. package/dist/utils/__tests__/getFrontendHost.test.js.map +1 -1
  175. package/dist/utils/__tests__/guestSurface.test.js +1 -0
  176. package/dist/utils/__tests__/guestSurface.test.js.map +1 -1
  177. package/dist/utils/__tests__/organizationEntitlements.test.js +1 -1
  178. package/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -1
  179. package/dist/utils/__tests__/paymentUtils.test.js +7 -7
  180. package/dist/utils/__tests__/paymentUtils.test.js.map +1 -1
  181. package/dist/utils/__tests__/promoCodesUtils.test.js +2 -2
  182. package/dist/utils/__tests__/promoCodesUtils.test.js.map +1 -1
  183. package/dist/utils/__tests__/qrCodeUtils.test.js +4 -4
  184. package/dist/utils/__tests__/qrCodeUtils.test.js.map +1 -1
  185. package/dist/utils/__tests__/recurrenceUtils.test.js +18 -0
  186. package/dist/utils/__tests__/recurrenceUtils.test.js.map +1 -1
  187. package/dist/utils/__tests__/reviewDimensionUtils.test.js +1 -1
  188. package/dist/utils/__tests__/reviewDimensionUtils.test.js.map +1 -1
  189. package/dist/utils/__tests__/stripeAccountUtils.test.js +1 -1
  190. package/dist/utils/__tests__/ticketPrintPostageUtils.test.js +1 -1
  191. package/dist/utils/__tests__/ticketPrintPostageUtils.test.js.map +1 -1
  192. package/dist/utils/addressUtils.js +1 -1
  193. package/dist/utils/addressUtils.js.map +1 -1
  194. package/dist/utils/apiUtils.js +1 -1
  195. package/dist/utils/apiUtils.js.map +1 -1
  196. package/dist/utils/birthdayExperienceQuality.d.ts +1 -1
  197. package/dist/utils/birthdayExperienceQuality.js +4 -4
  198. package/dist/utils/birthdayExperienceQuality.js.map +1 -1
  199. package/dist/utils/blogUtils.d.ts +1 -1
  200. package/dist/utils/blogUtils.d.ts.map +1 -1
  201. package/dist/utils/blogUtils.js +2 -2
  202. package/dist/utils/blogUtils.js.map +1 -1
  203. package/dist/utils/discountEngine/discountCalculator.js +1 -1
  204. package/dist/utils/discountEngine/discountCalculator.js.map +1 -1
  205. package/dist/utils/displayDateUtils.d.ts +2 -2
  206. package/dist/utils/displayDateUtils.d.ts.map +1 -1
  207. package/dist/utils/displayDateUtils.js +2 -2
  208. package/dist/utils/displayDateUtils.js.map +1 -1
  209. package/dist/utils/entertainmentDrawFit.d.ts +1 -1
  210. package/dist/utils/entertainmentDrawFit.js +1 -1
  211. package/dist/utils/eventTimezoneIana.d.ts +1 -1
  212. package/dist/utils/eventTimezoneIana.js +4 -4
  213. package/dist/utils/eventTimezoneIana.js.map +1 -1
  214. package/dist/utils/flyerUtils.d.ts +2 -2
  215. package/dist/utils/flyerUtils.d.ts.map +1 -1
  216. package/dist/utils/flyerUtils.js +3 -3
  217. package/dist/utils/flyerUtils.js.map +1 -1
  218. package/dist/utils/groupTicketCartUtils.js +1 -1
  219. package/dist/utils/groupTicketCartUtils.js.map +1 -1
  220. package/dist/utils/guestSurface.d.ts +2 -2
  221. package/dist/utils/guestSurface.d.ts.map +1 -1
  222. package/dist/utils/guestSurface.js +8 -5
  223. package/dist/utils/guestSurface.js.map +1 -1
  224. package/dist/utils/lobFlyerUtils.d.ts +2 -2
  225. package/dist/utils/lobFlyerUtils.js +2 -2
  226. package/dist/utils/luxonUtils.d.ts +4 -4
  227. package/dist/utils/luxonUtils.js +5 -5
  228. package/dist/utils/luxonUtils.js.map +1 -1
  229. package/dist/utils/moodTrackUtils.d.ts +1 -1
  230. package/dist/utils/moodTrackUtils.js +1 -1
  231. package/dist/utils/nonprofitUtils.d.ts +3 -3
  232. package/dist/utils/nonprofitUtils.js +2 -2
  233. package/dist/utils/orgPromotionalPackageUtils.d.ts +1 -1
  234. package/dist/utils/orgPromotionalPackageUtils.js +1 -1
  235. package/dist/utils/organizationEntitlements.d.ts +4 -4
  236. package/dist/utils/organizationEntitlements.js +3 -3
  237. package/dist/utils/paymentUtils.d.ts +10 -10
  238. package/dist/utils/paymentUtils.js +9 -9
  239. package/dist/utils/promoterCompetitionUtils.d.ts +4 -4
  240. package/dist/utils/promoterCompetitionUtils.d.ts.map +1 -1
  241. package/dist/utils/promoterCompetitionUtils.js +7 -7
  242. package/dist/utils/promoterCompetitionUtils.js.map +1 -1
  243. package/dist/utils/promotionBlastUtils.d.ts +1 -1
  244. package/dist/utils/promotionBlastUtils.js +4 -4
  245. package/dist/utils/promotionBlastUtils.js.map +1 -1
  246. package/dist/utils/qrCodeUtils.d.ts +3 -3
  247. package/dist/utils/qrCodeUtils.d.ts.map +1 -1
  248. package/dist/utils/qrCodeUtils.js +3 -3
  249. package/dist/utils/qrCodeUtils.js.map +1 -1
  250. package/dist/utils/recurrenceUtils.d.ts +7 -4
  251. package/dist/utils/recurrenceUtils.d.ts.map +1 -1
  252. package/dist/utils/recurrenceUtils.js +32 -5
  253. package/dist/utils/recurrenceUtils.js.map +1 -1
  254. package/dist/utils/reputationUtils.d.ts +2 -2
  255. package/dist/utils/reputationUtils.d.ts.map +1 -1
  256. package/dist/utils/reputationUtils.js +1 -1
  257. package/dist/utils/reputationUtils.js.map +1 -1
  258. package/dist/utils/reviewDimensionUtils.d.ts +2 -2
  259. package/dist/utils/reviewDimensionUtils.d.ts.map +1 -1
  260. package/dist/utils/reviewDimensionUtils.js +1 -1
  261. package/dist/utils/reviewDimensionUtils.js.map +1 -1
  262. package/dist/utils/service/__tests__/billingCapUtils.test.js +3 -3
  263. package/dist/utils/service/__tests__/billingCapUtils.test.js.map +1 -1
  264. package/dist/utils/service/__tests__/eventPromoterPhase3.test.js +1 -1
  265. package/dist/utils/service/__tests__/eventPromoterUtils.test.js +1 -1
  266. package/dist/utils/service/__tests__/eventPromoterUtils.test.js.map +1 -1
  267. package/dist/utils/service/__tests__/frontendServiceBookingUtils.test.js +2 -2
  268. package/dist/utils/service/__tests__/frontendServiceBookingUtils.test.js.map +1 -1
  269. package/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js +1 -1
  270. package/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js.map +1 -1
  271. package/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js +2 -2
  272. package/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js.map +1 -1
  273. package/dist/utils/service/__tests__/serviceRateUtils.test.js +6 -6
  274. package/dist/utils/service/__tests__/serviceRateUtils.test.js.map +1 -1
  275. package/dist/utils/service/apiServiceBookingApiUtils.js +1 -1
  276. package/dist/utils/service/apiServiceBookingApiUtils.js.map +1 -1
  277. package/dist/utils/service/billingCapUtils.d.ts +5 -5
  278. package/dist/utils/service/billingCapUtils.js +5 -5
  279. package/dist/utils/service/cancellationPolicyRefundResolver.d.ts +1 -1
  280. package/dist/utils/service/cancellationPolicyRefundResolver.d.ts.map +1 -1
  281. package/dist/utils/service/eventPromoterUtils.d.ts +17 -17
  282. package/dist/utils/service/eventPromoterUtils.d.ts.map +1 -1
  283. package/dist/utils/service/eventPromoterUtils.js +11 -11
  284. package/dist/utils/service/eventPromoterUtils.js.map +1 -1
  285. package/dist/utils/service/foodAndBeverageQuote.d.ts +8 -8
  286. package/dist/utils/service/foodAndBeverageQuote.js +8 -8
  287. package/dist/utils/service/offerAllowListUtils.d.ts +1 -1
  288. package/dist/utils/service/offerComparisonUtils.d.ts +6 -6
  289. package/dist/utils/service/offerComparisonUtils.js +2 -2
  290. package/dist/utils/service/offerComparisonUtils.js.map +1 -1
  291. package/dist/utils/service/serviceBookingExposureUtils.d.ts +7 -7
  292. package/dist/utils/service/serviceBookingExposureUtils.js +5 -5
  293. package/dist/utils/service/serviceBookingExposureUtils.js.map +1 -1
  294. package/dist/utils/service/serviceFeaturedSortUtils.js +2 -2
  295. package/dist/utils/service/serviceFeaturedSortUtils.js.map +1 -1
  296. package/dist/utils/service/serviceListingMediaUtils.d.ts +2 -2
  297. package/dist/utils/service/serviceListingMediaUtils.d.ts.map +1 -1
  298. package/dist/utils/service/serviceListingMediaUtils.js +2 -2
  299. package/dist/utils/service/serviceListingMediaUtils.js.map +1 -1
  300. package/dist/utils/service/serviceUtils.js +2 -2
  301. package/dist/utils/service/serviceUtils.js.map +1 -1
  302. package/dist/utils/service/unifiedPricingResolver.d.ts +5 -5
  303. package/dist/utils/service/unifiedPricingResolver.d.ts.map +1 -1
  304. package/dist/utils/service/venueSettlementUtils.d.ts +2 -2
  305. package/dist/utils/service/venueSettlementUtils.js +3 -3
  306. package/dist/utils/service/venueSettlementUtils.js.map +1 -1
  307. package/dist/utils/service/volunteerCompensationUtils.d.ts +2 -2
  308. package/dist/utils/service/volunteerCompensationUtils.js +1 -1
  309. package/dist/utils/service/volunteerCompensationUtils.js.map +1 -1
  310. package/dist/utils/slugUtils.d.ts +1 -1
  311. package/dist/utils/slugUtils.js +1 -1
  312. package/dist/utils/ticketPrintPostageUtils.d.ts +4 -4
  313. package/dist/utils/ticketPrintPostageUtils.js +5 -5
  314. package/dist/utils/ticketPrintPostageUtils.js.map +1 -1
  315. package/dist/utils/ticketTierSchedule.d.ts +1 -1
  316. package/dist/utils/ticketTierSchedule.js +4 -4
  317. package/dist/utils/ticketTierSchedule.js.map +1 -1
  318. package/dist/utils/trustScoreUtils.d.ts +1 -1
  319. package/dist/utils/trustScoreUtils.js +1 -1
  320. package/dist/utils/urlUtils.d.ts +2 -2
  321. package/dist/utils/urlUtils.js +2 -2
  322. package/dist/utils/userUtils.d.ts +4 -4
  323. package/dist/utils/userUtils.js +3 -3
  324. package/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js +1 -1
  325. package/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js +1 -1
  326. package/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts +3 -3
  327. package/dist/utils/venueLoyalty/redemptionCodeUtils.js +3 -3
  328. package/dist/venueLoyaltyRedemption.d.ts +2 -2
  329. package/dist/venueLoyaltyRedemption.js +1 -1
  330. package/dist/venueMatch.d.ts +4 -4
  331. package/dist/venueMatch.d.ts.map +1 -1
  332. package/dist/venueMatch.js +1 -1
  333. package/dist/venueMatch.js.map +1 -1
  334. package/package.json +1 -1
  335. package/prisma/schema.prisma +3 -3
  336. package/src/__tests__/agePolicy.test.ts +6 -6
  337. package/src/__tests__/bashEventCancellationPolicy.test.ts +2 -2
  338. package/src/__tests__/bashSectionTitleForBashType.test.ts +3 -3
  339. package/src/__tests__/definitionsHelpers.test.ts +1 -1
  340. package/src/__tests__/entertainmentNotableVenues.test.ts +1 -1
  341. package/src/__tests__/hostCrmCrowdPulse.test.ts +1 -1
  342. package/src/__tests__/hostCrmSegments.test.ts +2 -2
  343. package/src/__tests__/hostPromoter.test.ts +1 -1
  344. package/src/__tests__/influencerAudience.test.ts +1 -1
  345. package/src/__tests__/promoterCompetitionUtils.test.ts +3 -3
  346. package/src/__tests__/scenePulse.test.ts +1 -1
  347. package/src/__tests__/seatMap.test.ts +1 -1
  348. package/src/__tests__/ticketAdmission.test.ts +1 -1
  349. package/src/accessScreening.ts +1 -1
  350. package/src/aiApproval.ts +3 -3
  351. package/src/appleIapProducts.ts +1 -1
  352. package/src/applicationFunnel.ts +1 -1
  353. package/src/audienceImport.ts +2 -2
  354. package/src/bashEventCancellationPolicy.ts +3 -3
  355. package/src/budgetApproval.ts +1 -1
  356. package/src/causeTags.ts +4 -4
  357. package/src/competitionIdeas.ts +12 -12
  358. package/src/competitionValidation.ts +1 -1
  359. package/src/definitions.ts +42 -42
  360. package/src/discoveryScope.ts +2 -2
  361. package/src/entertainmentNotableVenues.ts +1 -1
  362. package/src/extendedSchemas.ts +41 -41
  363. package/src/fundingMeter.ts +1 -1
  364. package/src/giveaway.ts +2 -2
  365. package/src/guestPartySize.ts +3 -3
  366. package/src/home.ts +1 -1
  367. package/src/homepageSyntheticRows.ts +2 -2
  368. package/src/hostCrmAutomation.ts +11 -11
  369. package/src/hostCrmConstants.ts +1 -1
  370. package/src/hostCrmCrowdPulse.ts +2 -2
  371. package/src/hostCrmInsights.ts +3 -3
  372. package/src/hostCrmLastBashProof.ts +2 -2
  373. package/src/hostCrmSegments.ts +12 -12
  374. package/src/hostPromoter.ts +1 -1
  375. package/src/icebreakerPrompts.ts +2 -2
  376. package/src/index.ts +1 -1
  377. package/src/influencerAudience.ts +3 -3
  378. package/src/liveActivity/liveActivityTypes.ts +10 -10
  379. package/src/locationShare.ts +2 -2
  380. package/src/membershipDefinitions.ts +21 -21
  381. package/src/mirroredPrismaEnums.ts +6 -6
  382. package/src/onSaleCapabilityRecommendations.ts +1 -1
  383. package/src/partnerStoreTypes.ts +1 -1
  384. package/src/productLaunch.ts +2 -2
  385. package/src/relationshipHealth.ts +5 -5
  386. package/src/scenePulse.ts +2 -2
  387. package/src/seatMap.ts +3 -3
  388. package/src/seatMapBestAvailable.ts +2 -2
  389. package/src/serviceTypeLabels.ts +3 -3
  390. package/src/sideQuestIdeas.ts +8 -8
  391. package/src/sideQuestTypes.ts +2 -2
  392. package/src/sms/smsTemplates.ts +1 -1
  393. package/src/stripeListingSubscriptionMessages.ts +1 -1
  394. package/src/targetAudienceLabels.ts +1 -1
  395. package/src/ticketBnplPaymentMethods.ts +3 -3
  396. package/src/userReportTypes.ts +1 -1
  397. package/src/userTaste.ts +2 -2
  398. package/src/utils/__tests__/badgeUtils.test.ts +5 -5
  399. package/src/utils/__tests__/bashPointsPaymentUtils.test.ts +4 -4
  400. package/src/utils/__tests__/contentFilterUtils.test.ts +23 -23
  401. package/src/utils/__tests__/dateTimeUtils.test.ts +1 -1
  402. package/src/utils/__tests__/displayDateUtils.test.ts +1 -1
  403. package/src/utils/__tests__/flyerUtils.test.ts +1 -1
  404. package/src/utils/__tests__/getBackendHost.test.ts +8 -8
  405. package/src/utils/__tests__/getFrontendHost.native.test.ts +1 -1
  406. package/src/utils/__tests__/getFrontendHost.test.ts +9 -9
  407. package/src/utils/__tests__/guestSurface.test.ts +1 -0
  408. package/src/utils/__tests__/organizationEntitlements.test.ts +1 -1
  409. package/src/utils/__tests__/paymentUtils.test.ts +7 -7
  410. package/src/utils/__tests__/promoCodesUtils.test.ts +2 -2
  411. package/src/utils/__tests__/qrCodeUtils.test.ts +4 -4
  412. package/src/utils/__tests__/recurrenceUtils.test.ts +26 -0
  413. package/src/utils/__tests__/reviewDimensionUtils.test.ts +1 -1
  414. package/src/utils/__tests__/stripeAccountUtils.test.ts +1 -1
  415. package/src/utils/__tests__/ticketPrintPostageUtils.test.ts +1 -1
  416. package/src/utils/addressUtils.ts +1 -1
  417. package/src/utils/apiUtils.ts +1 -1
  418. package/src/utils/birthdayExperienceQuality.ts +4 -4
  419. package/src/utils/blogUtils.ts +2 -2
  420. package/src/utils/discountEngine/discountCalculator.ts +1 -1
  421. package/src/utils/displayDateUtils.ts +2 -2
  422. package/src/utils/entertainmentDrawFit.ts +1 -1
  423. package/src/utils/eventTimezoneIana.ts +4 -4
  424. package/src/utils/flyerUtils.ts +3 -3
  425. package/src/utils/groupTicketCartUtils.ts +1 -1
  426. package/src/utils/guestSurface.ts +8 -6
  427. package/src/utils/lobFlyerUtils.ts +2 -2
  428. package/src/utils/luxonUtils.ts +5 -5
  429. package/src/utils/moodTrackUtils.ts +1 -1
  430. package/src/utils/nonprofitUtils.ts +3 -3
  431. package/src/utils/orgPromotionalPackageUtils.ts +1 -1
  432. package/src/utils/organizationEntitlements.ts +4 -4
  433. package/src/utils/paymentUtils.ts +10 -10
  434. package/src/utils/promoterCompetitionUtils.ts +8 -8
  435. package/src/utils/promotionBlastUtils.ts +4 -4
  436. package/src/utils/qrCodeUtils.ts +3 -3
  437. package/src/utils/recurrenceUtils.ts +33 -5
  438. package/src/utils/reputationUtils.ts +3 -3
  439. package/src/utils/reviewDimensionUtils.ts +2 -2
  440. package/src/utils/service/__tests__/billingCapUtils.test.ts +3 -3
  441. package/src/utils/service/__tests__/eventPromoterPhase3.test.ts +1 -1
  442. package/src/utils/service/__tests__/eventPromoterUtils.test.ts +1 -1
  443. package/src/utils/service/__tests__/frontendServiceBookingUtils.test.ts +2 -2
  444. package/src/utils/service/__tests__/serviceBookingExposureUtils.test.ts +1 -1
  445. package/src/utils/service/__tests__/serviceBookingStatusUtils.test.ts +2 -2
  446. package/src/utils/service/__tests__/serviceRateUtils.test.ts +6 -6
  447. package/src/utils/service/apiServiceBookingApiUtils.ts +1 -1
  448. package/src/utils/service/billingCapUtils.ts +5 -5
  449. package/src/utils/service/cancellationPolicyRefundResolver.ts +1 -1
  450. package/src/utils/service/eventPromoterUtils.ts +27 -27
  451. package/src/utils/service/foodAndBeverageQuote.ts +8 -8
  452. package/src/utils/service/offerAllowListUtils.ts +1 -1
  453. package/src/utils/service/offerComparisonUtils.ts +8 -8
  454. package/src/utils/service/serviceBookingExposureUtils.ts +8 -8
  455. package/src/utils/service/serviceBookingTypes.ts +2 -2
  456. package/src/utils/service/serviceFeaturedSortUtils.ts +2 -2
  457. package/src/utils/service/serviceListingMediaUtils.ts +2 -2
  458. package/src/utils/service/serviceUtils.ts +2 -2
  459. package/src/utils/service/unifiedPricingResolver.ts +5 -5
  460. package/src/utils/service/venueSettlementUtils.ts +3 -3
  461. package/src/utils/service/volunteerCompensationUtils.ts +3 -3
  462. package/src/utils/slugUtils.ts +1 -1
  463. package/src/utils/ticketPrintPostageUtils.ts +5 -5
  464. package/src/utils/ticketTierSchedule.ts +4 -4
  465. package/src/utils/trustScoreUtils.ts +1 -1
  466. package/src/utils/urlUtils.ts +2 -2
  467. package/src/utils/userUtils.ts +4 -4
  468. package/src/utils/venueLoyalty/__tests__/eligibilityUtils.test.ts +1 -1
  469. package/src/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.ts +1 -1
  470. package/src/utils/venueLoyalty/redemptionCodeUtils.ts +3 -3
  471. package/src/venueLoyaltyRedemption.ts +2 -2
  472. package/src/venueMatch.ts +4 -4
@@ -2,14 +2,14 @@
2
2
  * Section heading copy for the homepage rows and `/category/:bashType` pages.
3
3
  *
4
4
  * Two input shapes need to coexist:
5
- * 1. `BashEventType` enum values (e.g. "ComedyShow", "Rave") — these have
5
+ * 1. `BashEventType` enum values (e.g. "ComedyShow", "Rave"). These have
6
6
  * a singular label in `BashEventTypeToString` and get pluralized via
7
7
  * explicit rules in `pluralizeBashEventSingularLabel`.
8
8
  * 2. Free-text section keys persisted by scrapers as `bashEvent.eventType`
9
- * strings that don't exist in the enum — for example
9
+ * strings that don't exist in the enum. For example
10
10
  * `scrapeInsomniacToBash.mjs` defaults to `"Raves"` and
11
11
  * `wiseguysComedyScraper.mjs` writes `"Comedy"`. These are already
12
- * meaningful as headings and must be returned verbatim — never with
12
+ * meaningful as headings and must be returned verbatim. Never with
13
13
  * a `" bashes"` suffix tacked on.
14
14
  */
15
15
  import { BashEventType } from "@prisma/client";
@@ -211,7 +211,7 @@ describe("definitions helpers", () => {
211
211
  expect(hasSensingIntuitionOverlap("ENFP", "INTJ")).toBe(true);
212
212
  expect(hasSensingIntuitionOverlap("ESFP", "INTJ")).toBe(false);
213
213
  expect(personalityOverlapHint("ENFP", "INTJ")).toBe(
214
- "You both picked N — good icebreaker."
214
+ "You both picked N. Good icebreaker."
215
215
  );
216
216
  expect(isLocusOfControlId("internal")).toBe(true);
217
217
  expect(isLocusOfControlId("random")).toBe(false);
@@ -85,7 +85,7 @@ describe("formatNotableVenueEntryLine", () => {
85
85
  isFavorite: true,
86
86
  reasonTags: ["GreatSound", "ProStaff"],
87
87
  })
88
- ).toBe("Main Room ★ — Great sound · Pro staff / crew");
88
+ ).toBe("Main Room ★. Great sound · Pro staff / crew");
89
89
  });
90
90
 
91
91
  it("includes other note when Other tag selected", () => {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * hostCrmCrowdPulse — horizon classification for Crowd Pulse / My Bashes.
2
+ * hostCrmCrowdPulse. Horizon classification for Crowd Pulse / My Bashes.
3
3
  */
4
4
  import { describe, expect, test } from "@jest/globals";
5
5
 
@@ -282,14 +282,14 @@ describe("HOST_CRM_PRESET_SEGMENTS", () => {
282
282
  HOST_CRM_PRESET_SEGMENTS.find((p) => p.id === "no_show")?.rules
283
283
  ).toEqual({ noShow: true });
284
284
  // last3Events is resolved at query time (host's most recently ended
285
- // events) rather than static rules — see filterHostCrmAudience.
285
+ // events) rather than static rules. See filterHostCrmAudience.
286
286
  expect(
287
287
  HOST_CRM_PRESET_SEGMENTS.find((p) => p.id === "last3Events")?.rules
288
288
  ).toEqual({});
289
289
  });
290
290
  });
291
291
 
292
- describe("applyHostCrmSegmentRules — behavioral + spend rules", () => {
292
+ describe("applyHostCrmSegmentRules. Behavioral + spend rules", () => {
293
293
  it("filters by minTotalSpendCents, noShow, and the behavioral flags", () => {
294
294
  const audience = [
295
295
  member({ userId: "spender", totalSpendCents: 50000 }),
@@ -1,5 +1,5 @@
1
1
  /**
2
- * hostPromoter — kind/subtype mapping, hireable guards, deep links, influencer tiers.
2
+ * hostPromoter. Kind/subtype mapping, hireable guards, deep links, influencer tiers.
3
3
  */
4
4
  import { describe, expect, test } from "@jest/globals";
5
5
  import {
@@ -13,7 +13,7 @@ describe("influencerAudience", () => {
13
13
 
14
14
  it("formats tier with follower band", () => {
15
15
  expect(formatInfluencerAudienceTier("Micro")).toBe(
16
- "Micro (10K–100K followers)"
16
+ "Micro (10K. 100K followers)"
17
17
  );
18
18
  });
19
19
 
@@ -1,10 +1,10 @@
1
1
  /**
2
- * bash-common promoterCompetitionUtils — pure function tests.
2
+ * bash-common promoterCompetitionUtils. Pure function tests.
3
3
  *
4
4
  * Covers: formatPromoterRewardLabel, computePromoterCompetitionEconomics,
5
5
  * suggestPromoterSalesGoal, getPromoterReputationLabel.
6
6
  *
7
- * No mocks needed — all functions are side-effect free.
7
+ * No mocks needed. All functions are side-effect free.
8
8
  */
9
9
  import {
10
10
  formatPromoterRewardLabel,
@@ -170,7 +170,7 @@ describe("computePromoterCompetitionEconomics (bash-common)", () => {
170
170
  expect(additive.maxCashRewardExposureCents).toBe(15500 + 20000);
171
171
  });
172
172
 
173
- it("effectiveAcquisitionCostPct is expressed as a 0–100 percentage rounded to 1 decimal", () => {
173
+ it("effectiveAcquisitionCostPct is expressed as a 0 to 100 percentage rounded to 1 decimal", () => {
174
174
  // 10000 / 400000 = 0.025 → × 1000 = 25 → round → 25 → /10 = 2.5
175
175
  const result = computePromoterCompetitionEconomics({
176
176
  ticketPriceCents: 4000,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * parseScenePulseScope — city default, invalid → null.
2
+ * parseScenePulseScope. City default, invalid → null.
3
3
  */
4
4
  import { describe, expect, test } from "@jest/globals";
5
5
 
@@ -33,7 +33,7 @@ describe("seat location display", () => {
33
33
  const loc = formatTierSeatingArea(map, ["s1", "s2", "s3"]);
34
34
  expect(loc?.section).toBe("Orchestra");
35
35
  expect(loc?.line).toMatch(/Orchestra/);
36
- expect(loc?.line).toMatch(/Rows A–B/);
36
+ expect(loc?.line).toMatch(/Rows A to B/);
37
37
  expect(isSeatMapDocument(map)).toBe(true);
38
38
  });
39
39
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Ticket admission helpers — paid vs pay-at-door state.
2
+ * Ticket admission helpers. Paid vs pay-at-door state.
3
3
  */
4
4
 
5
5
  import { describe, expect, test } from "@jest/globals";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Event access screening — shared status values for API + app.
2
+ * Event access screening. Shared status values for API + app.
3
3
  *
4
4
  * Simple "Request access" (a note + host approve) is only for events that
5
5
  * are not using the Application funnel. Application is the richer gate.
package/src/aiApproval.ts CHANGED
@@ -13,7 +13,7 @@ import type { AiApprovalVerdict } from "@prisma/client";
13
13
  /**
14
14
  * Each criterion the model grades on.
15
15
  *
16
- * Keep this list short and stable — it controls the persisted JSON shape, the prompt
16
+ * Keep this list short and stable. It controls the persisted JSON shape, the prompt
17
17
  * the model sees, and the badges the admin UI renders. Adding a new criterion is a
18
18
  * schema change (existing rows will be missing it).
19
19
  */
@@ -27,7 +27,7 @@ export const AI_APPROVAL_CRITERION_KEYS = [
27
27
  export type AiApprovalCriterionKey = (typeof AI_APPROVAL_CRITERION_KEYS)[number];
28
28
 
29
29
  /**
30
- * Display labels for criteria — used in the admin queue and any host-facing breakdown.
30
+ * Display labels for criteria. Used in the admin queue and any host-facing breakdown.
31
31
  * Keep keys exhaustive against `AiApprovalCriterionKey` (compiler will yell if drift).
32
32
  */
33
33
  export const AiApprovalCriterionLabel: Record<AiApprovalCriterionKey, string> = {
@@ -65,7 +65,7 @@ export interface AiApprovalReasons {
65
65
  /**
66
66
  * Runtime values for the Prisma `AiApprovalVerdict` enum.
67
67
  *
68
- * Browser code (bash-app) cannot rely on `@prisma/client`'s runtime enum exports — the
68
+ * Browser code (bash-app) cannot rely on `@prisma/client`'s runtime enum exports. The
69
69
  * package's `browser` resolution doesn't reliably surface them when imported transitively
70
70
  * via `@bash-app/bash-common`. So we mirror the enum here as a plain string-keyed object
71
71
  * and `satisfies Record<AiApprovalVerdict, AiApprovalVerdict>` to guarantee at compile
@@ -105,7 +105,7 @@ export const APPLE_MEMBERSHIP_PRODUCTS: readonly AppleMembershipProduct[] =
105
105
  return [monthly, yearly, lifetime];
106
106
  });
107
107
 
108
- /** Listing seat subscriptions — dollars in SERVICE_SUBSCRIPTION_TIERS → cents. */
108
+ /** Listing seat subscriptions. Dollars in SERVICE_SUBSCRIPTION_TIERS → cents. */
109
109
  export const APPLE_LISTING_PRODUCTS: readonly AppleListingProduct[] = (
110
110
  ["Ally", "Partner", "Patron"] as const
111
111
  ).map((tier) => ({
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Host application funnel — shared evaluation for API + app.
2
+ * Host application funnel. Shared evaluation for API + app.
3
3
  * Choice questions can auto-deny or flag a mismatch; free text is review-only.
4
4
  *
5
5
  * Later Posh gaps (tracked, not in this module): bash-page screened badge /
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Competitor audience import — shared types, CSV header maps, and fee comparison math.
2
+ * Competitor audience import. Shared types, CSV header maps, and fee comparison math.
3
3
  * Adapters normalize Eventbrite / Luma / Partiful / Posh / generic CSVs into one row shape.
4
4
  */
5
5
 
@@ -55,7 +55,7 @@ export const IMPORT_BATCH_SIZE = 500;
55
55
  /** Partiful's published June 2026 example: guest pays $112 for a $100 organizer price. */
56
56
  export const PARTIFUL_PUBLISHED_GUEST_MULTIPLIER = 112 / 100;
57
57
  export const PARTIFUL_FEE_EXAMPLE_CITATION =
58
- "Based on Partiful's published June 2026 example — their fee varies by event.";
58
+ "Based on Partiful's published June 2026 example. Their fee varies by event.";
59
59
 
60
60
  export type TicketFeeCompareInput = {
61
61
  ticketPriceCents: number;
@@ -56,7 +56,7 @@ export const BASH_EVENT_CANCELLATION_PRESETS: readonly BashEventCancellationPres
56
56
  },
57
57
  {
58
58
  id: "flexible_1_day",
59
- name: "Flexible — 24 hours",
59
+ name: "Flexible. 24 hours",
60
60
  summary: "Full refund until 24 hours before start.",
61
61
  displayText:
62
62
  "Full refund if you cancel at least 24 hours before the event starts. No refunds after that.",
@@ -64,7 +64,7 @@ export const BASH_EVENT_CANCELLATION_PRESETS: readonly BashEventCancellationPres
64
64
  },
65
65
  {
66
66
  id: "flexible_7_day",
67
- name: "Standard — 7 days",
67
+ name: "Standard. 7 days",
68
68
  summary: "Full refund until 7 days before start.",
69
69
  displayText:
70
70
  "Full refund if you cancel at least 7 days before the event starts. No refunds after that.",
@@ -72,7 +72,7 @@ export const BASH_EVENT_CANCELLATION_PRESETS: readonly BashEventCancellationPres
72
72
  },
73
73
  {
74
74
  id: "flexible_30_day",
75
- name: "Strict — 30 days",
75
+ name: "Strict. 30 days",
76
76
  summary: "Full refund until 30 days before start.",
77
77
  displayText:
78
78
  "Full refund if you cancel at least 30 days before the event starts. No refunds after that.",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Event-level budget approval requests — plan sign-off and pre-plan cap asks.
2
+ * Event-level budget approval requests. Plan sign-off and pre-plan cap asks.
3
3
  * Shared types and validation for api + bash-app.
4
4
  */
5
5
 
package/src/causeTags.ts CHANGED
@@ -32,7 +32,7 @@ export const CAUSE_TAGS: readonly CauseTag[] = [
32
32
  {
33
33
  id: "neighborhood",
34
34
  label: "Neighborhood / block",
35
- bashSeed: "This bash is for the neighbors — building our block crew.",
35
+ bashSeed: "This bash is for the neighbors. Building our block crew.",
36
36
  },
37
37
  {
38
38
  id: "mutual_aid",
@@ -47,7 +47,7 @@ export const CAUSE_TAGS: readonly CauseTag[] = [
47
47
  {
48
48
  id: "music_scene",
49
49
  label: "Music scene",
50
- bashSeed: "Built for the local music scene — come through for the sound.",
50
+ bashSeed: "Built for the local music scene. Come through for the sound.",
51
51
  },
52
52
  {
53
53
  id: "youth",
@@ -57,7 +57,7 @@ export const CAUSE_TAGS: readonly CauseTag[] = [
57
57
  {
58
58
  id: "lgbtq",
59
59
  label: "LGBTQ+",
60
- bashSeed: "A queer-friendly bash — everyone who shows respect is welcome.",
60
+ bashSeed: "A queer-friendly bash. Everyone who shows respect is welcome.",
61
61
  },
62
62
  {
63
63
  id: "environment",
@@ -97,7 +97,7 @@ export const CAUSE_TAGS: readonly CauseTag[] = [
97
97
  {
98
98
  id: "civic",
99
99
  label: "Civic / local politics",
100
- bashSeed: "A civic hang — talk, organize, and show up for our city.",
100
+ bashSeed: "A civic hang. Talk, organize, and show up for our city.",
101
101
  },
102
102
  {
103
103
  id: "fundraiser",
@@ -30,7 +30,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
30
30
  {
31
31
  id: "audience-favorite-dish",
32
32
  title: "Audience favorite dish",
33
- description: "Potluck or tasting event — guests vote for their favorite plate.",
33
+ description: "Potluck or tasting event. Guests vote for their favorite plate.",
34
34
  competitionType: CompetitionType.AUDIENCE_VOTING,
35
35
  subtype: "Best dish (potlucks)",
36
36
  judgingType: JudgingType.AUDIENCE_VOTE,
@@ -57,7 +57,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
57
57
  {
58
58
  id: "best-costume",
59
59
  title: "Best costume contest",
60
- description: "Show off creative costumes — judges or audience pick winners.",
60
+ description: "Show off creative costumes. Judges or audience pick winners.",
61
61
  competitionType: CompetitionType.SKILL,
62
62
  subtype: "Costume contests",
63
63
  judgingType: JudgingType.JUDGES,
@@ -66,7 +66,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
66
66
  {
67
67
  id: "best-dressed",
68
68
  title: "Best dressed",
69
- description: "Formal or themed event — who nailed the look?",
69
+ description: "Formal or themed event. Who nailed the look?",
70
70
  competitionType: CompetitionType.AUDIENCE_VOTING,
71
71
  subtype: "Best dressed",
72
72
  judgingType: JudgingType.AUDIENCE_VOTE,
@@ -75,7 +75,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
75
75
  {
76
76
  id: "bingo-night",
77
77
  title: "Bingo night",
78
- description: "Classic bingo rounds — host calls numbers and tracks winners.",
78
+ description: "Classic bingo rounds. Host calls numbers and tracks winners.",
79
79
  competitionType: CompetitionType.INTERACTIVE,
80
80
  subtype: "Bingo",
81
81
  judgingType: JudgingType.HOST_CHOOSES,
@@ -156,7 +156,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
156
156
  {
157
157
  id: "eating-contest",
158
158
  title: "Eating contest",
159
- description: "Timed eating challenge — fastest or most completed wins.",
159
+ description: "Timed eating challenge. Fastest or most completed wins.",
160
160
  competitionType: CompetitionType.FOOD_DRINK,
161
161
  subtype: "Eating competitions (hot wings, donuts, pie, etc.)",
162
162
  judgingType: JudgingType.METRICS,
@@ -192,7 +192,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
192
192
  {
193
193
  id: "hashtag-photo-contest",
194
194
  title: "Hashtag photo contest",
195
- description: "Best photo posted with the event hashtag — host or crowd picks.",
195
+ description: "Best photo posted with the event hashtag. Host or crowd picks.",
196
196
  competitionType: CompetitionType.SOCIAL_MEDIA,
197
197
  subtype: "Best photo posted with event hashtag",
198
198
  judgingType: JudgingType.AUDIENCE_VOTE,
@@ -219,7 +219,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
219
219
  {
220
220
  id: "minute-to-win-it",
221
221
  title: "Minute to Win It games",
222
- description: "Quick challenge stations — host tracks fastest times.",
222
+ description: "Quick challenge stations. Host tracks fastest times.",
223
223
  competitionType: CompetitionType.INTERACTIVE,
224
224
  subtype: "Minute-to-Win-It style games",
225
225
  judgingType: JudgingType.METRICS,
@@ -246,7 +246,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
246
246
  {
247
247
  id: "obstacle-course",
248
248
  title: "Obstacle course race",
249
- description: "Timed runs through obstacles — fastest time wins.",
249
+ description: "Timed runs through obstacles. Fastest time wins.",
250
250
  competitionType: CompetitionType.PHYSICAL,
251
251
  subtype: "Obstacle courses",
252
252
  judgingType: JudgingType.METRICS,
@@ -282,7 +282,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
282
282
  {
283
283
  id: "relay-race",
284
284
  title: "Relay race",
285
- description: "Team relay on the field — first team across wins.",
285
+ description: "Team relay on the field. First team across wins.",
286
286
  competitionType: CompetitionType.PHYSICAL,
287
287
  subtype: "Relay races",
288
288
  judgingType: JudgingType.METRICS,
@@ -291,7 +291,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
291
291
  {
292
292
  id: "scavenger-hunt",
293
293
  title: "Scavenger hunt",
294
- description: "Teams find clues around the venue — first to finish wins.",
294
+ description: "Teams find clues around the venue. First to finish wins.",
295
295
  competitionType: CompetitionType.PHYSICAL,
296
296
  subtype: "Scavenger hunts",
297
297
  judgingType: JudgingType.METRICS,
@@ -336,7 +336,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
336
336
  {
337
337
  id: "treasure-hunt",
338
338
  title: "Treasure hunt",
339
- description: "Follow clues to a hidden prize — host verifies first find.",
339
+ description: "Follow clues to a hidden prize. Host verifies first find.",
340
340
  competitionType: CompetitionType.RANDOMIZED,
341
341
  subtype: "Treasure hunts",
342
342
  judgingType: JudgingType.METRICS,
@@ -354,7 +354,7 @@ export const COMPETITION_IDEAS: CompetitionIdea[] = [
354
354
  {
355
355
  id: "tug-of-war",
356
356
  title: "Tug of war",
357
- description: "Team bracket on the rope — last team standing wins.",
357
+ description: "Team bracket on the rope. Last team standing wins.",
358
358
  competitionType: CompetitionType.PHYSICAL,
359
359
  subtype: "Tug of war",
360
360
  judgingType: JudgingType.BRACKET_TOURNAMENT,
@@ -51,7 +51,7 @@ export function assertAllowedJudgingTypeForNew(
51
51
  export const DEFAULT_COMPETITION_JUDGING_TYPE: JudgingType =
52
52
  JudgingType.HOST_CHOOSES;
53
53
 
54
- /** Single source of truth for judging-type copy — shared by the host wizard and guest-facing display. */
54
+ /** Single source of truth for judging-type copy. Shared by the host wizard and guest-facing display. */
55
55
  export const JUDGING_TYPE_LABELS: Record<JudgingType, string> = {
56
56
  [JudgingType.RANDOM_DRAW]: "Drawing (legacy)",
57
57
  [JudgingType.HIGHEST_BID]: "Highest Bid (legacy)",