@bash-app/bash-common 30.423.0 → 30.425.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.
- package/dist/__tests__/agePolicy.test.js +6 -6
- package/dist/__tests__/agePolicy.test.js.map +1 -1
- package/dist/__tests__/bashEventCancellationPolicy.test.js +2 -2
- package/dist/__tests__/bashEventCancellationPolicy.test.js.map +1 -1
- package/dist/__tests__/bashSectionTitleForBashType.test.js +3 -3
- package/dist/__tests__/definitionsHelpers.test.js +1 -1
- package/dist/__tests__/definitionsHelpers.test.js.map +1 -1
- package/dist/__tests__/entertainmentNotableVenues.test.js +1 -1
- package/dist/__tests__/entertainmentNotableVenues.test.js.map +1 -1
- package/dist/__tests__/hostCrmCrowdPulse.test.js +1 -1
- package/dist/__tests__/hostCrmSegments.test.js +2 -2
- package/dist/__tests__/hostCrmSegments.test.js.map +1 -1
- package/dist/__tests__/hostPromoter.test.js +1 -1
- package/dist/__tests__/influencerAudience.test.js +1 -1
- package/dist/__tests__/influencerAudience.test.js.map +1 -1
- package/dist/__tests__/promoterCompetitionUtils.test.js +3 -3
- package/dist/__tests__/promoterCompetitionUtils.test.js.map +1 -1
- package/dist/__tests__/scenePulse.test.js +1 -1
- package/dist/__tests__/seatMap.test.js +1 -1
- package/dist/__tests__/seatMap.test.js.map +1 -1
- package/dist/__tests__/ticketAdmission.test.d.ts +1 -1
- package/dist/__tests__/ticketAdmission.test.js +1 -1
- package/dist/accessScreening.js +1 -1
- package/dist/aiApproval.d.ts +3 -3
- package/dist/aiApproval.js +3 -3
- package/dist/appleIapProducts.d.ts +1 -1
- package/dist/appleIapProducts.d.ts.map +1 -1
- package/dist/appleIapProducts.js +1 -1
- package/dist/appleIapProducts.js.map +1 -1
- package/dist/applicationFunnel.d.ts +1 -1
- package/dist/applicationFunnel.js +1 -1
- package/dist/audienceImport.d.ts +2 -2
- package/dist/audienceImport.d.ts.map +1 -1
- package/dist/audienceImport.js +2 -2
- package/dist/audienceImport.js.map +1 -1
- package/dist/bashEventCancellationPolicy.js +3 -3
- package/dist/bashEventCancellationPolicy.js.map +1 -1
- package/dist/budgetApproval.d.ts +1 -1
- package/dist/budgetApproval.js +1 -1
- package/dist/causeTags.js +4 -4
- package/dist/causeTags.js.map +1 -1
- package/dist/competitionIdeas.js +12 -12
- package/dist/competitionIdeas.js.map +1 -1
- package/dist/competitionValidation.d.ts +1 -1
- package/dist/competitionValidation.d.ts.map +1 -1
- package/dist/competitionValidation.js +1 -1
- package/dist/competitionValidation.js.map +1 -1
- package/dist/definitions.d.ts +35 -35
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +30 -30
- package/dist/definitions.js.map +1 -1
- package/dist/discoveryScope.d.ts +2 -2
- package/dist/discoveryScope.js +2 -2
- package/dist/entertainmentNotableVenues.js +1 -1
- package/dist/entertainmentNotableVenues.js.map +1 -1
- package/dist/extendedSchemas.d.ts +150 -150
- package/dist/extendedSchemas.d.ts.map +1 -1
- package/dist/extendedSchemas.js +11 -11
- package/dist/extendedSchemas.js.map +1 -1
- package/dist/fundingMeter.d.ts +1 -1
- package/dist/fundingMeter.js +1 -1
- package/dist/giveaway.d.ts +2 -2
- package/dist/giveaway.d.ts.map +1 -1
- package/dist/giveaway.js +2 -2
- package/dist/giveaway.js.map +1 -1
- package/dist/guestPartySize.js +3 -3
- package/dist/guestPartySize.js.map +1 -1
- package/dist/home.d.ts +1 -1
- package/dist/homepageSyntheticRows.d.ts +4 -4
- package/dist/homepageSyntheticRows.d.ts.map +1 -1
- package/dist/homepageSyntheticRows.js +3 -4
- package/dist/homepageSyntheticRows.js.map +1 -1
- package/dist/hostCrmAutomation.d.ts +11 -11
- package/dist/hostCrmAutomation.d.ts.map +1 -1
- package/dist/hostCrmAutomation.js +9 -9
- package/dist/hostCrmAutomation.js.map +1 -1
- package/dist/hostCrmConstants.d.ts +1 -1
- package/dist/hostCrmConstants.d.ts.map +1 -1
- package/dist/hostCrmConstants.js +1 -1
- package/dist/hostCrmConstants.js.map +1 -1
- package/dist/hostCrmCrowdPulse.d.ts +2 -2
- package/dist/hostCrmCrowdPulse.d.ts.map +1 -1
- package/dist/hostCrmCrowdPulse.js +1 -1
- package/dist/hostCrmInsights.d.ts +3 -3
- package/dist/hostCrmLastBashProof.d.ts +2 -2
- package/dist/hostCrmLastBashProof.d.ts.map +1 -1
- package/dist/hostCrmLastBashProof.js +1 -1
- package/dist/hostCrmSegments.d.ts +10 -10
- package/dist/hostCrmSegments.d.ts.map +1 -1
- package/dist/hostCrmSegments.js +2 -2
- package/dist/hostCrmSegments.js.map +1 -1
- package/dist/hostPromoter.d.ts +1 -1
- package/dist/hostPromoter.d.ts.map +1 -1
- package/dist/hostPromoter.js +1 -1
- package/dist/hostPromoter.js.map +1 -1
- package/dist/icebreakerPrompts.js +2 -2
- package/dist/icebreakerPrompts.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/influencerAudience.js +3 -3
- package/dist/influencerAudience.js.map +1 -1
- package/dist/liveActivity/liveActivityTypes.d.ts +10 -10
- package/dist/liveActivity/liveActivityTypes.d.ts.map +1 -1
- package/dist/liveActivity/liveActivityTypes.js +2 -2
- package/dist/liveActivity/liveActivityTypes.js.map +1 -1
- package/dist/locationShare.d.ts +2 -2
- package/dist/locationShare.d.ts.map +1 -1
- package/dist/locationShare.js +2 -2
- package/dist/locationShare.js.map +1 -1
- package/dist/membershipDefinitions.d.ts +5 -5
- package/dist/membershipDefinitions.d.ts.map +1 -1
- package/dist/membershipDefinitions.js +21 -21
- package/dist/membershipDefinitions.js.map +1 -1
- package/dist/mirroredPrismaEnums.d.ts +6 -6
- package/dist/mirroredPrismaEnums.js +6 -6
- package/dist/onSaleCapabilityRecommendations.d.ts +1 -1
- package/dist/onSaleCapabilityRecommendations.js +1 -1
- package/dist/partnerStoreTypes.d.ts +1 -1
- package/dist/partnerStoreTypes.d.ts.map +1 -1
- package/dist/productLaunch.d.ts +2 -2
- package/dist/productLaunch.d.ts.map +1 -1
- package/dist/productLaunch.js +2 -2
- package/dist/productLaunch.js.map +1 -1
- package/dist/relationshipHealth.d.ts +3 -3
- package/dist/relationshipHealth.d.ts.map +1 -1
- package/dist/relationshipHealth.js +3 -3
- package/dist/relationshipHealth.js.map +1 -1
- package/dist/scenePulse.d.ts +2 -2
- package/dist/scenePulse.js +1 -1
- package/dist/seatMap.d.ts +1 -1
- package/dist/seatMap.d.ts.map +1 -1
- package/dist/seatMap.js +2 -2
- package/dist/seatMap.js.map +1 -1
- package/dist/seatMapBestAvailable.js +2 -2
- package/dist/seatMapBestAvailable.js.map +1 -1
- package/dist/serviceTypeLabels.d.ts +3 -3
- package/dist/serviceTypeLabels.js +3 -3
- package/dist/sideQuestIdeas.js +8 -8
- package/dist/sideQuestIdeas.js.map +1 -1
- package/dist/sideQuestTypes.js +2 -2
- package/dist/sideQuestTypes.js.map +1 -1
- package/dist/sms/smsTemplates.d.ts +1 -1
- package/dist/sms/smsTemplates.js +1 -1
- package/dist/stripeListingSubscriptionMessages.d.ts +1 -1
- package/dist/stripeListingSubscriptionMessages.js +1 -1
- package/dist/targetAudienceLabels.d.ts +1 -1
- package/dist/targetAudienceLabels.js +1 -1
- package/dist/ticketBnplPaymentMethods.d.ts +3 -3
- package/dist/ticketBnplPaymentMethods.d.ts.map +1 -1
- package/dist/ticketBnplPaymentMethods.js +2 -2
- package/dist/userReportTypes.d.ts +1 -1
- package/dist/userReportTypes.d.ts.map +1 -1
- package/dist/userReportTypes.js +1 -1
- package/dist/userReportTypes.js.map +1 -1
- package/dist/userTaste.d.ts +2 -2
- package/dist/userTaste.d.ts.map +1 -1
- package/dist/userTaste.js +2 -2
- package/dist/userTaste.js.map +1 -1
- package/dist/utils/__tests__/badgeUtils.test.js +5 -5
- package/dist/utils/__tests__/badgeUtils.test.js.map +1 -1
- package/dist/utils/__tests__/bashPointsPaymentUtils.test.js +4 -4
- package/dist/utils/__tests__/bashPointsPaymentUtils.test.js.map +1 -1
- package/dist/utils/__tests__/contentFilterUtils.test.js +23 -23
- package/dist/utils/__tests__/contentFilterUtils.test.js.map +1 -1
- package/dist/utils/__tests__/dateTimeUtils.test.js +1 -1
- package/dist/utils/__tests__/displayDateUtils.test.js +1 -1
- package/dist/utils/__tests__/flyerUtils.test.js +1 -1
- package/dist/utils/__tests__/flyerUtils.test.js.map +1 -1
- package/dist/utils/__tests__/getBackendHost.test.js +8 -8
- package/dist/utils/__tests__/getBackendHost.test.js.map +1 -1
- package/dist/utils/__tests__/getFrontendHost.native.test.js +1 -1
- package/dist/utils/__tests__/getFrontendHost.native.test.js.map +1 -1
- package/dist/utils/__tests__/getFrontendHost.test.js +9 -9
- package/dist/utils/__tests__/getFrontendHost.test.js.map +1 -1
- package/dist/utils/__tests__/organizationEntitlements.test.js +1 -1
- package/dist/utils/__tests__/organizationEntitlements.test.js.map +1 -1
- package/dist/utils/__tests__/paymentUtils.test.js +7 -7
- package/dist/utils/__tests__/paymentUtils.test.js.map +1 -1
- package/dist/utils/__tests__/promoCodesUtils.test.js +2 -2
- package/dist/utils/__tests__/promoCodesUtils.test.js.map +1 -1
- package/dist/utils/__tests__/qrCodeUtils.test.js +4 -4
- package/dist/utils/__tests__/qrCodeUtils.test.js.map +1 -1
- package/dist/utils/__tests__/reviewDimensionUtils.test.js +1 -1
- package/dist/utils/__tests__/reviewDimensionUtils.test.js.map +1 -1
- package/dist/utils/__tests__/stripeAccountUtils.test.js +1 -1
- package/dist/utils/__tests__/ticketPrintPostageUtils.test.js +1 -1
- package/dist/utils/__tests__/ticketPrintPostageUtils.test.js.map +1 -1
- package/dist/utils/addressUtils.js +1 -1
- package/dist/utils/addressUtils.js.map +1 -1
- package/dist/utils/apiUtils.js +1 -1
- package/dist/utils/apiUtils.js.map +1 -1
- package/dist/utils/birthdayExperienceQuality.d.ts +1 -1
- package/dist/utils/birthdayExperienceQuality.js +4 -4
- package/dist/utils/birthdayExperienceQuality.js.map +1 -1
- package/dist/utils/blogUtils.d.ts +1 -1
- package/dist/utils/blogUtils.d.ts.map +1 -1
- package/dist/utils/blogUtils.js +2 -2
- package/dist/utils/blogUtils.js.map +1 -1
- package/dist/utils/discountEngine/discountCalculator.js +1 -1
- package/dist/utils/discountEngine/discountCalculator.js.map +1 -1
- package/dist/utils/displayDateUtils.d.ts +2 -2
- package/dist/utils/displayDateUtils.d.ts.map +1 -1
- package/dist/utils/displayDateUtils.js +2 -2
- package/dist/utils/displayDateUtils.js.map +1 -1
- package/dist/utils/entertainmentDrawFit.d.ts +1 -1
- package/dist/utils/entertainmentDrawFit.js +1 -1
- package/dist/utils/eventTimezoneIana.d.ts +1 -1
- package/dist/utils/eventTimezoneIana.js +4 -4
- package/dist/utils/eventTimezoneIana.js.map +1 -1
- package/dist/utils/flyerUtils.d.ts +2 -2
- package/dist/utils/flyerUtils.d.ts.map +1 -1
- package/dist/utils/flyerUtils.js +3 -3
- package/dist/utils/flyerUtils.js.map +1 -1
- package/dist/utils/groupTicketCartUtils.js +1 -1
- package/dist/utils/groupTicketCartUtils.js.map +1 -1
- package/dist/utils/guestSurface.d.ts +2 -2
- package/dist/utils/guestSurface.d.ts.map +1 -1
- package/dist/utils/guestSurface.js +4 -4
- package/dist/utils/guestSurface.js.map +1 -1
- package/dist/utils/lobFlyerUtils.d.ts +2 -2
- package/dist/utils/lobFlyerUtils.js +2 -2
- package/dist/utils/luxonUtils.d.ts +4 -4
- package/dist/utils/luxonUtils.js +5 -5
- package/dist/utils/luxonUtils.js.map +1 -1
- package/dist/utils/moodTrackUtils.d.ts +1 -1
- package/dist/utils/moodTrackUtils.js +1 -1
- package/dist/utils/nonprofitUtils.d.ts +3 -3
- package/dist/utils/nonprofitUtils.js +2 -2
- package/dist/utils/orgPromotionalPackageUtils.d.ts +1 -1
- package/dist/utils/orgPromotionalPackageUtils.js +1 -1
- package/dist/utils/organizationEntitlements.d.ts +4 -4
- package/dist/utils/organizationEntitlements.js +3 -3
- package/dist/utils/paymentUtils.d.ts +10 -10
- package/dist/utils/paymentUtils.js +9 -9
- package/dist/utils/promoterCompetitionUtils.d.ts +4 -4
- package/dist/utils/promoterCompetitionUtils.d.ts.map +1 -1
- package/dist/utils/promoterCompetitionUtils.js +7 -7
- package/dist/utils/promoterCompetitionUtils.js.map +1 -1
- package/dist/utils/promotionBlastUtils.d.ts +1 -1
- package/dist/utils/promotionBlastUtils.js +4 -4
- package/dist/utils/promotionBlastUtils.js.map +1 -1
- package/dist/utils/qrCodeUtils.d.ts +3 -3
- package/dist/utils/qrCodeUtils.d.ts.map +1 -1
- package/dist/utils/qrCodeUtils.js +3 -3
- package/dist/utils/qrCodeUtils.js.map +1 -1
- package/dist/utils/recurrenceUtils.d.ts +1 -1
- package/dist/utils/recurrenceUtils.js +1 -1
- package/dist/utils/reputationUtils.d.ts +2 -2
- package/dist/utils/reputationUtils.d.ts.map +1 -1
- package/dist/utils/reputationUtils.js +1 -1
- package/dist/utils/reputationUtils.js.map +1 -1
- package/dist/utils/reviewDimensionUtils.d.ts +2 -2
- package/dist/utils/reviewDimensionUtils.d.ts.map +1 -1
- package/dist/utils/reviewDimensionUtils.js +1 -1
- package/dist/utils/reviewDimensionUtils.js.map +1 -1
- package/dist/utils/service/__tests__/billingCapUtils.test.js +3 -3
- package/dist/utils/service/__tests__/billingCapUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/eventPromoterPhase3.test.js +1 -1
- package/dist/utils/service/__tests__/eventPromoterUtils.test.js +1 -1
- package/dist/utils/service/__tests__/eventPromoterUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/frontendServiceBookingUtils.test.js +2 -2
- package/dist/utils/service/__tests__/frontendServiceBookingUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js +1 -1
- package/dist/utils/service/__tests__/serviceBookingExposureUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js +2 -2
- package/dist/utils/service/__tests__/serviceBookingStatusUtils.test.js.map +1 -1
- package/dist/utils/service/__tests__/serviceRateUtils.test.js +6 -6
- package/dist/utils/service/__tests__/serviceRateUtils.test.js.map +1 -1
- package/dist/utils/service/apiServiceBookingApiUtils.js +1 -1
- package/dist/utils/service/apiServiceBookingApiUtils.js.map +1 -1
- package/dist/utils/service/billingCapUtils.d.ts +5 -5
- package/dist/utils/service/billingCapUtils.js +5 -5
- package/dist/utils/service/cancellationPolicyRefundResolver.d.ts +1 -1
- package/dist/utils/service/cancellationPolicyRefundResolver.d.ts.map +1 -1
- package/dist/utils/service/eventPromoterUtils.d.ts +17 -17
- package/dist/utils/service/eventPromoterUtils.d.ts.map +1 -1
- package/dist/utils/service/eventPromoterUtils.js +11 -11
- package/dist/utils/service/eventPromoterUtils.js.map +1 -1
- package/dist/utils/service/foodAndBeverageQuote.d.ts +8 -8
- package/dist/utils/service/foodAndBeverageQuote.js +8 -8
- package/dist/utils/service/offerAllowListUtils.d.ts +1 -1
- package/dist/utils/service/offerComparisonUtils.d.ts +6 -6
- package/dist/utils/service/offerComparisonUtils.js +2 -2
- package/dist/utils/service/offerComparisonUtils.js.map +1 -1
- package/dist/utils/service/serviceBookingExposureUtils.d.ts +7 -7
- package/dist/utils/service/serviceBookingExposureUtils.js +5 -5
- package/dist/utils/service/serviceBookingExposureUtils.js.map +1 -1
- package/dist/utils/service/serviceFeaturedSortUtils.js +2 -2
- package/dist/utils/service/serviceFeaturedSortUtils.js.map +1 -1
- package/dist/utils/service/serviceListingMediaUtils.d.ts +2 -2
- package/dist/utils/service/serviceListingMediaUtils.d.ts.map +1 -1
- package/dist/utils/service/serviceListingMediaUtils.js +2 -2
- package/dist/utils/service/serviceListingMediaUtils.js.map +1 -1
- package/dist/utils/service/serviceUtils.js +2 -2
- package/dist/utils/service/serviceUtils.js.map +1 -1
- package/dist/utils/service/unifiedPricingResolver.d.ts +5 -5
- package/dist/utils/service/unifiedPricingResolver.d.ts.map +1 -1
- package/dist/utils/service/venueSettlementUtils.d.ts +2 -2
- package/dist/utils/service/venueSettlementUtils.js +3 -3
- package/dist/utils/service/venueSettlementUtils.js.map +1 -1
- package/dist/utils/service/volunteerCompensationUtils.d.ts +2 -2
- package/dist/utils/service/volunteerCompensationUtils.js +1 -1
- package/dist/utils/service/volunteerCompensationUtils.js.map +1 -1
- package/dist/utils/slugUtils.d.ts +1 -1
- package/dist/utils/slugUtils.js +1 -1
- package/dist/utils/ticketPrintPostageUtils.d.ts +4 -4
- package/dist/utils/ticketPrintPostageUtils.js +5 -5
- package/dist/utils/ticketPrintPostageUtils.js.map +1 -1
- package/dist/utils/ticketTierSchedule.d.ts +1 -1
- package/dist/utils/ticketTierSchedule.js +4 -4
- package/dist/utils/ticketTierSchedule.js.map +1 -1
- package/dist/utils/trustScoreUtils.d.ts +1 -1
- package/dist/utils/trustScoreUtils.js +1 -1
- package/dist/utils/urlUtils.d.ts +2 -2
- package/dist/utils/urlUtils.js +2 -2
- package/dist/utils/userUtils.d.ts +4 -4
- package/dist/utils/userUtils.js +3 -3
- package/dist/utils/venueLoyalty/__tests__/eligibilityUtils.test.js +1 -1
- package/dist/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.js +1 -1
- package/dist/utils/venueLoyalty/redemptionCodeUtils.d.ts +3 -3
- package/dist/utils/venueLoyalty/redemptionCodeUtils.js +3 -3
- package/dist/venueLoyaltyRedemption.d.ts +2 -2
- package/dist/venueLoyaltyRedemption.js +1 -1
- package/dist/venueMatch.d.ts +4 -4
- package/dist/venueMatch.d.ts.map +1 -1
- package/dist/venueMatch.js +1 -1
- package/dist/venueMatch.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +2 -0
- package/src/__tests__/agePolicy.test.ts +6 -6
- package/src/__tests__/bashEventCancellationPolicy.test.ts +2 -2
- package/src/__tests__/bashSectionTitleForBashType.test.ts +3 -3
- package/src/__tests__/definitionsHelpers.test.ts +1 -1
- package/src/__tests__/entertainmentNotableVenues.test.ts +1 -1
- package/src/__tests__/hostCrmCrowdPulse.test.ts +1 -1
- package/src/__tests__/hostCrmSegments.test.ts +2 -2
- package/src/__tests__/hostPromoter.test.ts +1 -1
- package/src/__tests__/influencerAudience.test.ts +1 -1
- package/src/__tests__/promoterCompetitionUtils.test.ts +3 -3
- package/src/__tests__/scenePulse.test.ts +1 -1
- package/src/__tests__/seatMap.test.ts +1 -1
- package/src/__tests__/ticketAdmission.test.ts +1 -1
- package/src/accessScreening.ts +1 -1
- package/src/aiApproval.ts +3 -3
- package/src/appleIapProducts.ts +1 -1
- package/src/applicationFunnel.ts +1 -1
- package/src/audienceImport.ts +2 -2
- package/src/bashEventCancellationPolicy.ts +3 -3
- package/src/budgetApproval.ts +1 -1
- package/src/causeTags.ts +4 -4
- package/src/competitionIdeas.ts +12 -12
- package/src/competitionValidation.ts +1 -1
- package/src/definitions.ts +42 -42
- package/src/discoveryScope.ts +2 -2
- package/src/entertainmentNotableVenues.ts +1 -1
- package/src/extendedSchemas.ts +41 -41
- package/src/fundingMeter.ts +1 -1
- package/src/giveaway.ts +2 -2
- package/src/guestPartySize.ts +3 -3
- package/src/home.ts +1 -1
- package/src/homepageSyntheticRows.ts +3 -4
- package/src/hostCrmAutomation.ts +11 -11
- package/src/hostCrmConstants.ts +1 -1
- package/src/hostCrmCrowdPulse.ts +2 -2
- package/src/hostCrmInsights.ts +3 -3
- package/src/hostCrmLastBashProof.ts +2 -2
- package/src/hostCrmSegments.ts +12 -12
- package/src/hostPromoter.ts +1 -1
- package/src/icebreakerPrompts.ts +2 -2
- package/src/index.ts +1 -1
- package/src/influencerAudience.ts +3 -3
- package/src/liveActivity/liveActivityTypes.ts +10 -10
- package/src/locationShare.ts +2 -2
- package/src/membershipDefinitions.ts +21 -21
- package/src/mirroredPrismaEnums.ts +6 -6
- package/src/onSaleCapabilityRecommendations.ts +1 -1
- package/src/partnerStoreTypes.ts +1 -1
- package/src/productLaunch.ts +2 -2
- package/src/relationshipHealth.ts +5 -5
- package/src/scenePulse.ts +2 -2
- package/src/seatMap.ts +3 -3
- package/src/seatMapBestAvailable.ts +2 -2
- package/src/serviceTypeLabels.ts +3 -3
- package/src/sideQuestIdeas.ts +8 -8
- package/src/sideQuestTypes.ts +2 -2
- package/src/sms/smsTemplates.ts +1 -1
- package/src/stripeListingSubscriptionMessages.ts +1 -1
- package/src/targetAudienceLabels.ts +1 -1
- package/src/ticketBnplPaymentMethods.ts +3 -3
- package/src/userReportTypes.ts +1 -1
- package/src/userTaste.ts +2 -2
- package/src/utils/__tests__/badgeUtils.test.ts +5 -5
- package/src/utils/__tests__/bashPointsPaymentUtils.test.ts +4 -4
- package/src/utils/__tests__/contentFilterUtils.test.ts +23 -23
- package/src/utils/__tests__/dateTimeUtils.test.ts +1 -1
- package/src/utils/__tests__/displayDateUtils.test.ts +1 -1
- package/src/utils/__tests__/flyerUtils.test.ts +1 -1
- package/src/utils/__tests__/getBackendHost.test.ts +8 -8
- package/src/utils/__tests__/getFrontendHost.native.test.ts +1 -1
- package/src/utils/__tests__/getFrontendHost.test.ts +9 -9
- package/src/utils/__tests__/organizationEntitlements.test.ts +1 -1
- package/src/utils/__tests__/paymentUtils.test.ts +7 -7
- package/src/utils/__tests__/promoCodesUtils.test.ts +2 -2
- package/src/utils/__tests__/qrCodeUtils.test.ts +4 -4
- package/src/utils/__tests__/reviewDimensionUtils.test.ts +1 -1
- package/src/utils/__tests__/stripeAccountUtils.test.ts +1 -1
- package/src/utils/__tests__/ticketPrintPostageUtils.test.ts +1 -1
- package/src/utils/addressUtils.ts +1 -1
- package/src/utils/apiUtils.ts +1 -1
- package/src/utils/birthdayExperienceQuality.ts +4 -4
- package/src/utils/blogUtils.ts +2 -2
- package/src/utils/discountEngine/discountCalculator.ts +1 -1
- package/src/utils/displayDateUtils.ts +2 -2
- package/src/utils/entertainmentDrawFit.ts +1 -1
- package/src/utils/eventTimezoneIana.ts +4 -4
- package/src/utils/flyerUtils.ts +3 -3
- package/src/utils/groupTicketCartUtils.ts +1 -1
- package/src/utils/guestSurface.ts +5 -5
- package/src/utils/lobFlyerUtils.ts +2 -2
- package/src/utils/luxonUtils.ts +5 -5
- package/src/utils/moodTrackUtils.ts +1 -1
- package/src/utils/nonprofitUtils.ts +3 -3
- package/src/utils/orgPromotionalPackageUtils.ts +1 -1
- package/src/utils/organizationEntitlements.ts +4 -4
- package/src/utils/paymentUtils.ts +10 -10
- package/src/utils/promoterCompetitionUtils.ts +8 -8
- package/src/utils/promotionBlastUtils.ts +4 -4
- package/src/utils/qrCodeUtils.ts +3 -3
- package/src/utils/recurrenceUtils.ts +1 -1
- package/src/utils/reputationUtils.ts +3 -3
- package/src/utils/reviewDimensionUtils.ts +2 -2
- package/src/utils/service/__tests__/billingCapUtils.test.ts +3 -3
- package/src/utils/service/__tests__/eventPromoterPhase3.test.ts +1 -1
- package/src/utils/service/__tests__/eventPromoterUtils.test.ts +1 -1
- package/src/utils/service/__tests__/frontendServiceBookingUtils.test.ts +2 -2
- package/src/utils/service/__tests__/serviceBookingExposureUtils.test.ts +1 -1
- package/src/utils/service/__tests__/serviceBookingStatusUtils.test.ts +2 -2
- package/src/utils/service/__tests__/serviceRateUtils.test.ts +6 -6
- package/src/utils/service/apiServiceBookingApiUtils.ts +1 -1
- package/src/utils/service/billingCapUtils.ts +5 -5
- package/src/utils/service/cancellationPolicyRefundResolver.ts +1 -1
- package/src/utils/service/eventPromoterUtils.ts +27 -27
- package/src/utils/service/foodAndBeverageQuote.ts +8 -8
- package/src/utils/service/offerAllowListUtils.ts +1 -1
- package/src/utils/service/offerComparisonUtils.ts +8 -8
- package/src/utils/service/serviceBookingExposureUtils.ts +8 -8
- package/src/utils/service/serviceBookingTypes.ts +2 -2
- package/src/utils/service/serviceFeaturedSortUtils.ts +2 -2
- package/src/utils/service/serviceListingMediaUtils.ts +2 -2
- package/src/utils/service/serviceUtils.ts +2 -2
- package/src/utils/service/unifiedPricingResolver.ts +5 -5
- package/src/utils/service/venueSettlementUtils.ts +3 -3
- package/src/utils/service/volunteerCompensationUtils.ts +3 -3
- package/src/utils/slugUtils.ts +1 -1
- package/src/utils/ticketPrintPostageUtils.ts +5 -5
- package/src/utils/ticketTierSchedule.ts +4 -4
- package/src/utils/trustScoreUtils.ts +1 -1
- package/src/utils/urlUtils.ts +2 -2
- package/src/utils/userUtils.ts +4 -4
- package/src/utils/venueLoyalty/__tests__/eligibilityUtils.test.ts +1 -1
- package/src/utils/venueLoyalty/__tests__/redemptionCodeUtils.test.ts +1 -1
- package/src/utils/venueLoyalty/redemptionCodeUtils.ts +3 -3
- package/src/venueLoyaltyRedemption.ts +2 -2
- package/src/venueMatch.ts +4 -4
|
@@ -35,17 +35,17 @@ export const INFLUENCER_AUDIENCE_TIER_RANGES: Record<
|
|
|
35
35
|
Nano: {
|
|
36
36
|
min: 1_000,
|
|
37
37
|
max: 9_999,
|
|
38
|
-
description: "1K
|
|
38
|
+
description: "1K. 10K followers",
|
|
39
39
|
},
|
|
40
40
|
Micro: {
|
|
41
41
|
min: 10_000,
|
|
42
42
|
max: 99_999,
|
|
43
|
-
description: "10K
|
|
43
|
+
description: "10K. 100K followers",
|
|
44
44
|
},
|
|
45
45
|
Macro: {
|
|
46
46
|
min: 100_000,
|
|
47
47
|
max: 999_999,
|
|
48
|
-
description: "100K
|
|
48
|
+
description: "100K. 1M followers",
|
|
49
49
|
},
|
|
50
50
|
Mega: {
|
|
51
51
|
min: 1_000_000,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* drifting on field names for what is ultimately one wire contract.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
/** Static, per-activity identifiers
|
|
12
|
+
/** Static, per-activity identifiers. Set once, never change during the activity. */
|
|
13
13
|
export interface LiveActivityAttributes {
|
|
14
14
|
bashEventId: string;
|
|
15
15
|
ticketId: string;
|
|
@@ -17,28 +17,28 @@ export interface LiveActivityAttributes {
|
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Dynamic content shown on the Lock Screen / Dynamic Island / Android chip.
|
|
20
|
-
* Kept intentionally small
|
|
20
|
+
* Kept intentionally small. ActivityKit caps combined attributes + state at 4KB,
|
|
21
21
|
* and every field here is re-sent in full on every update (no partial merges).
|
|
22
22
|
*/
|
|
23
23
|
export interface LiveActivityContentState {
|
|
24
|
-
/** Bash event title
|
|
24
|
+
/** Bash event title. Primary headline. */
|
|
25
25
|
eventTitle: string;
|
|
26
|
-
/** Short venue/location line
|
|
26
|
+
/** Short venue/location line. Subtitle (e.g. venue name or first line of address). */
|
|
27
27
|
venueLabel: string;
|
|
28
|
-
/** ISO 8601
|
|
28
|
+
/** ISO 8601. Bash start time. Widget shows a countdown until this, then a "LIVE" badge. */
|
|
29
29
|
startTime: string;
|
|
30
|
-
/** ISO 8601
|
|
30
|
+
/** ISO 8601. Bash end time. Used for the lazy client-side end fallback. */
|
|
31
31
|
endTime: string;
|
|
32
32
|
/**
|
|
33
33
|
* Absolute URL that opens the device's native Maps app for directions
|
|
34
|
-
* (Apple Maps on iOS, Google Maps on Android)
|
|
34
|
+
* (Apple Maps on iOS, Google Maps on Android). Never a relative path,
|
|
35
35
|
* since the widget/notification has no app routing context.
|
|
36
36
|
*/
|
|
37
37
|
directionsUrl: string;
|
|
38
38
|
/**
|
|
39
39
|
* Absolute universal-link URL back into bash-app's ticket QR screen
|
|
40
40
|
* (`bashEventQrCodeUrl` + the app's public origin). Deliberately NOT an
|
|
41
|
-
* embedded QR image/token
|
|
41
|
+
* embedded QR image/token. Keeps the payload small and the QR always fresh.
|
|
42
42
|
*/
|
|
43
43
|
ticketUrl: string;
|
|
44
44
|
/**
|
|
@@ -54,7 +54,7 @@ export type LiveActivityPushEventType =
|
|
|
54
54
|
| "live_activity_update"
|
|
55
55
|
| "live_activity_end";
|
|
56
56
|
|
|
57
|
-
/** Platform values accepted on `LiveActivityPushToken.platform
|
|
57
|
+
/** Platform values accepted on `LiveActivityPushToken.platform`. IOS only today (Android reuses the FCM token). */
|
|
58
58
|
export const LIVE_ACTIVITY_TOKEN_PLATFORM_IOS = "ios" as const;
|
|
59
59
|
|
|
60
60
|
/** Which native Maps app `buildLiveActivityDirectionsUrl` should target. */
|
|
@@ -62,7 +62,7 @@ export type LiveActivityMapsPlatform = "ios" | "android";
|
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
* Builds the "Directions" deep link shared by the api (server-built push
|
|
65
|
-
* payloads) and bash-app (client-built manual-start payload)
|
|
65
|
+
* payloads) and bash-app (client-built manual-start payload). Apple Maps on
|
|
66
66
|
* iOS, Google Maps everywhere else, preferring coordinates over the raw
|
|
67
67
|
* address/title string when available.
|
|
68
68
|
*/
|
package/src/locationShare.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Event location sharing
|
|
2
|
+
* Event location sharing. Consented near-live pins for bash participants
|
|
3
3
|
* (host / organizers / co-hosts, live task assignees, hired providers).
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -195,7 +195,7 @@ const LOCATION_SHARE_VIEWER_ROLE_RANK: Record<LocationShareViewerRole, number> =
|
|
|
195
195
|
Provider: 5,
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
/** Host-facing labels
|
|
198
|
+
/** Host-facing labels. Access copy, not promoter voice. */
|
|
199
199
|
export const LOCATION_SHARE_VIEWER_ROLE_LABEL: Record<
|
|
200
200
|
LocationShareViewerRole,
|
|
201
201
|
string
|
|
@@ -107,7 +107,7 @@ export const MEMBERSHIP_PRICING = {
|
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
|
-
* Paid feature boost tiers
|
|
110
|
+
* Paid feature boost tiers. Available to any logged-in user.
|
|
111
111
|
* Prices in cents. Durations in hours.
|
|
112
112
|
*
|
|
113
113
|
* Pro/Elite/Legend get free monthly allocations (see MEMBERSHIP_FEATURES.featuredEventsPerMonth).
|
|
@@ -116,7 +116,7 @@ export const MEMBERSHIP_PRICING = {
|
|
|
116
116
|
export const FEATURE_BOOST_DURATIONS = [
|
|
117
117
|
{ id: "24h", hours: 24, label: "24 hours", priceCents: 500 }, // $5
|
|
118
118
|
{ id: "72h", hours: 72, label: "3 days", priceCents: 1200 }, // $12
|
|
119
|
-
{ id: "7d", hours: 168, label: "7 days", priceCents: 2500 }, // $25
|
|
119
|
+
{ id: "7d", hours: 168, label: "7 days", priceCents: 2500 }, // $25. Typical “best value” tier in UI
|
|
120
120
|
{ id: "14d", hours: 336, label: "14 days", priceCents: 4500 }, // $45
|
|
121
121
|
{ id: "30d", hours: 720, label: "30 days", priceCents: 8000 }, // $80
|
|
122
122
|
] as const;
|
|
@@ -125,16 +125,16 @@ export type FeatureBoostDurationId = typeof FEATURE_BOOST_DURATIONS[number]["id"
|
|
|
125
125
|
|
|
126
126
|
/** Applies to event, feed-post, and service profile feature boosts */
|
|
127
127
|
export const FEATURE_BOOST_STRIPE_DESCRIPTION = {
|
|
128
|
-
event: (durationLabel: string) => `Featured Event
|
|
129
|
-
feedPost: (durationLabel: string) => `Featured Feed Post
|
|
130
|
-
service: (durationLabel: string) => `Featured Service
|
|
128
|
+
event: (durationLabel: string) => `Featured Event. ${durationLabel}`,
|
|
129
|
+
feedPost: (durationLabel: string) => `Featured Feed Post. ${durationLabel}`,
|
|
130
|
+
service: (durationLabel: string) => `Featured Service. ${durationLabel}`,
|
|
131
131
|
};
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
134
|
* Free “featured event” slots from membership (`featuredEventsPerMonth` in {@link MEMBERSHIP_LIMITS})
|
|
135
135
|
* are **not** tied to the calendar month. Usage is tracked in `User.membershipFeaturedEventsUsed` and
|
|
136
136
|
* reset when the membership subscription period renews (see Stripe `invoice.payment_succeeded` handling
|
|
137
|
-
* in the API
|
|
137
|
+
* in the API. Same path that can reset `membershipFeaturedEventsUsed`). Host UI should describe this as
|
|
138
138
|
* “resets when your membership renews,” not “resets on the 1st.”
|
|
139
139
|
*/
|
|
140
140
|
|
|
@@ -193,7 +193,7 @@ export const BASHPOINTS_REWARDS: Record<MembershipTier, {
|
|
|
193
193
|
serviceRewardRate: number; // Reward % on service bookings
|
|
194
194
|
}> = {
|
|
195
195
|
Basic: {
|
|
196
|
-
monthlyCredits: 100, // 100 BashPoints/month
|
|
196
|
+
monthlyCredits: 100, // 100 BashPoints/month. A taste of rewards
|
|
197
197
|
ticketRewardRate: 0.01, // 1% reward
|
|
198
198
|
serviceRewardRate: 0.01, // 1% reward
|
|
199
199
|
},
|
|
@@ -219,7 +219,7 @@ export const BASHPOINTS_REWARDS: Record<MembershipTier, {
|
|
|
219
219
|
},
|
|
220
220
|
} as const;
|
|
221
221
|
|
|
222
|
-
/** Referral tier qualification thresholds
|
|
222
|
+
/** Referral tier qualification thresholds. Single source of truth for grant + stats UI. */
|
|
223
223
|
export const AMBASHADOR_QUALIFICATION = {
|
|
224
224
|
freeSignups: 1,
|
|
225
225
|
paidSignups: 1,
|
|
@@ -332,7 +332,7 @@ export const SECURITY_CONFIG = {
|
|
|
332
332
|
* Platform fee structure for Bash Events (tickets/donations)
|
|
333
333
|
* All amounts in CENTS to align with Stripe
|
|
334
334
|
*
|
|
335
|
-
* CURRENT POLICY: 0% Bash platform fee
|
|
335
|
+
* CURRENT POLICY: 0% Bash platform fee. Only Stripe's unavoidable processing
|
|
336
336
|
* fee is passed through. When platform fees are introduced, update percents here
|
|
337
337
|
* and announce to hosts in advance.
|
|
338
338
|
*/
|
|
@@ -342,34 +342,34 @@ export const BASH_EVENT_FEES: Record<MembershipTier, {
|
|
|
342
342
|
capCents: number; // Maximum fee in cents (e.g., 25000 = $250)
|
|
343
343
|
}> = {
|
|
344
344
|
Basic: {
|
|
345
|
-
percent: 0.00, // 0
|
|
345
|
+
percent: 0.00, // 0%. No Bash platform fee currently
|
|
346
346
|
minimumCents: 0,
|
|
347
347
|
capCents: 0,
|
|
348
348
|
},
|
|
349
349
|
Premium: {
|
|
350
|
-
percent: 0.00, // 0
|
|
350
|
+
percent: 0.00, // 0%. No Bash platform fee currently
|
|
351
351
|
minimumCents: 0,
|
|
352
352
|
capCents: 0,
|
|
353
353
|
},
|
|
354
354
|
Pro: {
|
|
355
|
-
percent: 0.00, // 0
|
|
355
|
+
percent: 0.00, // 0%. No Bash platform fee currently
|
|
356
356
|
minimumCents: 0,
|
|
357
357
|
capCents: 0,
|
|
358
358
|
},
|
|
359
359
|
Elite: {
|
|
360
|
-
percent: 0.00, // 0
|
|
360
|
+
percent: 0.00, // 0%. No Bash platform fee currently
|
|
361
361
|
minimumCents: 0,
|
|
362
362
|
capCents: 0,
|
|
363
363
|
},
|
|
364
364
|
Legend: {
|
|
365
|
-
percent: 0.00, // 0
|
|
365
|
+
percent: 0.00, // 0%. No Bash platform fee currently
|
|
366
366
|
minimumCents: 0,
|
|
367
367
|
capCents: 0,
|
|
368
368
|
},
|
|
369
369
|
} as const;
|
|
370
370
|
|
|
371
371
|
/**
|
|
372
|
-
* Stripe's standard card processing fee
|
|
372
|
+
* Stripe's standard card processing fee. Unavoidable, charged by Stripe directly.
|
|
373
373
|
* Displayed transparently to buyers on the checkout page.
|
|
374
374
|
* Source: https://stripe.com/pricing
|
|
375
375
|
*/
|
|
@@ -435,7 +435,7 @@ export const PARTNER_PAYMENT_FEES: Record<MembershipTier, {
|
|
|
435
435
|
capCents: 12500, // $125 cap
|
|
436
436
|
},
|
|
437
437
|
Pro: {
|
|
438
|
-
percent: 0.04, // 4% (50% discount
|
|
438
|
+
percent: 0.04, // 4% (50% discount. Better than Premium's 5%)
|
|
439
439
|
capCents: 10000, // $100 cap
|
|
440
440
|
},
|
|
441
441
|
Elite: {
|
|
@@ -574,7 +574,7 @@ export const MEMBERSHIP_LIMITS: Record<MembershipTier, {
|
|
|
574
574
|
Basic: {
|
|
575
575
|
// Event Creation
|
|
576
576
|
canCreateEvents: true,
|
|
577
|
-
minimumTicketPriceCents: 0, // $0 or any price
|
|
577
|
+
minimumTicketPriceCents: 0, // $0 or any price. Platform service fee only on tickets $5+
|
|
578
578
|
maxEventsPerMonth: -1, // Unlimited
|
|
579
579
|
featuredEventsPerMonth: 0, // Must pay
|
|
580
580
|
|
|
@@ -930,7 +930,7 @@ export const MEMBERSHIP_TIER_INFO: Record<MembershipTier, MembershipTierInfo> =
|
|
|
930
930
|
yearly: MEMBERSHIP_PRICING.Basic.yearly,
|
|
931
931
|
price: MEMBERSHIP_PRICING.Basic.monthly,
|
|
932
932
|
features: [
|
|
933
|
-
'Host events with any ticket price
|
|
933
|
+
'Host events with any ticket price. Zero fees on free events',
|
|
934
934
|
'Multiple ticket types per event (Free, Paid, BashPoints, Early Bird, VIP...)',
|
|
935
935
|
'Browse and attend all public events',
|
|
936
936
|
'⚡ 100 BashPoints/month + 1% back on purchases',
|
|
@@ -945,15 +945,15 @@ export const MEMBERSHIP_TIER_INFO: Record<MembershipTier, MembershipTierInfo> =
|
|
|
945
945
|
Premium: {
|
|
946
946
|
tier: 'Premium',
|
|
947
947
|
name: 'Premium',
|
|
948
|
-
description: 'For hosts who mean business
|
|
948
|
+
description: 'For hosts who mean business. More tools, more reach, more control',
|
|
949
949
|
monthlyPrice: MEMBERSHIP_PRICING.Premium.monthly,
|
|
950
950
|
yearlyPrice: MEMBERSHIP_PRICING.Premium.yearly,
|
|
951
951
|
monthly: MEMBERSHIP_PRICING.Premium.monthly,
|
|
952
952
|
yearly: MEMBERSHIP_PRICING.Premium.yearly,
|
|
953
953
|
price: MEMBERSHIP_PRICING.Premium.monthly,
|
|
954
954
|
features: [
|
|
955
|
-
'🎁 30-day free trial
|
|
956
|
-
'⚡ 1,000 BashPoints/month + 3% back
|
|
955
|
+
'🎁 30-day free trial. No credit card required',
|
|
956
|
+
'⚡ 1,000 BashPoints/month + 3% back. 10x Basic',
|
|
957
957
|
'Early access to new features and beta tools',
|
|
958
958
|
'Premium-only events and exclusive community access',
|
|
959
959
|
'Event analytics and revenue insights',
|
|
@@ -10,7 +10,7 @@ import type {
|
|
|
10
10
|
} from "@prisma/client";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* Mirrors Prisma `ServiceCancellationPolicy
|
|
13
|
+
* Mirrors Prisma `ServiceCancellationPolicy`. `@prisma/client` browser/Jest bundles may omit
|
|
14
14
|
* runtime enum objects (see `definitions.ts` comment on `index-browser`).
|
|
15
15
|
*
|
|
16
16
|
* Kept dependency-free besides Prisma types so modules like `serviceUtils.ts` can import it without
|
|
@@ -57,7 +57,7 @@ export type ServiceBookingSettlementBasis = ServiceBookingSettlementBasisEnum;
|
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Mirrors Prisma `FBShortfallResolution`. Describes how a venue F&B minimum
|
|
60
|
-
* shortfall was resolved at settlement
|
|
60
|
+
* shortfall was resolved at settlement. Phase 2 of the unified-pricing
|
|
61
61
|
* roadmap.
|
|
62
62
|
*/
|
|
63
63
|
export const FBShortfallResolution = {
|
|
@@ -87,7 +87,7 @@ export const ServiceBookingSettlementStatus = {
|
|
|
87
87
|
export type ServiceBookingSettlementStatus = ServiceBookingSettlementStatusEnum;
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
|
-
* Display label for `ServiceBookingSettlementStatus
|
|
90
|
+
* Display label for `ServiceBookingSettlementStatus`. Consolidated from the hand-typed
|
|
91
91
|
* `STATUS_UI.label` copy in `EventPromoterBookingCard.tsx`. Icon/color styling stays local to
|
|
92
92
|
* that component (UI-specific, not a bash-common concern); only the text is shared here.
|
|
93
93
|
*/
|
|
@@ -124,7 +124,7 @@ export type PricingModel = PricingModelEnum;
|
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Mirrors Prisma `BashPointsPayoutSource`. Drives where the BashPoints for a
|
|
127
|
-
* PER_BASHPOINTS_ATTENDEE settlement are paid from
|
|
127
|
+
* PER_BASHPOINTS_ATTENDEE settlement are paid from. Host wallet (default) or
|
|
128
128
|
* the per-bash BashPoints pool that ticket sales fund.
|
|
129
129
|
*/
|
|
130
130
|
export const BashPointsPayoutSource = {
|
|
@@ -136,7 +136,7 @@ export type BashPointsPayoutSource = BashPointsPayoutSourceEnum;
|
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
138
|
* Mirrors Prisma `VolunteerCompensationType`. Intentionally NARROWER than
|
|
139
|
-
* `PricingModel` because volunteers are not employees or contractors
|
|
139
|
+
* `PricingModel` because volunteers are not employees or contractors. See
|
|
140
140
|
* `bash-common/src/utils/service/volunteerCompensationUtils.ts` and the
|
|
141
141
|
* matching help-center page for the policy story.
|
|
142
142
|
*/
|
|
@@ -207,7 +207,7 @@ export const CreditSourceType = {
|
|
|
207
207
|
export type CreditSourceType = CreditSourceTypeEnum;
|
|
208
208
|
|
|
209
209
|
/**
|
|
210
|
-
* Mirrors Prisma `BracketType
|
|
210
|
+
* Mirrors Prisma `BracketType`. Includes HEAT / BATTLE_ROYALE before all consumers
|
|
211
211
|
* refresh `@prisma/client` (see README-typecheck.md).
|
|
212
212
|
*/
|
|
213
213
|
export const BracketType = {
|
package/src/partnerStoreTypes.ts
CHANGED
|
@@ -80,7 +80,7 @@ export type PartnerLocalSuggestion = {
|
|
|
80
80
|
partner: LocalPartnerPublic;
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
/** GET /api/partner/suggestions
|
|
83
|
+
/** GET /api/partner/suggestions. At most one suggestion */
|
|
84
84
|
export type PartnerSuggestionResponse = PartnerGearSuggestion | PartnerLocalSuggestion;
|
|
85
85
|
|
|
86
86
|
export type ClaimPartnerPromoResponse = {
|
package/src/productLaunch.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bash Labs product launch waitlists
|
|
2
|
+
* Bash Labs product launch waitlists. Shared product metadata and validation.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
export const PRODUCT_LAUNCH_PRODUCTS = [
|
|
@@ -58,7 +58,7 @@ export const PRODUCT_LAUNCH_ROUTES: Partial<
|
|
|
58
58
|
Enterprise: "/enterprise#early-access",
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
/** Star priority 1
|
|
61
|
+
/** Star priority 1 to 5 for roadmap cards (higher = more strategic). */
|
|
62
62
|
export const PRODUCT_LAUNCH_PRIORITY: Record<ProductLaunchProductId, number> = {
|
|
63
63
|
Memories: 5,
|
|
64
64
|
AiOrganizer: 4,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Per-attendee Relationship Health
|
|
2
|
+
* Per-attendee Relationship Health. One deterministic, inspectable signal for
|
|
3
3
|
* the Attendee CRM, replacing the narrower "lapsed VIP alert" idea with a
|
|
4
4
|
* status every attendee gets. Deliberately rule-based (not LLM-guessed) so a
|
|
5
5
|
* host can see exactly why a status fired via `reasons`.
|
|
@@ -21,13 +21,13 @@ export type RelationshipHealthInputs = {
|
|
|
21
21
|
/** ISO date of the first attended bash, if any (used to derive this attendee's own cadence). */
|
|
22
22
|
firstAttendedAt: string | null;
|
|
23
23
|
tags: string[];
|
|
24
|
-
/** ISO date of the most recent host outreach (CRM email/SMS) to this attendee, if any. Display-only input
|
|
24
|
+
/** ISO date of the most recent host outreach (CRM email/SMS) to this attendee, if any. Display-only input. Does not change the bucket. */
|
|
25
25
|
lastOutreachAt: string | null;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export type RelationshipHealthResult = {
|
|
29
29
|
status: RelationshipHealthStatus;
|
|
30
|
-
/** Ordered, human-readable trace of the exact signals behind this status
|
|
30
|
+
/** Ordered, human-readable trace of the exact signals behind this status. Shown on hover/click, never hidden. */
|
|
31
31
|
reasons: string[];
|
|
32
32
|
daysSinceLastAttended: number | null;
|
|
33
33
|
/** This attendee's own derived cadence in days, or null when there isn't enough history to personalize it. */
|
|
@@ -102,7 +102,7 @@ export function computeRelationshipHealth(
|
|
|
102
102
|
}
|
|
103
103
|
if (expectedGapDays === DEFAULT_EXPECTED_GAP_DAYS) {
|
|
104
104
|
reasons.push(
|
|
105
|
-
`Using a default ${DEFAULT_EXPECTED_GAP_DAYS}-day cadence
|
|
105
|
+
`Using a default ${DEFAULT_EXPECTED_GAP_DAYS}-day cadence. Not enough history to personalize yet`
|
|
106
106
|
);
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -118,7 +118,7 @@ export function computeRelationshipHealth(
|
|
|
118
118
|
|
|
119
119
|
if (vip && status === "Cooling") {
|
|
120
120
|
status = "AtRisk";
|
|
121
|
-
reasons.push("Tagged VIP
|
|
121
|
+
reasons.push("Tagged VIP. Escalated from Cooling");
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
if (inputs.lastOutreachAt) {
|
package/src/scenePulse.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Community Builder scene pulse
|
|
2
|
+
* Community Builder scene pulse. City / region / world aggregates.
|
|
3
3
|
* You (Crowd Pulse) stays host ops; these scopes are public scene energy + platform proof.
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -29,7 +29,7 @@ export type ScenePulseEnergy = {
|
|
|
29
29
|
newThisWeek: number;
|
|
30
30
|
/**
|
|
31
31
|
* Distinct live/tonight/weekend public bashes with a lineup slot or a
|
|
32
|
-
* host-spotlighted featured guest (names in the room
|
|
32
|
+
* host-spotlighted featured guest (names in the room. Not CRM).
|
|
33
33
|
*/
|
|
34
34
|
namesInTheRoom: number;
|
|
35
35
|
};
|
package/src/seatMap.ts
CHANGED
|
@@ -176,7 +176,7 @@ export type SeatLocationDisplay = {
|
|
|
176
176
|
seat: string | null;
|
|
177
177
|
/** Full line for ticket details, e.g. "Orchestra · Row A · Seat 12". */
|
|
178
178
|
line: string;
|
|
179
|
-
/** Compact line for lists, e.g. "A12" or "Rows A
|
|
179
|
+
/** Compact line for lists, e.g. "A12" or "Rows A to C". */
|
|
180
180
|
shortLine: string;
|
|
181
181
|
};
|
|
182
182
|
|
|
@@ -202,7 +202,7 @@ function formatRowRange(rows: string[]): string | null {
|
|
|
202
202
|
const sorted = sortRowKeys(rows);
|
|
203
203
|
if (sorted.length === 0) return null;
|
|
204
204
|
if (sorted.length === 1) return `Row ${sorted[0]}`;
|
|
205
|
-
return `Rows ${sorted[0]}
|
|
205
|
+
return `Rows ${sorted[0]} to ${sorted[sorted.length - 1]}`;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
/** Single assigned seat (ticket row or map lookup). */
|
|
@@ -281,7 +281,7 @@ export function formatTierSeatingArea(
|
|
|
281
281
|
const min = labels[0];
|
|
282
282
|
const max = labels[labels.length - 1];
|
|
283
283
|
seatPart =
|
|
284
|
-
min === max ? `Seat ${min}` : `Seats ${min}
|
|
284
|
+
min === max ? `Seat ${min}` : `Seats ${min} to ${max}`;
|
|
285
285
|
}
|
|
286
286
|
|
|
287
287
|
return {
|
|
@@ -87,7 +87,7 @@ export function findBestAvailableSeats(input: {
|
|
|
87
87
|
if (open.length < qty) {
|
|
88
88
|
return {
|
|
89
89
|
ok: false,
|
|
90
|
-
error: "Not enough open seats left in this ticket
|
|
90
|
+
error: "Not enough open seats left in this ticket. Try fewer seats.",
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
93
|
|
|
@@ -174,6 +174,6 @@ export function findBestAvailableSeats(input: {
|
|
|
174
174
|
|
|
175
175
|
return {
|
|
176
176
|
ok: false,
|
|
177
|
-
error: "Couldn't find seats together
|
|
177
|
+
error: "Couldn't find seats together. Try picking manually.",
|
|
178
178
|
};
|
|
179
179
|
}
|
package/src/serviceTypeLabels.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ServiceTypes } from "@prisma/client";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Human-readable label for every `ServiceTypes` value
|
|
4
|
+
* Human-readable label for every `ServiceTypes` value. The raw enum ("EventServices",
|
|
5
5
|
* "EntertainmentServices") is not fit for display copy.
|
|
6
6
|
*
|
|
7
7
|
* Single source of truth for what was previously four drifted, hand-typed copies:
|
|
@@ -10,10 +10,10 @@ import type { ServiceTypes } from "@prisma/client";
|
|
|
10
10
|
*
|
|
11
11
|
* Note: this is distinct from `SERVICE_TYPE_DISPLAY_LABEL` in `definitions.ts`, which only
|
|
12
12
|
* covers the two values `COMPLEMENTARY_SERVICE_TYPE` can produce (Vendors/EventServices) for
|
|
13
|
-
* "also list as" copy
|
|
13
|
+
* "also list as" copy. That narrower map stays as-is.
|
|
14
14
|
*
|
|
15
15
|
* Keys are string literals (not `ServiceTypes.*`) so this module can load even when Jest
|
|
16
|
-
* briefly has a partial `@prisma/client` mock
|
|
16
|
+
* briefly has a partial `@prisma/client` mock. Runtime enum objects are not required here.
|
|
17
17
|
*/
|
|
18
18
|
export const SERVICE_TYPE_LABELS: Record<ServiceTypes, string> = {
|
|
19
19
|
EntertainmentServices: "Entertainment",
|
package/src/sideQuestIdeas.ts
CHANGED
|
@@ -106,7 +106,7 @@ export const SIDE_QUEST_TYPE_META: Record<
|
|
|
106
106
|
},
|
|
107
107
|
Circuit: {
|
|
108
108
|
label: "Vendor circuit",
|
|
109
|
-
description: "Guest scans QRs at N booths
|
|
109
|
+
description: "Guest scans QRs at N booths. Progress ticks toward done.",
|
|
110
110
|
phase1: true,
|
|
111
111
|
},
|
|
112
112
|
Connect: {
|
|
@@ -131,7 +131,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
131
131
|
{
|
|
132
132
|
id: "festival-transit",
|
|
133
133
|
title: "Ride transit to the festival",
|
|
134
|
-
description: "Take FrontRunner, TRAX, or the bus
|
|
134
|
+
description: "Take FrontRunner, TRAX, or the bus. Scan the code at the station booth.",
|
|
135
135
|
category: "Transit",
|
|
136
136
|
questType: "Qr",
|
|
137
137
|
pointsReward: 100,
|
|
@@ -149,7 +149,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
149
149
|
{
|
|
150
150
|
id: "festival-artists",
|
|
151
151
|
title: "Watch 3 different artists",
|
|
152
|
-
description: "Catch three sets
|
|
152
|
+
description: "Catch three sets. Collect the stage code after the third.",
|
|
153
153
|
category: "Discover",
|
|
154
154
|
questType: "Code",
|
|
155
155
|
pointsReward: 75,
|
|
@@ -167,7 +167,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
167
167
|
{
|
|
168
168
|
id: "market-three-vendors",
|
|
169
169
|
title: "Buy from 3 vendors",
|
|
170
|
-
description: "Support three market stalls
|
|
170
|
+
description: "Support three market stalls. Get the code from the info booth when done.",
|
|
171
171
|
category: "SupportLocal",
|
|
172
172
|
questType: "Code",
|
|
173
173
|
pointsReward: 75,
|
|
@@ -185,7 +185,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
185
185
|
{
|
|
186
186
|
id: "conference-keynote",
|
|
187
187
|
title: "Attend a keynote",
|
|
188
|
-
description: "Sit in on a keynote
|
|
188
|
+
description: "Sit in on a keynote. Scan the room QR on the way out.",
|
|
189
189
|
category: "Discover",
|
|
190
190
|
questType: "Qr",
|
|
191
191
|
pointsReward: 50,
|
|
@@ -194,7 +194,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
194
194
|
{
|
|
195
195
|
id: "conference-meet-five",
|
|
196
196
|
title: "Meet five new people",
|
|
197
|
-
description: "Network intentionally
|
|
197
|
+
description: "Network intentionally. Enter the lounge code when you've made five intros.",
|
|
198
198
|
category: "Connect",
|
|
199
199
|
questType: "Code",
|
|
200
200
|
pointsReward: 75,
|
|
@@ -221,7 +221,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
221
221
|
{
|
|
222
222
|
id: "give-back-volunteer",
|
|
223
223
|
title: "Complete a volunteer shift",
|
|
224
|
-
description: "Help out
|
|
224
|
+
description: "Help out. Staff will share the completion code.",
|
|
225
225
|
category: "GiveBack",
|
|
226
226
|
questType: "Code",
|
|
227
227
|
pointsReward: 100,
|
|
@@ -230,7 +230,7 @@ export const SIDE_QUEST_IDEAS: SideQuestIdea[] = [
|
|
|
230
230
|
{
|
|
231
231
|
id: "compete-vote",
|
|
232
232
|
title: "Vote for your favorite",
|
|
233
|
-
description: "Cast your vote
|
|
233
|
+
description: "Cast your vote. Use the code shown after you submit.",
|
|
234
234
|
category: "Compete",
|
|
235
235
|
questType: "Code",
|
|
236
236
|
pointsReward: 25,
|
package/src/sideQuestTypes.ts
CHANGED
|
@@ -247,10 +247,10 @@ export function parseSideQuestScanPayload(raw: string): ParsedSideQuestScan | nu
|
|
|
247
247
|
};
|
|
248
248
|
}
|
|
249
249
|
} catch {
|
|
250
|
-
// not a URL
|
|
250
|
+
// not a URL. Treat as raw code
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
// Plain code (4
|
|
253
|
+
// Plain code (4 to 6 chars)
|
|
254
254
|
const plain = trimmed.toUpperCase().replace(/\s+/g, "");
|
|
255
255
|
if (/^[A-Z0-9]{4,8}$/.test(plain)) {
|
|
256
256
|
return { code: plain };
|
package/src/sms/smsTemplates.ts
CHANGED
|
@@ -10,7 +10,7 @@ export const LISTING_SUBSCRIPTION_PAYMENT_ALREADY_LINKING_USER_MESSAGE =
|
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Stripe returns this when attaching a PM that is already on the listing-subscription
|
|
13
|
-
* (Connect billing) customer. The card is already linked
|
|
13
|
+
* (Connect billing) customer. The card is already linked. Callers should refresh
|
|
14
14
|
* subscription readiness instead of treating this as a failure.
|
|
15
15
|
*/
|
|
16
16
|
export function isListingSubscriptionPaymentAlreadyAttachedError(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AgeRange, Education, Gender, Occupation } from "@prisma/client";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Display labels for `BashEvent`/`Service` target-audience demographics
|
|
4
|
+
* Display labels for `BashEvent`/`Service` target-audience demographics. Consolidated from
|
|
5
5
|
* byte-identical copies that lived in `WhoTargetAudience.tsx` (bash event wizard) and
|
|
6
6
|
* `ServicesTargetAudience.tsx` (service wizard). Follows the `IncomeRangeLabel` precedent in
|
|
7
7
|
* `definitions.ts`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Stripe Checkout BNPL (Klarna, Afterpay/Clearpay) for paid ticket orders.
|
|
3
|
-
* Pure functions
|
|
3
|
+
* Pure functions. Safe for SSR/tests; no IO.
|
|
4
4
|
*
|
|
5
5
|
* @see ADR-011, api/docs/STRIPE_PAYMENT_LINKS_INSTALLMENTS.md
|
|
6
6
|
*/
|
|
@@ -14,7 +14,7 @@ export type TicketCheckoutPaymentMethodType =
|
|
|
14
14
|
| "customer_balance"
|
|
15
15
|
| "us_bank_account";
|
|
16
16
|
|
|
17
|
-
/** Service booking Checkout
|
|
17
|
+
/** Service booking Checkout. Card, link, and optional async bank methods. */
|
|
18
18
|
export type ServiceCheckoutPaymentMethodType =
|
|
19
19
|
| "card"
|
|
20
20
|
| "link"
|
|
@@ -125,7 +125,7 @@ export interface ServiceCheckoutPaymentMethodInput {
|
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
127
|
* Resolve `payment_method_types` for Stripe Checkout service booking sessions.
|
|
128
|
-
* Bank transfer and ACH are async
|
|
128
|
+
* Bank transfer and ACH are async. Fulfillment waits for `checkout.session.async_payment_succeeded`.
|
|
129
129
|
*/
|
|
130
130
|
export function resolveServiceCheckoutPaymentMethodTypes(
|
|
131
131
|
input: ServiceCheckoutPaymentMethodInput
|
package/src/userReportTypes.ts
CHANGED
|
@@ -119,7 +119,7 @@ export const REPORT_REASON_FUNNEL: readonly UserReportCategoryOption[] = [
|
|
|
119
119
|
},
|
|
120
120
|
] as const;
|
|
121
121
|
|
|
122
|
-
/** All valid reason codes (built from the funnel
|
|
122
|
+
/** All valid reason codes (built from the funnel. No drift). */
|
|
123
123
|
export const ALL_USER_REPORT_REASON_CODES: readonly UserReportReasonCode[] =
|
|
124
124
|
REPORT_REASON_FUNNEL.flatMap((c) => c.reasons.map((r) => r.code));
|
|
125
125
|
|
package/src/userTaste.ts
CHANGED
|
@@ -29,7 +29,7 @@ const BASH_EVENT_TYPE_VALUES = new Set(
|
|
|
29
29
|
Object.values(BashEventType) as string[]
|
|
30
30
|
);
|
|
31
31
|
|
|
32
|
-
/** Mirrors Prisma MusicGenreType
|
|
32
|
+
/** Mirrors Prisma MusicGenreType. Kept local so validation works without extra imports. */
|
|
33
33
|
export const MUSIC_GENRE_TASTE_VALUES = [
|
|
34
34
|
"EDM",
|
|
35
35
|
"Electronic",
|
|
@@ -103,7 +103,7 @@ export type SceneTasteChip = {
|
|
|
103
103
|
value: string;
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
/** First-screen chips
|
|
106
|
+
/** First-screen chips. No Networking. */
|
|
107
107
|
export const SCENE_TASTE_CHIPS: readonly SceneTasteChip[] = [
|
|
108
108
|
{ id: "festival", label: "Festivals", kind: UserTasteKind.EventType, value: "Festival" },
|
|
109
109
|
{ id: "concert", label: "Concerts", kind: UserTasteKind.EventType, value: "Concert" },
|