@bash-app/bash-common 30.285.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 +2 -0
- package/dist/definitions.d.ts.map +1 -1
- 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 +293 -1
- package/dist/extendedSchemas.d.ts.map +1 -1
- package/dist/extendedSchemas.js +65 -0
- package/dist/extendedSchemas.js.map +1 -1
- package/dist/index.d.ts +15 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -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/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/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 +980 -3
- 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 +2 -0
- package/src/entertainmentNotableVenues.ts +137 -0
- package/src/extendedSchemas.ts +111 -1
- package/src/index.ts +44 -1
- package/src/influencerAudience.ts +156 -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
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { calculatePromoCodeDiscount, calculateSpecialOfferDiscount, formatDiscountDescription, } from "./discountCalculator.js";
|
|
2
|
+
/**
|
|
3
|
+
* Find the best price by evaluating all possible discount combinations
|
|
4
|
+
* Implements "best price wins" logic with stacking rules
|
|
5
|
+
*/
|
|
6
|
+
export const findBestPrice = (options) => {
|
|
7
|
+
const { ticketPrice, quantity, userId, promoCodes, specialOffers, allowStacking } = options;
|
|
8
|
+
const originalTotal = ticketPrice * quantity;
|
|
9
|
+
// Early return if no discounts available
|
|
10
|
+
if (promoCodes.length === 0 && specialOffers.length === 0) {
|
|
11
|
+
return {
|
|
12
|
+
appliedDiscounts: [],
|
|
13
|
+
originalTotal,
|
|
14
|
+
finalTotal: originalTotal,
|
|
15
|
+
totalSavings: 0,
|
|
16
|
+
explanation: "No discounts applied",
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// Calculate all possible discount results
|
|
20
|
+
const promoCodeResults = promoCodes.map(code => calculatePromoCodeDiscount(code, ticketPrice, quantity));
|
|
21
|
+
const offerResults = specialOffers.map(offer => calculateSpecialOfferDiscount(offer, ticketPrice, quantity, userId));
|
|
22
|
+
// Generate all valid combinations
|
|
23
|
+
const combinations = [];
|
|
24
|
+
// Single promo code only
|
|
25
|
+
promoCodeResults.forEach(promoResult => {
|
|
26
|
+
combinations.push([promoResult]);
|
|
27
|
+
});
|
|
28
|
+
// Single special offer only
|
|
29
|
+
offerResults.forEach(offerResult => {
|
|
30
|
+
combinations.push([offerResult]);
|
|
31
|
+
});
|
|
32
|
+
// If stacking is allowed, try combinations
|
|
33
|
+
if (allowStacking) {
|
|
34
|
+
promoCodeResults.forEach(promoResult => {
|
|
35
|
+
offerResults.forEach(offerResult => {
|
|
36
|
+
// Find the original offer to check stacking rules
|
|
37
|
+
const originalOffer = specialOffers.find(o => o.id === offerResult.sourceId);
|
|
38
|
+
if (originalOffer && originalOffer.canStackWithPromoCodes) {
|
|
39
|
+
// Create a combination of promo code + special offer
|
|
40
|
+
const stackedDiscounts = stackDiscounts([promoResult, offerResult], originalTotal);
|
|
41
|
+
combinations.push(stackedDiscounts);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
// Check if any offers can stack with each other
|
|
46
|
+
for (let i = 0; i < offerResults.length; i++) {
|
|
47
|
+
for (let j = i + 1; j < offerResults.length; j++) {
|
|
48
|
+
const offer1 = specialOffers.find(o => o.id === offerResults[i].sourceId);
|
|
49
|
+
const offer2 = specialOffers.find(o => o.id === offerResults[j].sourceId);
|
|
50
|
+
if (offer1?.canStackWithOtherOffers && offer2?.canStackWithOtherOffers) {
|
|
51
|
+
const stackedDiscounts = stackDiscounts([offerResults[i], offerResults[j]], originalTotal);
|
|
52
|
+
combinations.push(stackedDiscounts);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Find the combination with the lowest final price
|
|
58
|
+
let bestCombination = [];
|
|
59
|
+
let lowestPrice = originalTotal;
|
|
60
|
+
combinations.forEach(combo => {
|
|
61
|
+
const totalDiscount = combo.reduce((sum, d) => sum + d.amountDiscounted, 0);
|
|
62
|
+
const finalPrice = Math.max(0, originalTotal - totalDiscount);
|
|
63
|
+
if (finalPrice < lowestPrice) {
|
|
64
|
+
lowestPrice = finalPrice;
|
|
65
|
+
bestCombination = combo;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
// Calculate total savings
|
|
69
|
+
const totalSavings = bestCombination.reduce((sum, d) => sum + d.amountDiscounted, 0);
|
|
70
|
+
// Create explanation
|
|
71
|
+
const explanation = bestCombination.length > 0
|
|
72
|
+
? bestCombination.map(formatDiscountDescription).join(" + ")
|
|
73
|
+
: "No discounts applied";
|
|
74
|
+
return {
|
|
75
|
+
appliedDiscounts: bestCombination,
|
|
76
|
+
originalTotal,
|
|
77
|
+
finalTotal: lowestPrice,
|
|
78
|
+
totalSavings,
|
|
79
|
+
explanation,
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Stack multiple discounts, applying guardrails to ensure they work correctly together
|
|
84
|
+
* Discounts are applied sequentially, not compounded
|
|
85
|
+
*/
|
|
86
|
+
const stackDiscounts = (discounts, originalTotal) => {
|
|
87
|
+
// Sort by priority (percentage discounts first, then fixed amounts)
|
|
88
|
+
const sorted = [...discounts].sort((a, b) => {
|
|
89
|
+
if (a.discountType === 'PERCENTAGE' && b.discountType !== 'PERCENTAGE')
|
|
90
|
+
return -1;
|
|
91
|
+
if (a.discountType !== 'PERCENTAGE' && b.discountType === 'PERCENTAGE')
|
|
92
|
+
return 1;
|
|
93
|
+
return 0;
|
|
94
|
+
});
|
|
95
|
+
// Apply discounts sequentially
|
|
96
|
+
let runningTotal = originalTotal;
|
|
97
|
+
const stackedResults = [];
|
|
98
|
+
sorted.forEach(discount => {
|
|
99
|
+
// Recalculate discount based on current running total
|
|
100
|
+
let actualDiscount = discount.amountDiscounted;
|
|
101
|
+
if (discount.discountType === 'PERCENTAGE') {
|
|
102
|
+
// Apply percentage to current running total
|
|
103
|
+
actualDiscount = Math.floor((runningTotal * discount.discountValue) / 100);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
// Fixed amount, but don't exceed running total
|
|
107
|
+
actualDiscount = Math.min(discount.amountDiscounted, runningTotal);
|
|
108
|
+
}
|
|
109
|
+
runningTotal = Math.max(0, runningTotal - actualDiscount);
|
|
110
|
+
stackedResults.push({
|
|
111
|
+
...discount,
|
|
112
|
+
amountDiscounted: actualDiscount,
|
|
113
|
+
finalPrice: runningTotal,
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
return stackedResults;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Apply guardrails to ensure discount doesn't violate business rules
|
|
120
|
+
*/
|
|
121
|
+
export const applyGuardrails = (result, minFloor, maxDiscountPercent) => {
|
|
122
|
+
let adjustedResult = { ...result };
|
|
123
|
+
// Enforce minimum price floor
|
|
124
|
+
if (minFloor && adjustedResult.finalPrice < minFloor) {
|
|
125
|
+
const maxAllowedDiscount = adjustedResult.originalPrice - minFloor;
|
|
126
|
+
adjustedResult.amountDiscounted = Math.min(adjustedResult.amountDiscounted, maxAllowedDiscount);
|
|
127
|
+
adjustedResult.finalPrice = adjustedResult.originalPrice - adjustedResult.amountDiscounted;
|
|
128
|
+
}
|
|
129
|
+
// Enforce maximum discount percentage
|
|
130
|
+
if (maxDiscountPercent) {
|
|
131
|
+
const maxAllowedDiscount = Math.floor((adjustedResult.originalPrice * maxDiscountPercent) / 100);
|
|
132
|
+
if (adjustedResult.amountDiscounted > maxAllowedDiscount) {
|
|
133
|
+
adjustedResult.amountDiscounted = maxAllowedDiscount;
|
|
134
|
+
adjustedResult.finalPrice = adjustedResult.originalPrice - maxAllowedDiscount;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return adjustedResult;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Calculate the effective discount rate as a percentage
|
|
141
|
+
*/
|
|
142
|
+
export const calculateEffectiveRate = (result) => {
|
|
143
|
+
if (result.originalTotal === 0)
|
|
144
|
+
return 0;
|
|
145
|
+
return Math.floor((result.totalSavings / result.originalTotal) * 100);
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=bestPriceResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bestPriceResolver.js","sourceRoot":"","sources":["../../../src/utils/discountEngine/bestPriceResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BashEventPromoCode, SpecialOffer } from "@prisma/client";
|
|
2
|
+
/** Promo code with optional promoter row (include `userId` for checkout attribution). */
|
|
3
|
+
export type BashEventPromoCodeWithPromoter = BashEventPromoCode & {
|
|
4
|
+
promoter?: {
|
|
5
|
+
userId: string | null;
|
|
6
|
+
} | null;
|
|
7
|
+
};
|
|
8
|
+
export interface DiscountResult {
|
|
9
|
+
sourceType: 'PROMO_CODE' | 'SPECIAL_OFFER';
|
|
10
|
+
sourceId: string;
|
|
11
|
+
sourceName: string;
|
|
12
|
+
discountType: 'PERCENTAGE' | 'FIXED_AMOUNT' | 'FREE_ITEMS';
|
|
13
|
+
discountValue: number;
|
|
14
|
+
amountDiscounted: number;
|
|
15
|
+
originalPrice: number;
|
|
16
|
+
finalPrice: number;
|
|
17
|
+
attribution?: {
|
|
18
|
+
userId: string;
|
|
19
|
+
commissionRate: number;
|
|
20
|
+
commissionAmount: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Calculate discount from a promo code
|
|
25
|
+
*/
|
|
26
|
+
export declare const calculatePromoCodeDiscount: (promoCode: BashEventPromoCodeWithPromoter, ticketPrice: number, // In cents
|
|
27
|
+
quantity: number) => DiscountResult;
|
|
28
|
+
/**
|
|
29
|
+
* Calculate discount from a special offer
|
|
30
|
+
*/
|
|
31
|
+
export declare const calculateSpecialOfferDiscount: (offer: SpecialOffer, ticketPrice: number, // In cents
|
|
32
|
+
quantity: number, userId?: string) => DiscountResult;
|
|
33
|
+
/**
|
|
34
|
+
* Calculate BOGO (Buy One Get One) discount
|
|
35
|
+
* Example: Buy 2 get 1 free, Buy 3 get 2 at 50% off
|
|
36
|
+
*/
|
|
37
|
+
export declare const calculateBOGODiscount: (offer: SpecialOffer, quantity: number, ticketPrice: number) => number;
|
|
38
|
+
/**
|
|
39
|
+
* Calculate group discount based on quantity
|
|
40
|
+
*/
|
|
41
|
+
export declare const calculateGroupDiscount: (offer: SpecialOffer, quantity: number, ticketPrice: number) => number;
|
|
42
|
+
/**
|
|
43
|
+
* Calculate volume discount (buy more save more)
|
|
44
|
+
* Similar to group discount but typically for larger quantities
|
|
45
|
+
*/
|
|
46
|
+
export declare const calculateVolumeDiscount: (offer: SpecialOffer, quantity: number, ticketPrice: number) => number;
|
|
47
|
+
/**
|
|
48
|
+
* Calculate early bird discount (time-based)
|
|
49
|
+
*/
|
|
50
|
+
export declare const calculateEarlyBirdDiscount: (offer: SpecialOffer, ticketPrice: number, currentDate: Date) => number;
|
|
51
|
+
/**
|
|
52
|
+
* Calculate bundle discount
|
|
53
|
+
*/
|
|
54
|
+
export declare const calculateBundleDiscount: (offer: SpecialOffer, bundledItems: Array<{
|
|
55
|
+
type: string;
|
|
56
|
+
price: number;
|
|
57
|
+
}>) => number;
|
|
58
|
+
/**
|
|
59
|
+
* Helper: Convert discount result to human-readable string
|
|
60
|
+
*/
|
|
61
|
+
export declare const formatDiscountDescription: (result: DiscountResult) => string;
|
|
62
|
+
//# sourceMappingURL=discountCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discountCalculator.d.ts","sourceRoot":"","sources":["../../../src/utils/discountEngine/discountCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAuC,MAAM,gBAAgB,CAAC;AAGvG,yFAAyF;AACzF,MAAM,MAAM,8BAA8B,GAAG,kBAAkB,GAAG;IAChE,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,YAAY,GAAG,eAAe,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,WAAW,8BAA8B,EACzC,aAAa,MAAM,EAAE,WAAW;AAChC,UAAU,MAAM,KACf,cAwCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,YAAY,EACnB,aAAa,MAAM,EAAE,WAAW;AAChC,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,cA2FF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,YAAY,EACnB,UAAU,MAAM,EAChB,aAAa,MAAM,KAClB,MAYF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,YAAY,EACnB,UAAU,MAAM,EAChB,aAAa,MAAM,KAClB,MA4BF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,YAAY,EACnB,UAAU,MAAM,EAChB,aAAa,MAAM,KAClB,MAGF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,OAAO,YAAY,EACnB,aAAa,MAAM,EACnB,aAAa,IAAI,KAChB,MAWF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,YAAY,EACnB,cAAc,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,KACnD,MAGF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,cAAc,KAAG,MAMlE,CAAC"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { SpecialOfferType, OfferDiscountType } from "@prisma/client";
|
|
2
|
+
import { convertCentsToDollars } from "../paymentUtils.js";
|
|
3
|
+
/**
|
|
4
|
+
* Calculate discount from a promo code
|
|
5
|
+
*/
|
|
6
|
+
export const calculatePromoCodeDiscount = (promoCode, ticketPrice, // In cents
|
|
7
|
+
quantity) => {
|
|
8
|
+
const originalTotal = ticketPrice * quantity;
|
|
9
|
+
let amountDiscounted = 0;
|
|
10
|
+
let discountType = 'PERCENTAGE';
|
|
11
|
+
let discountValue = 0;
|
|
12
|
+
if (promoCode.discountAmountPercentage) {
|
|
13
|
+
// Percentage discount
|
|
14
|
+
discountType = 'PERCENTAGE';
|
|
15
|
+
discountValue = promoCode.discountAmountPercentage;
|
|
16
|
+
amountDiscounted = Math.floor((originalTotal * promoCode.discountAmountPercentage) / 100);
|
|
17
|
+
}
|
|
18
|
+
else if (promoCode.discountAmountInCents) {
|
|
19
|
+
// Fixed amount discount (per order, not per ticket)
|
|
20
|
+
discountType = 'FIXED_AMOUNT';
|
|
21
|
+
discountValue = promoCode.discountAmountInCents;
|
|
22
|
+
amountDiscounted = Math.min(promoCode.discountAmountInCents, originalTotal);
|
|
23
|
+
}
|
|
24
|
+
const finalPrice = Math.max(0, originalTotal - amountDiscounted);
|
|
25
|
+
return {
|
|
26
|
+
sourceType: 'PROMO_CODE',
|
|
27
|
+
sourceId: promoCode.id,
|
|
28
|
+
sourceName: promoCode.code,
|
|
29
|
+
discountType,
|
|
30
|
+
discountValue,
|
|
31
|
+
amountDiscounted,
|
|
32
|
+
originalPrice: originalTotal,
|
|
33
|
+
finalPrice,
|
|
34
|
+
// Attribution = promoter's User id only (never Promoter row id — breaks dashboards).
|
|
35
|
+
// Omit if promoter pending signup (no userId yet) or relation not loaded.
|
|
36
|
+
...(promoCode.promoterId &&
|
|
37
|
+
promoCode.promoter?.userId && {
|
|
38
|
+
attribution: {
|
|
39
|
+
userId: promoCode.promoter.userId,
|
|
40
|
+
commissionRate: 5.0, // Legacy field on AppliedDiscount; dollar commissions disabled in API
|
|
41
|
+
commissionAmount: Math.floor(amountDiscounted * 0.05),
|
|
42
|
+
},
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Calculate discount from a special offer
|
|
48
|
+
*/
|
|
49
|
+
export const calculateSpecialOfferDiscount = (offer, ticketPrice, // In cents
|
|
50
|
+
quantity, userId) => {
|
|
51
|
+
const originalTotal = ticketPrice * quantity;
|
|
52
|
+
let amountDiscounted = 0;
|
|
53
|
+
let discountType = 'PERCENTAGE';
|
|
54
|
+
let discountValue = offer.discountValue;
|
|
55
|
+
// Calculate based on offer type
|
|
56
|
+
switch (offer.offerType) {
|
|
57
|
+
case SpecialOfferType.BOGO:
|
|
58
|
+
amountDiscounted = calculateBOGODiscount(offer, quantity, ticketPrice);
|
|
59
|
+
discountType = 'FREE_ITEMS'; // Special case for BOGO
|
|
60
|
+
break;
|
|
61
|
+
case SpecialOfferType.GROUP_DISCOUNT:
|
|
62
|
+
amountDiscounted = calculateGroupDiscount(offer, quantity, ticketPrice);
|
|
63
|
+
discountType = offer.discountType === OfferDiscountType.PERCENTAGE ? 'PERCENTAGE' : 'FIXED_AMOUNT';
|
|
64
|
+
break;
|
|
65
|
+
case SpecialOfferType.VOLUME_DISCOUNT:
|
|
66
|
+
amountDiscounted = calculateVolumeDiscount(offer, quantity, ticketPrice);
|
|
67
|
+
discountType = offer.discountType === OfferDiscountType.PERCENTAGE ? 'PERCENTAGE' : 'FIXED_AMOUNT';
|
|
68
|
+
break;
|
|
69
|
+
case SpecialOfferType.EARLY_BIRD:
|
|
70
|
+
case SpecialOfferType.FLASH_SALE:
|
|
71
|
+
case SpecialOfferType.LOYALTY:
|
|
72
|
+
case SpecialOfferType.COUNTDOWN:
|
|
73
|
+
// These are simple percentage or fixed amount discounts
|
|
74
|
+
if (offer.discountType === OfferDiscountType.PERCENTAGE) {
|
|
75
|
+
discountType = 'PERCENTAGE';
|
|
76
|
+
amountDiscounted = Math.floor((originalTotal * offer.discountValue) / 100);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
discountType = 'FIXED_AMOUNT';
|
|
80
|
+
amountDiscounted = Math.min(offer.discountValue * quantity, originalTotal);
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
case SpecialOfferType.BUNDLE:
|
|
84
|
+
// Bundle savings are pre-calculated
|
|
85
|
+
amountDiscounted = offer.bundleSavings || 0;
|
|
86
|
+
discountType = 'FIXED_AMOUNT';
|
|
87
|
+
break;
|
|
88
|
+
case SpecialOfferType.REFERRAL:
|
|
89
|
+
// Referral discounts apply to both parties
|
|
90
|
+
amountDiscounted = offer.referralDiscountForBuyer || 0;
|
|
91
|
+
discountType = 'FIXED_AMOUNT';
|
|
92
|
+
break;
|
|
93
|
+
case SpecialOfferType.FAMILY_PACK:
|
|
94
|
+
// Family pack is typically a percentage off
|
|
95
|
+
if (offer.discountType === OfferDiscountType.PERCENTAGE) {
|
|
96
|
+
discountType = 'PERCENTAGE';
|
|
97
|
+
amountDiscounted = Math.floor((originalTotal * offer.discountValue) / 100);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
discountType = 'FIXED_AMOUNT';
|
|
101
|
+
amountDiscounted = Math.min(offer.discountValue, originalTotal);
|
|
102
|
+
}
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
// Default to simple discount
|
|
106
|
+
if (offer.discountType === OfferDiscountType.PERCENTAGE) {
|
|
107
|
+
discountType = 'PERCENTAGE';
|
|
108
|
+
amountDiscounted = Math.floor((originalTotal * offer.discountValue) / 100);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
discountType = 'FIXED_AMOUNT';
|
|
112
|
+
amountDiscounted = Math.min(offer.discountValue, originalTotal);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const finalPrice = Math.max(0, originalTotal - amountDiscounted);
|
|
116
|
+
return {
|
|
117
|
+
sourceType: 'SPECIAL_OFFER',
|
|
118
|
+
sourceId: offer.id,
|
|
119
|
+
sourceName: offer.title,
|
|
120
|
+
discountType,
|
|
121
|
+
discountValue,
|
|
122
|
+
amountDiscounted,
|
|
123
|
+
originalPrice: originalTotal,
|
|
124
|
+
finalPrice,
|
|
125
|
+
// Only referral offers have attribution
|
|
126
|
+
...(offer.requiresAttribution && userId && offer.commissionRate && {
|
|
127
|
+
attribution: {
|
|
128
|
+
userId,
|
|
129
|
+
commissionRate: offer.commissionRate,
|
|
130
|
+
commissionAmount: Math.floor(amountDiscounted * (offer.commissionRate / 100)),
|
|
131
|
+
},
|
|
132
|
+
}),
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Calculate BOGO (Buy One Get One) discount
|
|
137
|
+
* Example: Buy 2 get 1 free, Buy 3 get 2 at 50% off
|
|
138
|
+
*/
|
|
139
|
+
export const calculateBOGODiscount = (offer, quantity, ticketPrice) => {
|
|
140
|
+
const buyQuantity = offer.buyQuantity || 1;
|
|
141
|
+
const getQuantity = offer.getQuantity || 1;
|
|
142
|
+
const getDiscountPercent = offer.getDiscountPercent || 100; // Default 100% off (free)
|
|
143
|
+
// Calculate how many sets of the offer apply
|
|
144
|
+
const sets = Math.floor(quantity / (buyQuantity + getQuantity));
|
|
145
|
+
const freeTickets = sets * getQuantity;
|
|
146
|
+
// Calculate discount on free tickets
|
|
147
|
+
const discountPerTicket = Math.floor((ticketPrice * getDiscountPercent) / 100);
|
|
148
|
+
return freeTickets * discountPerTicket;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Calculate group discount based on quantity
|
|
152
|
+
*/
|
|
153
|
+
export const calculateGroupDiscount = (offer, quantity, ticketPrice) => {
|
|
154
|
+
// Check if quantity qualifies
|
|
155
|
+
if (offer.minGroupSize && quantity < offer.minGroupSize) {
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
if (offer.maxGroupSize && quantity > offer.maxGroupSize) {
|
|
159
|
+
return 0; // Or cap at max group size
|
|
160
|
+
}
|
|
161
|
+
// Check for tiered discounts
|
|
162
|
+
if (offer.tieredDiscounts) {
|
|
163
|
+
const tiers = offer.tieredDiscounts;
|
|
164
|
+
// Find the highest tier that applies
|
|
165
|
+
const applicableTier = tiers
|
|
166
|
+
.filter(tier => quantity >= tier.qty)
|
|
167
|
+
.sort((a, b) => b.discount - a.discount)[0];
|
|
168
|
+
if (applicableTier) {
|
|
169
|
+
return Math.floor((ticketPrice * quantity * applicableTier.discount) / 100);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Fall back to simple discount
|
|
173
|
+
if (offer.discountType === OfferDiscountType.PERCENTAGE) {
|
|
174
|
+
return Math.floor((ticketPrice * quantity * offer.discountValue) / 100);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
return Math.min(offer.discountValue * quantity, ticketPrice * quantity);
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Calculate volume discount (buy more save more)
|
|
182
|
+
* Similar to group discount but typically for larger quantities
|
|
183
|
+
*/
|
|
184
|
+
export const calculateVolumeDiscount = (offer, quantity, ticketPrice) => {
|
|
185
|
+
// Reuse group discount logic
|
|
186
|
+
return calculateGroupDiscount(offer, quantity, ticketPrice);
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Calculate early bird discount (time-based)
|
|
190
|
+
*/
|
|
191
|
+
export const calculateEarlyBirdDiscount = (offer, ticketPrice, currentDate) => {
|
|
192
|
+
// Check if we're still in early bird period
|
|
193
|
+
if (offer.availableUntil && currentDate > offer.availableUntil) {
|
|
194
|
+
return 0;
|
|
195
|
+
}
|
|
196
|
+
if (offer.discountType === OfferDiscountType.PERCENTAGE) {
|
|
197
|
+
return Math.floor((ticketPrice * offer.discountValue) / 100);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
return Math.min(offer.discountValue, ticketPrice);
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* Calculate bundle discount
|
|
205
|
+
*/
|
|
206
|
+
export const calculateBundleDiscount = (offer, bundledItems) => {
|
|
207
|
+
// Bundle savings are pre-calculated and stored in the offer
|
|
208
|
+
return offer.bundleSavings || 0;
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Helper: Convert discount result to human-readable string
|
|
212
|
+
*/
|
|
213
|
+
export const formatDiscountDescription = (result) => {
|
|
214
|
+
if (result.discountType === 'PERCENTAGE') {
|
|
215
|
+
return `${result.sourceName}: -${result.discountValue}% ($${convertCentsToDollars(result.amountDiscounted).toFixed(2)})`;
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
return `${result.sourceName}: -$${convertCentsToDollars(result.amountDiscounted).toFixed(2)}`;
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=discountCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discountCalculator.js","sourceRoot":"","sources":["../../../src/utils/discountEngine/discountCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BashEventPromoCode, SpecialOffer } from "@prisma/client";
|
|
2
|
+
export interface EligibilityResult {
|
|
3
|
+
eligible: boolean;
|
|
4
|
+
reason?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Validate if a user is eligible to use a promo code
|
|
8
|
+
*/
|
|
9
|
+
export declare const validatePromoCodeEligibility: (promoCode: BashEventPromoCode, userId: string, usersWhoUsedCode?: string[]) => EligibilityResult;
|
|
10
|
+
/**
|
|
11
|
+
* Validate if a user is eligible for a special offer
|
|
12
|
+
*/
|
|
13
|
+
export declare const validateOfferEligibility: (offer: SpecialOffer, userId: string, quantity: number, currentDate: Date, userRedemptionCount?: number) => EligibilityResult;
|
|
14
|
+
/**
|
|
15
|
+
* Validate if an offer can stack with promo codes
|
|
16
|
+
*/
|
|
17
|
+
export declare const validateOfferStacking: (offer: SpecialOffer, hasPromoCode: boolean, hasOtherOffer: boolean) => EligibilityResult;
|
|
18
|
+
/**
|
|
19
|
+
* Validate loyalty offer requirements
|
|
20
|
+
*/
|
|
21
|
+
export declare const validateLoyaltyRequirements: (offer: SpecialOffer, userEventAttendanceCount: number, isHostEvent: boolean) => EligibilityResult;
|
|
22
|
+
/**
|
|
23
|
+
* Batch validate multiple offers for a user
|
|
24
|
+
*/
|
|
25
|
+
export declare const validateMultipleOffers: (offers: SpecialOffer[], userId: string, quantity: number, currentDate: Date, userRedemptions: Map<string, number>) => Map<string, EligibilityResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Get time remaining until offer expires (for countdown timers)
|
|
28
|
+
*/
|
|
29
|
+
export declare const getTimeRemaining: (offer: SpecialOffer, currentDate: Date) => {
|
|
30
|
+
expired: boolean;
|
|
31
|
+
days: number;
|
|
32
|
+
hours: number;
|
|
33
|
+
minutes: number;
|
|
34
|
+
seconds: number;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=eligibilityValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eligibilityValidator.d.ts","sourceRoot":"","sources":["../../../src/utils/discountEngine/eligibilityValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,WAAW,kBAAkB,EAC7B,QAAQ,MAAM,EACd,mBAAkB,MAAM,EAAO,KAC9B,iBA0BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,aAAa,IAAI,EACjB,sBAAqB,MAAU,KAC9B,iBAgGF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,YAAY,EACnB,cAAc,OAAO,EACrB,eAAe,OAAO,KACrB,iBAgBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,OAAO,YAAY,EACnB,0BAA0B,MAAM,EAChC,aAAa,OAAO,KACnB,iBAsBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,YAAY,EAAE,EACtB,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,aAAa,IAAI,EACjB,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KACnC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAU/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,YAAY,EAAE,aAAa,IAAI,KAAG;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAoBjB,CAAC"}
|