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