import { isEnabled } from '@automattic/calypso-config';
import { formatNumber } from '@automattic/number-formatters';
import i18n, { translate } from 'i18n-calypso';
import {
FEATURE_13GB_STORAGE,
FEATURE_100GB_STORAGE,
FEATURE_200GB_STORAGE,
FEATURE_3GB_STORAGE,
FEATURE_1GB_STORAGE,
FEATURE_50GB_STORAGE,
FEATURE_6GB_STORAGE,
FEATURE_ACCEPT_PAYMENTS,
FEATURE_ACTIVITY_LOG,
FEATURE_ACTIVITY_LOG_1_YEAR_V2,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
FEATURE_ADVANCED_SEO,
FEATURE_ADVANCED_SEO_EXPANDED_ABBR,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_ALL_BUSINESS_FEATURES,
FEATURE_ALL_FREE_FEATURES,
FEATURE_ALL_FREE_FEATURES_JETPACK,
FEATURE_ALL_PERSONAL_FEATURES,
FEATURE_ALL_PREMIUM_FEATURES,
FEATURE_ALL_PREMIUM_FEATURES_JETPACK,
FEATURE_ANTISPAM_V2,
FEATURE_WAF,
FEATURE_AUDIO_UPLOADS,
FEATURE_AUTOMATED_RESTORES,
FEATURE_AUTOMATIC_SECURITY_FIXES,
FEATURE_BACKUP_ARCHIVE_30,
FEATURE_BACKUP_ARCHIVE_UNLIMITED,
FEATURE_BACKUP_DAILY_V2,
FEATURE_BACKUP_REALTIME_V2,
FEATURE_BACKUP_STORAGE_SPACE_UNLIMITED,
FEATURE_BLANK,
FEATURE_BLOG_DOMAIN,
FEATURE_COLLECT_PAYMENTS_V2,
FEATURE_COMMUNITY_SUPPORT,
FEATURE_CRM_V2,
FEATURE_CUSTOM_DOMAIN,
FEATURE_EARN_AD,
FEATURE_EASY_SITE_MIGRATION,
FEATURE_ECOMMERCE_MARKETING,
FEATURE_EMAIL_FORWARDING_EXTENDED_LIMIT,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_FREE_BLOG_DOMAIN,
FEATURE_FREE_DOMAIN,
FEATURE_FREE_THEMES,
FEATURE_FREE_THEMES_SIGNUP,
FEATURE_FREE_WORDPRESS_THEMES,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_GOOGLE_MY_BUSINESS,
FEATURE_HOSTING,
FEATURE_INSTALL_PLUGINS,
WPCOM_FEATURES_INSTALL_PURCHASED_PLUGINS,
FEATURE_JETPACK_1TB_BACKUP_STORAGE,
FEATURE_JETPACK_ADVANCED,
FEATURE_JETPACK_ALL_BACKUP_SECURITY_FEATURES,
FEATURE_JETPACK_ANTI_SPAM_BI_YEARLY,
FEATURE_JETPACK_ANTI_SPAM,
FEATURE_JETPACK_ANTI_SPAM_MONTHLY,
FEATURE_JETPACK_BACKUP_DAILY,
FEATURE_JETPACK_BACKUP_DAILY_MONTHLY,
FEATURE_JETPACK_BACKUP_REALTIME,
FEATURE_JETPACK_BACKUP_REALTIME_MONTHLY,
FEATURE_JETPACK_BACKUP_T0_MONTHLY,
FEATURE_JETPACK_BACKUP_T0_YEARLY,
FEATURE_JETPACK_BACKUP_T1_MONTHLY,
FEATURE_JETPACK_BACKUP_T1_YEARLY,
FEATURE_JETPACK_BACKUP_T1_BI_YEARLY,
FEATURE_JETPACK_BACKUP_T2_MONTHLY,
FEATURE_JETPACK_BACKUP_T2_YEARLY,
FEATURE_JETPACK_CRM,
FEATURE_JETPACK_CRM_MONTHLY,
FEATURE_JETPACK_ESSENTIAL,
FEATURE_JETPACK_PRODUCT_BACKUP,
FEATURE_JETPACK_PRODUCT_VIDEOPRESS,
FEATURE_JETPACK_REAL_TIME_MALWARE_SCANNING,
FEATURE_JETPACK_SCAN_DAILY,
FEATURE_JETPACK_SCAN_DAILY_MONTHLY,
FEATURE_JETPACK_SEARCH_BI_YEARLY,
FEATURE_JETPACK_SEARCH,
FEATURE_JETPACK_SEARCH_MONTHLY,
FEATURE_JETPACK_VIDEOPRESS_BI_YEARLY,
FEATURE_JETPACK_VIDEOPRESS,
FEATURE_JETPACK_VIDEOPRESS_MONTHLY,
FEATURE_MALWARE_SCANNING_DAILY,
FEATURE_MALWARE_SCANNING_DAILY_AND_ON_DEMAND,
FEATURE_MANAGE,
FEATURE_MEMBERSHIPS,
FEATURE_MONETISE,
FEATURE_NO_ADS,
FEATURE_NO_BRANDING,
FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY,
FEATURE_OFFSITE_BACKUP_VAULTPRESS_REALTIME,
FEATURE_ONE_CLICK_THREAT_RESOLUTION,
FEATURE_P2_13GB_STORAGE,
FEATURE_P2_3GB_STORAGE,
FEATURE_P2_ACTIVITY_OVERVIEW,
FEATURE_P2_ADVANCED_SEARCH,
FEATURE_P2_CUSTOMIZATION_OPTIONS,
FEATURE_P2_MORE_FILE_TYPES,
FEATURE_P2_PRIORITY_CHAT_EMAIL_SUPPORT,
FEATURE_P2_SIMPLE_SEARCH,
FEATURE_P2_UNLIMITED_POSTS_PAGES,
FEATURE_P2_UNLIMITED_USERS,
FEATURE_P2_VIDEO_SHARING,
FEATURE_PLAN_SECURITY_DAILY,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_PREMIUM_CUSTOMIZABE_THEMES,
FEATURE_PREMIUM_SUPPORT,
FEATURE_PRODUCT_BACKUP_DAILY_V2,
FEATURE_PRODUCT_BACKUP_REALTIME_V2,
FEATURE_PRODUCT_SCAN_DAILY_V2,
FEATURE_PRODUCT_SCAN_REALTIME_V2,
FEATURE_PRODUCT_SEARCH_V2,
FEATURE_REPUBLICIZE,
FEATURE_SCAN_V2,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_SECURITY_SETTINGS,
FEATURE_SFTP,
FEATURE_SSH,
FEATURE_SITE_STAGING_SITES,
FEATURE_SFTP_DATABASE,
FEATURE_SHIPPING_CARRIERS,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_SITE_BACKUPS_AND_RESTORE,
FEATURE_SITE_STATS,
FEATURE_SOCIAL_MEDIA_TOOLS,
FEATURE_SPAM_AKISMET_PLUS,
FEATURE_STANDARD_SECURITY_TOOLS,
FEATURE_TITAN_EMAIL,
FEATURE_TRAFFIC_TOOLS,
FEATURE_UNLIMITED_PRODUCTS_SERVICES,
FEATURE_UPLOAD_PLUGINS,
FEATURE_UPLOAD_THEMES,
FEATURE_UPLOAD_THEMES_PLUGINS,
FEATURE_VIDEO_UPLOADS,
FEATURE_VIDEO_UPLOADS_JETPACK_PRO,
FEATURE_WORDADS_INSTANT,
FEATURE_WP_SUBDOMAIN,
FEATURE_WP_SUBDOMAIN_SIGNUP,
FEATURE_UNLIMITED_ADMINS,
FEATURE_UNLIMITED_TRAFFIC,
FEATURE_PAYMENT_BLOCKS,
FEATURE_WOOCOMMERCE,
GROUP_JETPACK,
GROUP_WPCOM,
GROUP_A4A,
PLAN_BLOGGER,
PLAN_BLOGGER_2_YEARS,
PLAN_BUSINESS,
PLAN_BUSINESS_2_YEARS,
PLAN_BUSINESS_3_YEARS,
PLAN_A4A_BUSINESS,
PLAN_A4A_BUSINESS_MONTHLY,
PLAN_100_YEARS,
PLAN_BUSINESS_MONTHLY,
PLAN_ECOMMERCE,
PLAN_ECOMMERCE_2_YEARS,
PLAN_ECOMMERCE_3_YEARS,
PLAN_ECOMMERCE_MONTHLY,
PLAN_ECOMMERCE_TRIAL_MONTHLY,
PLAN_ENTERPRISE_GRID_WPCOM,
PLAN_FREE,
PLAN_JETPACK_BUSINESS,
PLAN_JETPACK_BUSINESS_MONTHLY,
PLAN_JETPACK_COMPLETE_BI_YEARLY,
PLAN_JETPACK_COMPLETE,
PLAN_JETPACK_COMPLETE_MONTHLY,
PLAN_JETPACK_FREE,
PLAN_JETPACK_GOLDEN_TOKEN,
PLAN_JETPACK_GROWTH_MONTHLY,
PLAN_JETPACK_GROWTH_YEARLY,
PLAN_JETPACK_GROWTH_BI_YEARLY,
PLAN_JETPACK_PERSONAL,
PLAN_JETPACK_PERSONAL_MONTHLY,
PLAN_JETPACK_PREMIUM,
PLAN_JETPACK_PREMIUM_MONTHLY,
PLAN_JETPACK_SECURITY_DAILY,
PLAN_JETPACK_SECURITY_DAILY_MONTHLY,
PLAN_JETPACK_SECURITY_REALTIME,
PLAN_JETPACK_SECURITY_REALTIME_MONTHLY,
PLAN_JETPACK_SECURITY_T1_MONTHLY,
PLAN_JETPACK_SECURITY_T1_YEARLY,
PLAN_JETPACK_SECURITY_T1_BI_YEARLY,
PLAN_JETPACK_SECURITY_T2_MONTHLY,
PLAN_JETPACK_SECURITY_T2_YEARLY,
PLAN_JETPACK_STARTER_MONTHLY,
PLAN_JETPACK_STARTER_YEARLY,
PLAN_P2_FREE,
PLAN_P2_PLUS,
PLAN_PERSONAL,
PLAN_PERSONAL_2_YEARS,
PLAN_PERSONAL_3_YEARS,
PLAN_PERSONAL_MONTHLY,
PLAN_PERSONAL_TRIAL_MONTHLY,
PLAN_PREMIUM,
PLAN_PREMIUM_2_YEARS,
PLAN_PREMIUM_3_YEARS,
PLAN_PREMIUM_MONTHLY,
PLAN_STUDENT,
PLAN_WPCOM_FLEXIBLE,
PLAN_WPCOM_STARTER,
PLAN_WPCOM_PRO,
PLAN_WPCOM_PRO_MONTHLY,
PLAN_WPCOM_PRO_2_YEARS,
PREMIUM_DESIGN_FOR_STORES,
TERM_ANNUALLY,
TERM_BIENNIALLY,
TERM_TRIENNIALLY,
TERM_MONTHLY,
TYPE_ALL,
TYPE_BLOGGER,
TYPE_BUSINESS,
TYPE_ECOMMERCE,
TYPE_ENTERPRISE_GRID_WPCOM,
TYPE_FREE,
TYPE_P2_PLUS,
TYPE_PERSONAL,
TYPE_PREMIUM,
TYPE_SECURITY_DAILY,
TYPE_SECURITY_REALTIME,
TYPE_SECURITY_T1,
TYPE_SECURITY_T2,
TYPE_JETPACK_GROWTH,
TYPE_JETPACK_STARTER,
TYPE_FLEXIBLE,
TYPE_100_YEAR,
TYPE_PRO,
TYPE_STARTER,
TYPE_STUDENT,
TYPE_GOLDEN_TOKEN,
WPCOM_FEATURES_ATOMIC,
WPCOM_FEATURES_SCAN,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
WPCOM_FEATURES_FULL_ACTIVITY_LOG,
FEATURE_MANAGED_HOSTING,
FEATURE_UNLIMITED_EMAILS,
FEATURE_UNLIMITED_SUBSCRIBERS,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_REAL_TIME_ANALYTICS,
JETPACK_TAG_FOR_WOOCOMMERCE_STORES,
JETPACK_TAG_FOR_NEWS_ORGANISATIONS,
JETPACK_TAG_FOR_MEMBERSHIP_SITES,
JETPACK_TAG_FOR_SMALL_SITES,
JETPACK_TAG_FOR_BLOGS,
PRODUCT_JETPACK_BACKUP_T0_MONTHLY,
PRODUCT_JETPACK_BACKUP_T1_MONTHLY,
PRODUCT_JETPACK_SCAN_MONTHLY,
PRODUCT_JETPACK_ANTI_SPAM_MONTHLY,
PRODUCT_JETPACK_BACKUP_T0_YEARLY,
PRODUCT_JETPACK_BACKUP_T1_YEARLY,
PRODUCT_JETPACK_SCAN,
PRODUCT_JETPACK_ANTI_SPAM,
PRODUCT_JETPACK_BACKUP_T2_YEARLY,
PRODUCT_JETPACK_BACKUP_T2_MONTHLY,
PRODUCT_JETPACK_VIDEOPRESS,
PRODUCT_JETPACK_BOOST,
PRODUCT_JETPACK_SOCIAL_ADVANCED,
PRODUCT_JETPACK_SEARCH,
PRODUCT_JETPACK_CRM,
PRODUCT_JETPACK_CRM_MONTHLY,
PRODUCT_JETPACK_SEARCH_MONTHLY,
PRODUCT_JETPACK_SOCIAL_ADVANCED_MONTHLY,
PRODUCT_JETPACK_SOCIAL_V1_MONTHLY,
PRODUCT_JETPACK_SOCIAL_V1_YEARLY,
PRODUCT_JETPACK_SOCIAL_V1_BI_YEARLY,
PRODUCT_JETPACK_BOOST_MONTHLY,
PRODUCT_JETPACK_VIDEOPRESS_MONTHLY,
FEATURE_BEAUTIFUL_THEMES,
FEATURE_PAGES,
FEATURE_USERS,
FEATURE_NEWSLETTERS_RSS,
FEATURE_POST_EDITS_HISTORY,
FEATURE_SECURITY_BRUTE_FORCE,
FEATURE_SMART_REDIRECTS,
FEATURE_ALWAYS_ONLINE,
FEATURE_99_999_UPTIME,
FEATURE_FAST_DNS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS,
FEATURE_WORDADS,
FEATURE_PLUGINS_THEMES,
FEATURE_BANDWIDTH,
FEATURE_BURST,
FEATURE_WAF_V2,
FEATURE_CDN,
FEATURE_CPUS,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_ISOLATED_INFRA,
FEATURE_SECURITY_MALWARE,
FEATURE_SECURITY_DDOS,
FEATURE_DEV_TOOLS,
FEATURE_DEV_TOOLS_SSH,
FEATURE_DEV_TOOLS_GIT,
FEATURE_WP_UPDATES,
FEATURE_MULTI_SITE,
FEATURE_SELL_SHIP,
FEATURE_CUSTOM_STORE,
FEATURE_INVENTORY,
FEATURE_CHECKOUT,
FEATURE_ACCEPT_PAYMENTS_V2,
FEATURE_SALES_REPORTS,
FEATURE_EXTENSIONS,
FEATURE_STATS_JP,
FEATURE_SPAM_JP,
FEATURE_LTD_SOCIAL_MEDIA_JP,
FEATURE_SHARES_SOCIAL_MEDIA_JP,
FEATURE_CONTACT_FORM_JP,
FEATURE_PAID_SUBSCRIBERS_JP,
FEATURE_VIDEOPRESS_JP,
FEATURE_UNLTD_SOCIAL_MEDIA_JP,
FEATURE_SEO_JP,
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_UPTIME_MONITOR_JP,
FEATURE_ES_SEARCH_JP,
FEATURE_PLUGIN_AUTOUPDATE_JP,
FEATURE_PREMIUM_CONTENT_JP,
FEATURE_ONE_CLICK_RESTORE_V2,
FEATURE_SITE_ACTIVITY_LOG_JP,
FEATURE_DONATIONS_AND_TIPS_JP,
FEATURE_CLOUD_CRITICAL_CSS,
FEATURE_GLOBAL_EDGE_CACHING,
PLAN_WOOEXPRESS_MEDIUM_MONTHLY,
PLAN_WOOEXPRESS_MEDIUM,
PLAN_WOOEXPRESS_SMALL_MONTHLY,
PLAN_WOOEXPRESS_SMALL,
PLAN_WOO_HOSTED_FREE,
PLAN_WOO_HOSTED_FREE_TRIAL_MONTHLY,
PLAN_WOO_HOSTED_BASIC_MONTHLY,
PLAN_WOO_HOSTED_BASIC,
PLAN_WOO_HOSTED_PRO_MONTHLY,
PLAN_WOO_HOSTED_PRO,
FEATURE_JETPACK_SOCIAL_ADVANCED,
FEATURE_JETPACK_SOCIAL_ADVANCED_MONTHLY,
FEATURE_JETPACK_BOOST_BI_YEARLY,
FEATURE_JETPACK_BOOST,
FEATURE_JETPACK_BOOST_MONTHLY,
FEATURE_JETPACK_SOCIAL_BASIC_BI_YEARLY,
FEATURE_JETPACK_SOCIAL_BASIC,
FEATURE_JETPACK_SOCIAL_BASIC_MONTHLY,
FEATURE_SELL_INTERNATIONALLY,
FEATURE_AUTOMATIC_SALES_TAX,
FEATURE_AUTOMATED_BACKUPS_SECURITY_SCAN,
FEATURE_SELL_EGIFTS_AND_VOUCHERS,
FEATURE_EMAIL_MARKETING,
FEATURE_WORDPRESS_STUDIO_SYNC,
FEATURE_MARKETPLACE_SYNC_SOCIAL_MEDIA_INTEGRATION,
FEATURE_INTEGRATED_SHIPMENT_TRACKING,
FEATURE_BACK_IN_STOCK_NOTIFICATIONS,
FEATURE_MARKETING_AUTOMATION,
FEATURE_AUTOMATED_EMAIL_TRIGGERS,
FEATURE_CART_ABANDONMENT_EMAILS,
FEATURE_OFFER_BULK_DISCOUNTS,
FEATURE_RECOMMEND_ADD_ONS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
FEATURE_WOOCOMMERCE_STORE,
FEATURE_WOOCOMMERCE_MOBILE_APP,
FEATURE_WORDPRESS_CMS,
FEATURE_WORDPRESS_MOBILE_APP,
FEATURE_FREE_SSL_CERTIFICATE,
FEATURE_GOOGLE_ANALYTICS_V3,
FEATURE_LIST_UNLIMITED_PRODUCTS,
FEATURE_GIFT_CARDS,
FEATURE_PRODUCT_BUNDLES,
FEATURE_LIST_PRODUCTS_BY_BRAND,
FEATURE_PRODUCT_RECOMMENDATIONS,
FEATURE_INTEGRATED_PAYMENTS,
FEATURE_INTERNATIONAL_PAYMENTS,
FEATURE_AUTOMATED_SALES_TAXES,
FEATURE_ACCEPT_LOCAL_PAYMENTS,
FEATURE_RECURRING_PAYMENTS,
FEATURE_PROMOTE_ON_TIKTOK,
FEATURE_SYNC_WITH_PINTEREST,
FEATURE_CONNECT_WITH_FACEBOOK,
FEATURE_ABANDONED_CART_RECOVERY,
FEATURE_ADVERTISE_ON_GOOGLE,
FEATURE_CUSTOM_ORDER_EMAILS,
FEATURE_LIVE_SHIPPING_RATES,
FEATURE_DISCOUNTED_SHIPPING,
FEATURE_PRINT_SHIPPING_LABELS,
PLAN_WOOEXPRESS_PLUS,
TYPE_WOO_EXPRESS_PLUS,
FEATURE_NEWSLETTER_IMPORT_SUBSCRIBERS_FREE,
FEATURE_PAYMENT_TRANSACTION_FEES_10,
FEATURE_PAYMENT_TRANSACTION_FEES_8,
FEATURE_PAYMENT_TRANSACTION_FEES_4,
FEATURE_PAYMENT_TRANSACTION_FEES_2,
FEATURE_PAYMENT_TRANSACTION_FEES_0,
TYPE_WOOEXPRESS_SMALL,
TYPE_WOOEXPRESS_MEDIUM,
TYPE_WOO_HOSTED_BASIC,
TYPE_WOO_HOSTED_PRO,
TYPE_WOO_HOSTED_FREE_TRIAL,
FEATURE_PREMIUM_STORE_THEMES,
FEATURE_STORE_DESIGN,
FEATURE_UNLIMITED_PRODUCTS,
FEATURE_DISPLAY_PRODUCTS_BRAND,
FEATURE_PRODUCT_ADD_ONS,
FEATURE_ASSEMBLED_KITS,
FEATURE_STOCK_NOTIFS,
FEATURE_DYNAMIC_UPSELLS,
FEATURE_CUSTOM_MARKETING_AUTOMATION,
FEATURE_BULK_DISCOUNTS,
FEATURE_INVENTORY_MGMT,
FEATURE_STREAMLINED_CHECKOUT,
FEATURE_SELL_60_COUNTRIES,
FEATURE_SHIPPING_INTEGRATIONS,
FEATURE_THE_READER,
PLAN_MIGRATION_TRIAL_MONTHLY,
PLAN_HOSTING_TRIAL_MONTHLY,
FEATURE_PAYMENT_BUTTONS_JP,
FEATURE_PAYPAL_JP,
FEATURE_PAYMENT_TRANSACTION_FEES_0_ALL,
FEATURE_PAYMENT_TRANSACTION_FEES_2_REGULAR,
FEATURE_PAYMENT_TRANSACTION_FEES_0_WOO,
PRODUCT_JETPACK_STATS_MONTHLY,
PRODUCT_JETPACK_STATS_YEARLY,
TERM_CENTENNIALLY,
FEATURE_STATS_PAID,
FEATURE_STATS_COMMERCIAL,
PRODUCT_JETPACK_SCAN_BI_YEARLY,
PRODUCT_JETPACK_ANTI_SPAM_BI_YEARLY,
PRODUCT_JETPACK_VIDEOPRESS_BI_YEARLY,
PRODUCT_JETPACK_BOOST_BI_YEARLY,
PRODUCT_JETPACK_SOCIAL_ADVANCED_BI_YEARLY,
PRODUCT_JETPACK_SEARCH_BI_YEARLY,
PRODUCT_JETPACK_STATS_BI_YEARLY,
PRODUCT_JETPACK_BACKUP_T1_BI_YEARLY,
PRODUCT_JETPACK_AI_BI_YEARLY,
PRODUCT_JETPACK_AI_YEARLY,
PRODUCT_JETPACK_AI_MONTHLY,
FEATURE_JETPACK_SOCIAL_ADVANCED_BI_YEARLY,
FEATURE_AI_ASSISTED_PRODUCT_DESCRIPTION,
GROUP_P2,
FEATURE_JETPACK_30_DAY_ARCHIVE_ACTIVITY_LOG,
FEATURE_JETPACK_1_YEAR_ARCHIVE_ACTIVITY_LOG,
FEATURE_COMMISSION_FEE_WOO_FEATURES,
FEATURE_COMMISSION_FEE_STANDARD_FEATURES,
FEATURE_SENSEI_SUPPORT,
FEATURE_SENSEI_UNLIMITED,
FEATURE_SENSEI_INTERACTIVE,
FEATURE_SENSEI_QUIZZES,
FEATURE_SENSEI_SELL_COURSES,
FEATURE_SENSEI_STORAGE,
FEATURE_SENSEI_HOSTING,
FEATURE_SENSEI_JETPACK,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_PREMIUM_THEMES,
WPCOM_FEATURES_PREMIUM_THEMES_LIMITED,
WPCOM_FEATURES_BACKUPS_RESTORE,
FEATURE_REAL_TIME_SECURITY_SCANS,
FEATURE_TIERED_STORAGE_PLANS_AVAILABLE,
FEATURE_SEAMLESS_STAGING_PRODUCTION_SYNCING,
FEATURE_SECURITY_VULNERABILITY_NOTIFICATIONS,
FEATURE_WOOCOMMERCE_HOSTING,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_THEMES_PREMIUM_AND_STORE,
FEATURE_UNLIMITED_ENTITIES,
JETPACK_TAG_FOR_BLOGGERS,
FEATURE_CONNECT_ANALYTICS,
FEATURE_JETPACK_SOCIAL_V1_MONTHLY,
FEATURE_BIG_SKY_WEBSITE_BUILDER,
FEATURE_BIG_SKY_WEBSITE_BUILDER_CHECKOUT,
FEATURE_GUIDED_WEBSITE_BUILDER,
FEATURE_GUIDED_WEBSITE_BUILDER_LIMITED,
FEATURE_AI_WRITER_DESIGNER_LIMITED,
FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR,
FEATURE_BLAZE_AD_CREDITS,
FEATURE_UPLOAD_VIDEO,
FEATURE_STATS_BASIC_20250206,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_SUPPORT,
FEATURE_SUPPORT_FROM_EXPERTS,
FEATURE_FREE_FAST_SUPPORT,
FEATURE_AI_ASSISTANT,
FEATURE_BUILT_IN_SITE_ASSISTANT,
FEATURE_ADVANCED_FORM_FEATURES_JP,
FEATURE_WOO_AUTOMATE,
FEATURE_WOO_SHIPPING_TRACKING,
FEATURE_GOOGLE_LISTING_ADS,
WPCOM_FEATURES_GITHUB_DEPLOYMENTS,
WPCOM_FEATURES_LOGS,
WPCOM_FEATURES_MONITORING,
WPCOM_FEATURES_PERFORMANCE,
WPCOM_FEATURES_BIG_SKY,
FEATURE_WOO_HOSTED_PACKAGE,
FEATURE_WOO_HOSTED_AI_BUILDER,
FEATURE_WOO_HOSTED_PAYPAL_INTEGRATON,
FEATURE_WOO_HOSTED_MARKETING_TOOLS,
FEATURE_WOO_HOSTED_BASIC_MAILPOET,
FEATURE_WOO_HOSTED_PRO_MAILPOET,
FEATURE_WOO_HOSTED_BASIC_ADMIN_USERS,
FEATURE_WOO_HOSTED_PRO_ADMIN_USERS,
FEATURE_WOO_HOSTED_POWERFUL_COMMERCE_TOOLS,
FEATURE_WOO_HOSTED_FREE_DOMAIN_1_YEAR,
FEATURE_WOO_HOSTED_SEAMLESS_CHECKOUT,
FEATURE_WOO_HOSTED_ACCEPT_CARD_PAYMENTS,
FEATURE_WOO_HOSTED_POS_PAYMENTS,
FEATURE_WOO_HOSTED_POS_NO_MONTHLY_FEES,
FEATURE_WOO_HOSTED_LIST_PRODUCTS,
FEATURE_WOO_HOSTED_BOOKINGS,
FEATURE_WOO_HOSTED_TEAM_BOOKINGS,
FEATURE_WOO_HOSTED_UPSELLS_CROSS_SELLS,
FEATURE_WOO_HOSTED_GIFT_CARDS,
FEATURE_WOO_HOSTED_MOBILE_APP,
FEATURE_WOO_HOSTED_SHIPMENT_TRACKING,
FEATURE_WOO_HOSTED_USPS_UPS,
FEATURE_WOO_HOSTED_ANALYTICS_REPORTS,
FEATURE_WOO_HOSTED_BASIC_STORAGE,
FEATURE_WOO_HOSTED_PRO_STORAGE,
FEATURE_WOO_HOSTED_SECURITY,
FEATURE_WOO_HOSTED_AUTOMATED_EMAIL_FLOWS,
FEATURE_WOO_HOSTED_ABANDONED_CART_EMAILS,
FEATURE_WOO_HOSTED_POST_PURCHASE_EMAILS,
FEATURE_WOO_HOSTED_EMAIL_TEMPLATES,
FEATURE_WOO_HOSTED_SEO_TOOLS,
FEATURE_WOO_HOSTED_COUPONS,
FEATURE_WOO_HOSTED_POS_SYSTEM,
FEATURE_WOO_HOSTED_STAFF_ACCOUNTS,
FEATURE_WOO_HOSTED_STORAGE_SPACE,
FEATURE_WOO_HOSTED_EMAIL_CAMPAIGNS,
FEATURE_WOO_HOSTED_EMAIL_SUBSCRIBER_MGMT,
FEATURE_WOO_HOSTED_SALES_TAX,
FEATURE_WOO_HOSTED_SHIPPING_LABELS,
FEATURE_WOO_HOSTED_PRIORITY_SUPPORT,
WPCOM_FEATURES_SCAN_SELF_SERVE,
WPCOM_FEATURES_BACKUPS_SELF_SERVE,
} from './constants';
import { isBigSkyOnboarding } from './is-big-sky-onboarding';
import {
getPlanBusinessTitle,
getPlanEcommerceTitle,
getPlanPersonalTitle,
getPlanPremiumTitle,
getPlanBusinessTrialTitle,
getPlanCommerceTrialTitle,
getPlanBusinessTrialTagline,
} from './plans';
import type {
BillingTerm,
Plan,
JetpackPlan,
WPComPlan,
IncompleteWPcomPlan,
IncompleteJetpackPlan,
Feature,
} from './types';
import type { TranslateResult } from 'i18n-calypso';
function isValueTruthy< T >( value: T ): value is Exclude< T, null | undefined | false | 0 | '' > {
return !! value;
}
function compact( elements: ( string | false | undefined | null )[] ): string[] {
return elements.filter( isValueTruthy );
}
const WPComGetBillingTimeframe = (): TranslateResult =>
i18n.translate( 'per month, billed annually' );
const WPComGetBiennialBillingTimeframe = (): TranslateResult =>
i18n.translate( '/month, billed every two years' );
const WPComGetTriennialBillingTimeframe = (): TranslateResult =>
i18n.translate( '/month, billed every three years' );
const getBiAnnualTimeframe = (): BillingTerm => ( {
term: TERM_BIENNIALLY,
getBillingTimeFrame: () => translate( 'per 2 years' ),
} );
const getAnnualTimeframe = (): BillingTerm => ( {
term: TERM_ANNUALLY,
getBillingTimeFrame: () => translate( 'per year' ),
} );
const getMonthlyTimeframe = (): BillingTerm => ( {
term: TERM_MONTHLY,
getBillingTimeFrame: () => translate( 'per month, billed monthly' ),
} );
const getJetpackCommonPlanDetails = () => ( {
getRecommendedFor: () => [
{ tag: JETPACK_TAG_FOR_WOOCOMMERCE_STORES, label: translate( 'WooCommerce stores' ) },
{ tag: JETPACK_TAG_FOR_NEWS_ORGANISATIONS, label: translate( 'News organizations' ) },
{ tag: JETPACK_TAG_FOR_MEMBERSHIP_SITES, label: translate( 'Membership sites' ) },
],
} );
const getDotcomPlanDetails = () => ( {
// Features only available for annual plans
getAnnualPlansOnlyFeatures: () => [
FEATURE_FREE_DOMAIN,
FEATURE_CUSTOM_DOMAIN,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_WOO_HOSTED_FREE_DOMAIN_1_YEAR,
],
} );
/* eslint-disable wpcalypso/jsx-classname-namespace */
const plansDescriptionHeadingComponent = {
components: {
strong: ,
},
};
/* eslint-enable */
const isStatsFeatureTranslated = () => {
const isEnglishLocale = i18n.getLocaleSlug()?.startsWith( 'en' );
const hasStatsTranslation =
i18n.hasTranslation( 'Full history, filters & peak times' ) ||
i18n.hasTranslation( 'Last 7 days of basic stats' ) ||
i18n.hasTranslation( 'Advanced insights, including UTM & device analytics' );
return isEnglishLocale || hasStatsTranslation;
};
const getPlanFreeDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_FREE,
getTitle: () => i18n.translate( 'Free' ),
getPlanTagline: () => i18n.translate( 'Get started with all the basics.' ),
getNewsletterTagLine: () =>
i18n.translate( 'Start fresh or make the switch, bringing your first 100 readers with you.' ),
getBlogOnboardingTagLine: () =>
i18n.translate( 'Not a trial – blog free for as long as you like.' ),
getDescription: () =>
i18n.translate(
'Get a free website and be on your way to publishing your ' +
'first post in less than five minutes.'
),
getPlanCompareFeatures: () => [
// pay attention to ordering, shared features should align on /plan page
FEATURE_WP_SUBDOMAIN,
FEATURE_JETPACK_ESSENTIAL,
FEATURE_COMMUNITY_SUPPORT,
FEATURE_FREE_THEMES,
FEATURE_3GB_STORAGE,
],
getSignupFeatures: () => [
FEATURE_COMMUNITY_SUPPORT,
FEATURE_WP_SUBDOMAIN_SIGNUP,
FEATURE_FREE_THEMES_SIGNUP,
],
getBlogSignupFeatures: () => [
FEATURE_COMMUNITY_SUPPORT,
FEATURE_WP_SUBDOMAIN_SIGNUP,
FEATURE_FREE_THEMES_SIGNUP,
],
getPortfolioSignupFeatures: () => [
FEATURE_COMMUNITY_SUPPORT,
FEATURE_WP_SUBDOMAIN_SIGNUP,
FEATURE_FREE_THEMES_SIGNUP,
],
get2023PricingGridSignupWpcomFeatures: () => {
return [ FEATURE_UNLIMITED_ENTITIES ];
},
getVar42NoAiSignupWpcomFeatures: () => [ FEATURE_UNLIMITED_ENTITIES ],
get2023PlanComparisonFeatureOverride: () => {
return [
FEATURE_AI_ASSISTANT,
FEATURE_BEAUTIFUL_THEMES,
FEATURE_PAGES,
FEATURE_USERS,
FEATURE_POST_EDITS_HISTORY,
FEATURE_NEWSLETTERS_RSS,
FEATURE_SECURITY_BRUTE_FORCE,
FEATURE_SMART_REDIRECTS,
FEATURE_ALWAYS_ONLINE,
FEATURE_PAYMENT_TRANSACTION_FEES_10,
FEATURE_GLOBAL_EDGE_CACHING,
FEATURE_BURST,
FEATURE_WAF_V2,
FEATURE_CPUS,
FEATURE_CDN,
FEATURE_ES_SEARCH_JP,
FEATURE_MULTI_SITE,
FEATURE_WP_UPDATES,
FEATURE_SECURITY_DDOS,
FEATURE_SECURITY_MALWARE,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_BANDWIDTH,
FEATURE_FAST_DNS,
];
},
// Comparison grid when plans pricing differentiators experiment is active (non-control).
get2023PlanComparisonFeatureOverrideForExperiment: () => {
return [
FEATURE_AI_ASSISTANT,
FEATURE_BEAUTIFUL_THEMES,
FEATURE_PAGES,
FEATURE_USERS,
FEATURE_POST_EDITS_HISTORY,
FEATURE_NEWSLETTERS_RSS,
FEATURE_SECURITY_BRUTE_FORCE,
FEATURE_SMART_REDIRECTS,
FEATURE_ALWAYS_ONLINE,
FEATURE_PAYMENT_TRANSACTION_FEES_10,
FEATURE_GLOBAL_EDGE_CACHING,
FEATURE_BURST,
FEATURE_WAF_V2,
FEATURE_CPUS,
FEATURE_CDN,
FEATURE_ES_SEARCH_JP,
FEATURE_MULTI_SITE,
FEATURE_WP_UPDATES,
FEATURE_SECURITY_DDOS,
FEATURE_SECURITY_MALWARE,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_BANDWIDTH,
FEATURE_FAST_DNS,
];
},
get2023PricingGridSignupJetpackFeatures: () => {
return [];
},
get2023PlanComparisonJetpackFeatureOverride: () => {
return [
FEATURE_PAID_SUBSCRIBERS_JP,
FEATURE_DONATIONS_AND_TIPS_JP,
FEATURE_PREMIUM_CONTENT_JP,
FEATURE_PAYMENT_BUTTONS_JP,
FEATURE_STATS_JP,
FEATURE_SPAM_JP,
FEATURE_CONTACT_FORM_JP,
FEATURE_SITE_ACTIVITY_LOG_JP,
FEATURE_UNLTD_SOCIAL_MEDIA_JP,
FEATURE_ES_SEARCH_JP,
];
},
// Experimental: Exclude payment features for Free plan in experiment variants
get2023PlanComparisonJetpackFeatureOverrideForExperiment: () => {
return [
FEATURE_PAID_SUBSCRIBERS_JP,
FEATURE_PREMIUM_CONTENT_JP,
FEATURE_STATS_JP,
FEATURE_SPAM_JP,
FEATURE_CONTACT_FORM_JP,
FEATURE_SITE_ACTIVITY_LOG_JP,
FEATURE_UNLTD_SOCIAL_MEDIA_JP,
FEATURE_ES_SEARCH_JP,
];
},
getStorageFeature: () => FEATURE_1GB_STORAGE,
getPlanComparisonFeatureLabels: () => {
const baseFeatures = {
[ FEATURE_SHARES_SOCIAL_MEDIA_JP ]: i18n.translate( '%d shares per month', { args: [ 30 ] } ),
[ FEATURE_COMMISSION_FEE_STANDARD_FEATURES ]: formatNumber( 0.1, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_AI_ASSISTANT ]: i18n.translate( 'Limited to 20 requests' ),
};
return isStatsFeatureTranslated()
? { ...baseFeatures, [ FEATURE_STATS_JP ]: i18n.translate( 'Last 7 days of basic stats' ) }
: baseFeatures;
},
getNewsletterSignupFeatures: () => [
FEATURE_NEWSLETTER_IMPORT_SUBSCRIBERS_FREE,
FEATURE_PREMIUM_CONTENT_JP,
FEATURE_NEWSLETTERS_RSS,
FEATURE_UNLIMITED_EMAILS,
FEATURE_STATS_JP,
FEATURE_BANDWIDTH,
FEATURE_LTD_SOCIAL_MEDIA_JP,
FEATURE_PAYMENT_TRANSACTION_FEES_10,
],
getBlogOnboardingSignupFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_BEAUTIFUL_THEMES,
FEATURE_PAGES,
FEATURE_USERS,
FEATURE_POST_EDITS_HISTORY,
FEATURE_SECURITY_BRUTE_FORCE,
FEATURE_ALWAYS_ONLINE,
FEATURE_THE_READER,
],
getBlogOnboardingSignupJetpackFeatures: () => [
FEATURE_NEWSLETTER_IMPORT_SUBSCRIBERS_FREE,
FEATURE_UNLIMITED_EMAILS,
FEATURE_NEWSLETTERS_RSS,
FEATURE_STATS_JP,
FEATURE_LTD_SOCIAL_MEDIA_JP,
FEATURE_SPAM_JP,
],
getIncludedFeatures: () => [],
getInferiorFeatures: () => [],
} );
const getPlanBloggerDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_BLOGGER,
getTitle: () => i18n.translate( 'Blogger' ),
getDescription: () =>
i18n.translate(
'{{strong}}Best for bloggers:{{/strong}} Brand your blog with a custom .blog domain name, and remove all WordPress.com advertising. Receive additional storage space and customer support via email.',
plansDescriptionHeadingComponent
),
getPlanCompareFeatures: () => [
// pay attention to ordering, shared features should align on /plan page
FEATURE_BLOG_DOMAIN,
FEATURE_JETPACK_ESSENTIAL,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_FREE_THEMES,
FEATURE_6GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
FEATURE_PREMIUM_CONTENT_BLOCK,
],
getSignupFeatures: () => [
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_BLOG_DOMAIN,
FEATURE_ALL_FREE_FEATURES,
],
getBlogSignupFeatures: () => [
FEATURE_FREE_BLOG_DOMAIN,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_ALL_FREE_FEATURES,
],
getPortfolioSignupFeatures: () => [
FEATURE_FREE_BLOG_DOMAIN,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_ALL_FREE_FEATURES,
],
// Features not displayed but used for checking plan abilities
getIncludedFeatures: () => [ FEATURE_AUDIO_UPLOADS ],
getInferiorFeatures: () => [],
getCancellationFeatures: () => [
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_AUDIO_UPLOADS,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
],
} );
const getPlanPersonalDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_PERSONAL,
getTitle: getPlanPersonalTitle,
getPlanTagline: () => i18n.translate( 'Make your mark with a custom domain.' ),
getNewsletterTagLine: () =>
i18n.translate( 'Monetize your writing, go ad-free, and expand your media content.' ),
getBlogOnboardingTagLine: () =>
i18n.translate(
'Take the next step with gated content, paid subscribers, and an ad-free site.'
),
getDescription: () =>
i18n.translate(
'{{strong}}Best for personal projects:{{/strong}} Show credibility with your own domain name and an ad-free experience.',
plansDescriptionHeadingComponent
),
getPlanCompareFeatures: () =>
compact(
[
// pay attention to ordering, shared features should align on /plan page
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_JETPACK_ESSENTIAL,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_FREE_THEMES,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_6GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_PAYMENT_TRANSACTION_FEES_8,
].filter( ( feature ) => feature !== null )
),
getSignupFeatures: () => [
FEATURE_FREE_DOMAIN,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_FREE_THEMES,
FEATURE_STYLE_CUSTOMIZATION,
],
getBlogSignupFeatures: () => [
FEATURE_FREE_DOMAIN,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_ALL_FREE_FEATURES,
],
getPortfolioSignupFeatures: () => [
FEATURE_FREE_DOMAIN,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_ALL_FREE_FEATURES,
],
getSignupCompareAvailableFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_NO_ADS,
FEATURE_COLLECT_PAYMENTS_V2,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_STYLE_CUSTOMIZATION,
],
get2023PricingGridSignupWpcomFeatures: () => [
...( isBigSkyOnboarding() ? [ FEATURE_BIG_SKY_WEBSITE_BUILDER ] : [] ),
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
WPCOM_FEATURES_PREMIUM_THEMES_LIMITED,
FEATURE_SUPPORT_FROM_EXPERTS,
FEATURE_STATS_BASIC_20250206,
FEATURE_UPLOAD_PLUGINS,
FEATURE_STYLE_CUSTOMIZATION,
],
get2023PricingGridSignupJetpackFeatures: () => {
return [];
},
getVar42NoAiSignupWpcomFeatures: () => [
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_GUIDED_WEBSITE_BUILDER_LIMITED,
WPCOM_FEATURES_PREMIUM_THEMES_LIMITED,
FEATURE_SUPPORT_FROM_EXPERTS,
FEATURE_UPLOAD_PLUGINS,
],
get2023PlanComparisonFeatureOverride: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_FAST_DNS,
FEATURE_PAYMENT_TRANSACTION_FEES_8,
FEATURE_PREMIUM_THEMES,
FEATURE_SUPPORT,
FEATURE_ISOLATED_INFRA,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_PLUGINS_THEMES,
],
// Comparison grid when plans pricing differentiators experiment is active (non-control).
get2023PlanComparisonFeatureOverrideForExperiment: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_FAST_DNS,
FEATURE_PAYMENT_TRANSACTION_FEES_8,
FEATURE_PREMIUM_THEMES,
FEATURE_SUPPORT_FROM_EXPERTS, // Shows "Free support" in experiment variant
FEATURE_ISOLATED_INFRA,
FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_AI_ASSISTANT,
FEATURE_WORDPRESS_STUDIO_SYNC,
FEATURE_PLUGINS_THEMES,
],
get2023PlanComparisonJetpackFeatureOverride: () => {
return [ FEATURE_ADVANCED_FORM_FEATURES_JP ];
},
// Experimental: Comparison grid Jetpack features for experiment variants.
// Advanced Jetpack Forms is excluded for Personal plan in experiment variants.
get2023PlanComparisonJetpackFeatureOverrideForExperiment: () => {
return [];
},
getStorageFeature: () => FEATURE_6GB_STORAGE,
getPlanComparisonFeatureLabels: ( { isExperimentVariant } = {} ) => {
const baseFeatures = {
[ FEATURE_PREMIUM_THEMES ]: i18n.translate( 'Dozens of premium themes' ),
[ FEATURE_SHARES_SOCIAL_MEDIA_JP ]: i18n.translate( '%d shares per month', { args: [ 30 ] } ),
[ FEATURE_COMMISSION_FEE_STANDARD_FEATURES ]: formatNumber( 0.08, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_SUPPORT ]: isExperimentVariant
? i18n.translate( 'Free support' )
: i18n.translate( 'Support from our expert\u00A0team' ),
...( isExperimentVariant && {
[ FEATURE_AI_ASSISTANT ]: i18n.translate( 'Usage limits apply' ),
} ),
};
return isStatsFeatureTranslated()
? {
...baseFeatures,
[ FEATURE_STATS_JP ]: i18n.translate( 'Full history, filters & peak times' ),
}
: baseFeatures;
},
getNewsletterSignupFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_UNLIMITED_SUBSCRIBERS,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_PAYMENT_TRANSACTION_FEES_8,
],
getNewsletterHighlightedFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_UNLIMITED_EMAILS,
FEATURE_AD_FREE_EXPERIENCE,
],
getBlogOnboardingSignupFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_FAST_DNS,
FEATURE_PAYMENT_TRANSACTION_FEES_8,
],
getBlogOnboardingHighlightedFeatures: () => [ FEATURE_CUSTOM_DOMAIN ],
getBlogOnboardingSignupJetpackFeatures: () => [
FEATURE_UNLIMITED_SUBSCRIBERS,
FEATURE_PREMIUM_CONTENT_JP,
FEATURE_PAID_SUBSCRIBERS_JP,
],
getCheckoutFeatures: () => {
const baseFeatures = [
...( isBigSkyOnboarding() ? [ FEATURE_BIG_SKY_WEBSITE_BUILDER_CHECKOUT ] : [] ),
FEATURE_CUSTOM_DOMAIN,
FEATURE_PLUGINS_THEMES,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_FAST_DNS,
FEATURE_PAID_SUBSCRIBERS_JP,
];
return isEnabled( 'stats/paid-wpcom-v3' )
? [ ...baseFeatures, FEATURE_STATS_PAID ]
: baseFeatures;
},
// Features not displayed but used for checking plan abilities
getIncludedFeatures: () => [
FEATURE_AUDIO_UPLOADS,
WPCOM_FEATURES_FULL_ACTIVITY_LOG,
WPCOM_FEATURES_BIG_SKY,
],
getInferiorFeatures: () => [],
getCancellationFeatures: () => [
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_AUDIO_UPLOADS,
],
} );
const getPlanEcommerceDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_ECOMMERCE,
getTitle: getPlanEcommerceTitle,
getPlanTagline: () =>
i18n.translate( 'Grow your online store with commerce-optimized extensions.' ),
getDescription: () => {
return i18n.translate(
'{{strong}}Best for online stores:{{/strong}} Sell confidently with zero transaction fees and full flexibility.',
plansDescriptionHeadingComponent
);
},
getTagline: function () {
return i18n.translate(
'Learn more about everything included with %(planName)s and take advantage of its powerful marketplace features.',
{ args: { planName: this.getTitle() } }
);
},
getPlanCompareFeatures: ( _, { isLoggedInMonthlyPricing } = {} ) =>
compact( [
// pay attention to ordering, shared features should align on /plan page
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_JETPACK_ADVANCED,
isLoggedInMonthlyPricing && FEATURE_FAST_SUPPORT_FROM_EXPERTS,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_50GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
isLoggedInMonthlyPricing && FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_REPUBLICIZE,
FEATURE_WORDADS_INSTANT,
FEATURE_VIDEO_UPLOADS,
FEATURE_ADVANCED_SEO,
FEATURE_UPLOAD_PLUGINS,
FEATURE_UPLOAD_THEMES,
FEATURE_SFTP_DATABASE,
FEATURE_NO_BRANDING,
FEATURE_ACCEPT_PAYMENTS,
FEATURE_SHIPPING_CARRIERS,
FEATURE_UNLIMITED_PRODUCTS_SERVICES,
FEATURE_ECOMMERCE_MARKETING,
FEATURE_PREMIUM_CUSTOMIZABE_THEMES,
FEATURE_PAYMENT_TRANSACTION_FEES_0,
] ),
getPromotedFeatures: () => [
FEATURE_200GB_STORAGE,
FEATURE_CUSTOM_DOMAIN,
FEATURE_NO_ADS,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
],
getSignupFeatures: () => [
FEATURE_ACCEPT_PAYMENTS,
FEATURE_SHIPPING_CARRIERS,
FEATURE_ALL_BUSINESS_FEATURES,
],
getBlogSignupFeatures: () => [
FEATURE_ACCEPT_PAYMENTS,
FEATURE_SHIPPING_CARRIERS,
FEATURE_ALL_BUSINESS_FEATURES,
],
getPortfolioSignupFeatures: () => [
FEATURE_ACCEPT_PAYMENTS,
FEATURE_SHIPPING_CARRIERS,
FEATURE_ALL_BUSINESS_FEATURES,
],
getSignupCompareAvailableFeatures: () =>
compact( [
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_NO_ADS,
FEATURE_COLLECT_PAYMENTS_V2,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_EARN_AD,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_INSTALL_PLUGINS,
FEATURE_ADVANCED_SEO_EXPANDED_ABBR,
FEATURE_SITE_BACKUPS_AND_RESTORE,
FEATURE_SFTP_DATABASE,
FEATURE_ACCEPT_PAYMENTS,
FEATURE_SHIPPING_CARRIERS,
PREMIUM_DESIGN_FOR_STORES,
] ),
get2023PricingGridSignupWpcomFeatures: () => [
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_THEMES_PREMIUM_AND_STORE,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_CONNECT_ANALYTICS,
FEATURE_UPLOAD_VIDEO,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_UPLOAD_PLUGINS,
FEATURE_DEV_TOOLS,
FEATURE_WOOCOMMERCE_HOSTING,
],
getVar42NoAiSignupWpcomFeatures: () => [
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_GUIDED_WEBSITE_BUILDER,
FEATURE_PREMIUM_STORE_THEMES,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_UPLOAD_PLUGINS,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_VIDEO_UPLOADS,
FEATURE_BUILT_IN_SITE_ASSISTANT,
FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR,
FEATURE_EMAIL_MARKETING,
FEATURE_BLAZE_AD_CREDITS,
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_DEV_TOOLS,
FEATURE_WOOCOMMERCE_HOSTING,
FEATURE_SELL_60_COUNTRIES,
],
get2023PlanComparisonFeatureOverride: () => {
return [
FEATURE_CUSTOM_DOMAIN,
FEATURE_WOOCOMMERCE_HOSTING,
FEATURE_PREMIUM_STORE_THEMES,
FEATURE_STORE_DESIGN,
FEATURE_UNLIMITED_PRODUCTS,
FEATURE_DISPLAY_PRODUCTS_BRAND,
FEATURE_PRODUCT_ADD_ONS,
FEATURE_ASSEMBLED_KITS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
FEATURE_STOCK_NOTIFS,
FEATURE_DYNAMIC_UPSELLS,
FEATURE_CUSTOM_MARKETING_AUTOMATION,
FEATURE_BULK_DISCOUNTS,
FEATURE_INVENTORY_MGMT,
FEATURE_STREAMLINED_CHECKOUT,
FEATURE_SELL_60_COUNTRIES,
FEATURE_SHIPPING_INTEGRATIONS,
FEATURE_PAYMENT_TRANSACTION_FEES_0_ALL,
FEATURE_SUPPORT,
FEATURE_STYLE_CUSTOMIZATION,
];
},
// Comparison grid when plans pricing differentiators experiment is active (non-control).
get2023PlanComparisonFeatureOverrideForExperiment: () => {
return [
FEATURE_CUSTOM_DOMAIN,
FEATURE_WOOCOMMERCE_HOSTING,
FEATURE_PREMIUM_STORE_THEMES,
FEATURE_STORE_DESIGN,
FEATURE_UNLIMITED_PRODUCTS,
FEATURE_DISPLAY_PRODUCTS_BRAND,
FEATURE_PRODUCT_ADD_ONS,
FEATURE_ASSEMBLED_KITS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
FEATURE_STOCK_NOTIFS,
FEATURE_DYNAMIC_UPSELLS,
FEATURE_CUSTOM_MARKETING_AUTOMATION,
FEATURE_BULK_DISCOUNTS,
FEATURE_INVENTORY_MGMT,
FEATURE_STREAMLINED_CHECKOUT,
FEATURE_SELL_60_COUNTRIES,
FEATURE_SHIPPING_INTEGRATIONS,
FEATURE_PAYMENT_TRANSACTION_FEES_0_ALL,
FEATURE_SUPPORT,
FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_VIDEO_UPLOADS,
FEATURE_AI_ASSISTANT,
FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR,
FEATURE_BLAZE_AD_CREDITS,
FEATURE_EMAIL_MARKETING,
];
},
getCheckoutFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_PLUGINS_THEMES,
FEATURE_ACCEPT_PAYMENTS,
FEATURE_SHIPPING_CARRIERS,
FEATURE_UNLIMITED_PRODUCTS_SERVICES,
FEATURE_INVENTORY,
FEATURE_CUSTOM_MARKETING_AUTOMATION,
],
get2023PricingGridSignupJetpackFeatures: () => [],
// Experimental: Comparison grid Jetpack features for experiment variants.
get2023PlanComparisonJetpackFeatureOverrideForExperiment: () => [
FEATURE_DONATIONS_AND_TIPS_JP,
FEATURE_PAYMENT_BUTTONS_JP,
FEATURE_PAYPAL_JP,
],
getStorageFeature: ( showLegacyStorageFeature ) => {
if ( showLegacyStorageFeature ) {
return FEATURE_200GB_STORAGE;
}
return isEnabled( 'plans/updated-storage-labels' )
? FEATURE_50GB_STORAGE
: FEATURE_200GB_STORAGE;
},
getPlanComparisonFeatureLabels: ( { isExperimentVariant } = {} ) => {
const baseFeatures = {
[ FEATURE_PREMIUM_THEMES ]: isExperimentVariant
? i18n.translate( 'All premium and store themes' )
: i18n.translate( 'All premium themes' ),
[ FEATURE_SHARES_SOCIAL_MEDIA_JP ]: i18n.translate( 'Unlimited shares' ),
[ FEATURE_COMMISSION_FEE_STANDARD_FEATURES ]: formatNumber( 0, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_COMMISSION_FEE_WOO_FEATURES ]: formatNumber( 0, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_SUPPORT ]: isExperimentVariant
? i18n.translate( 'Free 24/7 expert support with priority response times' )
: i18n.translate( 'Priority 24/7 support from our expert\u00A0team' ),
...( isExperimentVariant && {
[ FEATURE_AI_ASSISTANT ]: i18n.translate( 'Enhanced' ),
} ),
};
return isStatsFeatureTranslated()
? {
...baseFeatures,
[ FEATURE_STATS_JP ]: i18n.translate(
'Advanced insights, including UTM & device analytics'
),
}
: baseFeatures;
},
getHostingSignupFeatures: ( term ) => () =>
compact( [
term !== TERM_MONTHLY && FEATURE_CUSTOM_DOMAIN,
FEATURE_SELL_SHIP,
FEATURE_CUSTOM_STORE,
FEATURE_INVENTORY,
FEATURE_CHECKOUT,
FEATURE_ACCEPT_PAYMENTS_V2,
FEATURE_SALES_REPORTS,
FEATURE_SHIPPING_CARRIERS,
FEATURE_EXTENSIONS,
FEATURE_BANDWIDTH,
FEATURE_GLOBAL_EDGE_CACHING,
FEATURE_BURST,
FEATURE_WAF_V2,
FEATURE_CDN,
FEATURE_CPUS,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_SECURITY_MALWARE,
FEATURE_SECURITY_DDOS,
] ),
// Features not displayed but used for checking plan abilities
getIncludedFeatures: () => [
FEATURE_AUDIO_UPLOADS,
FEATURE_GOOGLE_MY_BUSINESS,
WPCOM_FEATURES_INSTALL_PURCHASED_PLUGINS,
FEATURE_UPLOAD_THEMES_PLUGINS,
FEATURE_EMAIL_FORWARDING_EXTENDED_LIMIT,
FEATURE_SEO_PREVIEW_TOOLS,
WPCOM_FEATURES_ATOMIC,
WPCOM_FEATURES_SCAN_SELF_SERVE,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS_SELF_SERVE,
WPCOM_FEATURES_FULL_ACTIVITY_LOG,
FEATURE_SFTP,
FEATURE_SSH,
FEATURE_SITE_STAGING_SITES,
FEATURE_SECURITY_SETTINGS,
WPCOM_FEATURES_GITHUB_DEPLOYMENTS,
WPCOM_FEATURES_LOGS,
WPCOM_FEATURES_MONITORING,
WPCOM_FEATURES_PERFORMANCE,
WPCOM_FEATURES_BIG_SKY,
],
getInferiorFeatures: () => [],
getCancellationFeatures: () => [
FEATURE_ACCEPT_PAYMENTS_V2,
FEATURE_SHIPPING_CARRIERS,
FEATURE_ECOMMERCE_MARKETING,
FEATURE_SELL_SHIP,
FEATURE_PLUGINS_THEMES,
FEATURE_ADVANCED_SEO_TOOLS,
],
getVisualSplitCommerceFeatures: () => [
// All Business hosting features
FEATURE_UNLIMITED_TRAFFIC,
FEATURE_CUSTOM_DOMAIN,
FEATURE_CDN,
WPCOM_FEATURES_BACKUPS_RESTORE,
FEATURE_EASY_SITE_MIGRATION,
FEATURE_WAF_V2,
FEATURE_SECURITY_DDOS,
FEATURE_REAL_TIME_SECURITY_SCANS,
FEATURE_99_999_UPTIME,
FEATURE_SITE_STAGING_SITES,
FEATURE_DEV_TOOLS_GIT,
FEATURE_DEV_TOOLS_SSH,
FEATURE_PRIORITY_24_7_SUPPORT,
// Additional Commerce features
FEATURE_ACCEPT_PAYMENTS,
FEATURE_WOO_AUTOMATE,
FEATURE_PRODUCT_ADD_ONS,
FEATURE_WOO_SHIPPING_TRACKING,
FEATURE_GOOGLE_LISTING_ADS,
],
} );
const getWooExpressMediumPlanCompareFeatures = (): string[] => [
FEATURE_WOOCOMMERCE_STORE,
FEATURE_WOOCOMMERCE_MOBILE_APP,
FEATURE_WORDPRESS_CMS,
FEATURE_WORDPRESS_MOBILE_APP,
FEATURE_CUSTOM_DOMAIN,
FEATURE_FREE_SSL_CERTIFICATE,
FEATURE_AUTOMATED_BACKUPS_SECURITY_SCAN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_UNLIMITED_ADMINS,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_SALES_REPORTS,
FEATURE_GOOGLE_ANALYTICS_V3,
FEATURE_LIST_UNLIMITED_PRODUCTS,
FEATURE_GIFT_CARDS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
FEATURE_PRODUCT_BUNDLES,
FEATURE_LIST_PRODUCTS_BY_BRAND,
FEATURE_PRODUCT_RECOMMENDATIONS,
FEATURE_INTEGRATED_PAYMENTS,
FEATURE_INTERNATIONAL_PAYMENTS,
FEATURE_AUTOMATED_SALES_TAXES,
FEATURE_ACCEPT_LOCAL_PAYMENTS,
FEATURE_RECURRING_PAYMENTS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
FEATURE_PROMOTE_ON_TIKTOK,
FEATURE_SYNC_WITH_PINTEREST,
FEATURE_CONNECT_WITH_FACEBOOK,
FEATURE_BACK_IN_STOCK_NOTIFICATIONS,
FEATURE_MARKETING_AUTOMATION,
FEATURE_ABANDONED_CART_RECOVERY,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_ADVERTISE_ON_GOOGLE,
FEATURE_CUSTOM_ORDER_EMAILS,
FEATURE_INTEGRATED_SHIPMENT_TRACKING,
FEATURE_LIVE_SHIPPING_RATES,
FEATURE_DISCOUNTED_SHIPPING,
FEATURE_PRINT_SHIPPING_LABELS,
FEATURE_AI_ASSISTED_PRODUCT_DESCRIPTION,
];
const getWooExpressSmallPlanCompareFeatures = (): string[] => [
FEATURE_WOOCOMMERCE_STORE,
FEATURE_WOOCOMMERCE_MOBILE_APP,
FEATURE_WORDPRESS_CMS,
FEATURE_WORDPRESS_MOBILE_APP,
FEATURE_CUSTOM_DOMAIN,
FEATURE_FREE_SSL_CERTIFICATE,
FEATURE_AUTOMATED_BACKUPS_SECURITY_SCAN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_UNLIMITED_ADMINS,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_SALES_REPORTS,
FEATURE_GOOGLE_ANALYTICS_V3,
FEATURE_LIST_UNLIMITED_PRODUCTS,
FEATURE_GIFT_CARDS,
FEATURE_LIST_PRODUCTS_BY_BRAND,
FEATURE_INTEGRATED_PAYMENTS,
FEATURE_INTERNATIONAL_PAYMENTS,
FEATURE_AUTOMATED_SALES_TAXES,
FEATURE_ACCEPT_LOCAL_PAYMENTS,
FEATURE_RECURRING_PAYMENTS,
FEATURE_PROMOTE_ON_TIKTOK,
FEATURE_SYNC_WITH_PINTEREST,
FEATURE_CONNECT_WITH_FACEBOOK,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_ADVERTISE_ON_GOOGLE,
FEATURE_CUSTOM_ORDER_EMAILS,
FEATURE_INTEGRATED_SHIPMENT_TRACKING,
FEATURE_LIVE_SHIPPING_RATES,
FEATURE_PRINT_SHIPPING_LABELS,
FEATURE_AI_ASSISTED_PRODUCT_DESCRIPTION,
];
const getWooExpressPlanCompareFeatures = (): string[] => [
...getWooExpressSmallPlanCompareFeatures(),
...getWooExpressMediumPlanCompareFeatures(),
];
const getPlanWooExpressMediumDetails = (): IncompleteWPcomPlan => ( {
...getPlanEcommerceDetails(),
getTitle: () => i18n.translate( 'Performance' ),
getPlanTagline: () => i18n.translate( 'Accelerate your growth with advanced features.' ),
get2023PricingGridSignupWpcomFeatures: () => [
FEATURE_200GB_STORAGE,
FEATURE_BACK_IN_STOCK_NOTIFICATIONS,
FEATURE_MARKETING_AUTOMATION,
FEATURE_AUTOMATED_EMAIL_TRIGGERS,
FEATURE_CART_ABANDONMENT_EMAILS,
FEATURE_OFFER_BULK_DISCOUNTS,
FEATURE_RECOMMEND_ADD_ONS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
],
getPlanCompareFeatures: () => getWooExpressPlanCompareFeatures(),
get2023PlanComparisonFeatureOverride: () => getWooExpressMediumPlanCompareFeatures(),
getStorageFeature: () => FEATURE_200GB_STORAGE,
getTagline: () =>
i18n.translate(
'Learn more about everything included with Woo Express Performance and take advantage of its powerful marketplace features.'
),
} );
const getPlanWooExpressSmallDetails = (): IncompleteWPcomPlan => ( {
...getPlanEcommerceDetails(),
get2023PricingGridSignupWpcomFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_UNLIMITED_ADMINS,
FEATURE_50GB_STORAGE,
FEATURE_UNLIMITED_PRODUCTS_SERVICES,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_SELL_INTERNATIONALLY,
FEATURE_AUTOMATIC_SALES_TAX,
FEATURE_AUTOMATED_BACKUPS_SECURITY_SCAN,
FEATURE_INTEGRATED_SHIPMENT_TRACKING,
FEATURE_REAL_TIME_ANALYTICS,
FEATURE_SELL_EGIFTS_AND_VOUCHERS,
FEATURE_EMAIL_MARKETING,
FEATURE_MARKETPLACE_SYNC_SOCIAL_MEDIA_INTEGRATION,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_AI_ASSISTED_PRODUCT_DESCRIPTION,
],
getPlanCompareFeatures: () => getWooExpressPlanCompareFeatures(),
get2023PlanComparisonFeatureOverride: () => getWooExpressSmallPlanCompareFeatures(),
getStorageFeature: () => FEATURE_50GB_STORAGE,
getTitle: () => i18n.translate( 'Essential' ),
getPlanTagline: () =>
i18n.translate( 'Everything you need to set up your store and start selling your products.' ),
getTagline: () =>
i18n.translate(
'Learn more about everything included with Woo Express Essential and take advantage of its powerful marketplace features.'
),
} );
const getWooHostedPlanCompareFeatures = (): string[] => [
// Create your own online store
FEATURE_WOO_HOSTED_POWERFUL_COMMERCE_TOOLS,
FEATURE_WOO_HOSTED_AI_BUILDER,
FEATURE_WOO_HOSTED_FREE_DOMAIN_1_YEAR,
// Accept payments
FEATURE_WOO_HOSTED_SEAMLESS_CHECKOUT,
FEATURE_WOO_HOSTED_ACCEPT_CARD_PAYMENTS,
// Sell products and bookable services
FEATURE_WOO_HOSTED_LIST_PRODUCTS,
FEATURE_WOO_HOSTED_BOOKINGS,
FEATURE_WOO_HOSTED_TEAM_BOOKINGS,
FEATURE_WOO_HOSTED_UPSELLS_CROSS_SELLS,
FEATURE_WOO_HOSTED_GIFT_CARDS,
// Manage your store
FEATURE_WOO_HOSTED_MOBILE_APP,
FEATURE_WOO_HOSTED_STAFF_ACCOUNTS,
FEATURE_WOO_HOSTED_SALES_TAX,
FEATURE_WOO_HOSTED_SHIPPING_LABELS,
FEATURE_WOO_HOSTED_SHIPMENT_TRACKING,
FEATURE_WOO_HOSTED_USPS_UPS,
FEATURE_WOO_HOSTED_ANALYTICS_REPORTS,
FEATURE_WOO_HOSTED_STORAGE_SPACE,
FEATURE_WOO_HOSTED_SECURITY,
FEATURE_WOO_HOSTED_PRIORITY_SUPPORT,
// Grow your business
FEATURE_WOO_HOSTED_EMAIL_CAMPAIGNS,
FEATURE_WOO_HOSTED_EMAIL_SUBSCRIBER_MGMT,
FEATURE_WOO_HOSTED_AUTOMATED_EMAIL_FLOWS,
FEATURE_WOO_HOSTED_ABANDONED_CART_EMAILS,
FEATURE_WOO_HOSTED_POST_PURCHASE_EMAILS,
FEATURE_WOO_HOSTED_EMAIL_TEMPLATES,
FEATURE_WOO_HOSTED_SEO_TOOLS,
FEATURE_WOO_HOSTED_COUPONS,
];
const getPlanWooHostedBasicDetails = (): IncompleteWPcomPlan => ( {
...getPlanEcommerceDetails(),
get2023PricingGridSignupWpcomFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_WOO_HOSTED_PACKAGE,
FEATURE_WOO_HOSTED_AI_BUILDER,
FEATURE_WOO_HOSTED_PAYPAL_INTEGRATON,
FEATURE_WOO_HOSTED_MARKETING_TOOLS,
FEATURE_WOO_HOSTED_BASIC_MAILPOET,
FEATURE_WOO_HOSTED_BASIC_ADMIN_USERS,
FEATURE_WOO_HOSTED_BASIC_STORAGE,
],
getPlanCompareFeatures: () => [ ...getWooHostedPlanCompareFeatures() ],
get2023PlanComparisonFeatureOverride: () => [ ...getWooHostedPlanCompareFeatures() ],
getPlanComparisonFeatureLabels: () => ( {
[ FEATURE_WOO_HOSTED_ACCEPT_CARD_PAYMENTS ]: i18n.translate(
'Online card rates start at 2.9% + $0.30/transaction'
),
[ FEATURE_WOO_HOSTED_STAFF_ACCOUNTS ]: i18n.translate( '1 staff account' ),
[ FEATURE_WOO_HOSTED_STORAGE_SPACE ]: i18n.translate( '50 GB storage' ),
[ FEATURE_WOO_HOSTED_EMAIL_CAMPAIGNS ]: i18n.translate( 'Send up to 5,000 emails/month' ),
[ FEATURE_WOO_HOSTED_EMAIL_SUBSCRIBER_MGMT ]: i18n.translate( 'Up to 500 email subscribers' ),
} ),
getStorageFeature: () => FEATURE_50GB_STORAGE,
getTitle: () => i18n.translate( 'Basic' ),
getPlanTagline: () => i18n.translate( 'Everything you need to build and run your online store.' ),
getTagline: () =>
i18n.translate(
'Learn more about everything included with Woo Basic and take advantage of its powerful marketplace features.'
),
} );
const getPlanWooHostedProDetails = (): IncompleteWPcomPlan => ( {
...getPlanEcommerceDetails(),
get2023PricingGridSignupWpcomFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_WOO_HOSTED_PACKAGE,
FEATURE_WOO_HOSTED_AI_BUILDER,
FEATURE_WOO_HOSTED_PAYPAL_INTEGRATON,
FEATURE_WOO_HOSTED_MARKETING_TOOLS,
FEATURE_WOO_HOSTED_PRO_MAILPOET,
FEATURE_WOO_HOSTED_PRO_ADMIN_USERS,
FEATURE_WOO_HOSTED_PRO_STORAGE,
],
getPlanCompareFeatures: () => [
...getWooHostedPlanCompareFeatures(),
FEATURE_WOO_HOSTED_POS_PAYMENTS,
FEATURE_WOO_HOSTED_POS_SYSTEM,
FEATURE_WOO_HOSTED_POS_NO_MONTHLY_FEES,
],
get2023PlanComparisonFeatureOverride: () => [
...getWooHostedPlanCompareFeatures(),
FEATURE_WOO_HOSTED_POS_PAYMENTS,
FEATURE_WOO_HOSTED_POS_SYSTEM,
FEATURE_WOO_HOSTED_POS_NO_MONTHLY_FEES,
],
getPlanComparisonFeatureLabels: () => ( {
[ FEATURE_WOO_HOSTED_ACCEPT_CARD_PAYMENTS ]: i18n.translate(
'Online card rates start at 2.9% + $0.30/transaction'
),
[ FEATURE_WOO_HOSTED_POS_PAYMENTS ]: i18n.translate(
'In-person card rates start at 2.7% + $0.10/transaction'
),
[ FEATURE_WOO_HOSTED_STAFF_ACCOUNTS ]: i18n.translate( 'Unlimited staff accounts' ),
[ FEATURE_WOO_HOSTED_STORAGE_SPACE ]: i18n.translate( '100 GB storage' ),
[ FEATURE_WOO_HOSTED_EMAIL_CAMPAIGNS ]: i18n.translate( 'Send up to 250,000 emails/month' ),
[ FEATURE_WOO_HOSTED_EMAIL_SUBSCRIBER_MGMT ]: i18n.translate( 'Unlimited email subscribers' ),
} ),
getStorageFeature: () => FEATURE_100GB_STORAGE,
getTitle: () => i18n.translate( 'Pro' ),
getPlanTagline: () =>
i18n.translate( 'For businesses selling anywhere, reaching more customers, and growing fast.' ),
getTagline: () =>
i18n.translate(
'Learn more about everything included with Woo Pro and take advantage of its powerful marketplace features.'
),
} );
const getPlanPremiumDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_PREMIUM,
getTitle: getPlanPremiumTitle,
getPlanTagline: () =>
i18n.translate( 'Step up site customization with premium design features.' ),
getNewsletterTagLine: () =>
i18n.translate( 'Make it even more memorable with premium designs and style customization.' ),
getBlogOnboardingTagLine: () =>
i18n.translate(
'Make it even more memorable with premium designs, 4K video, and style customization.'
),
getDescription: () =>
i18n.translate(
'{{strong}}Best for professionals and creators:{{/strong}} Grow your online presence and generate income with a professional-looking website — no developer required.',
plansDescriptionHeadingComponent
),
getPlanCompareFeatures: ( _, { isLoggedInMonthlyPricing } = {} ) =>
compact( [
// pay attention to ordering, shared features should align on /plan page
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_JETPACK_ESSENTIAL,
isLoggedInMonthlyPricing && FEATURE_FAST_SUPPORT_FROM_EXPERTS,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_13GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
isLoggedInMonthlyPricing && FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_REPUBLICIZE,
FEATURE_WORDADS_INSTANT,
FEATURE_VIDEO_UPLOADS,
FEATURE_PAYMENT_TRANSACTION_FEES_4,
] ),
getPromotedFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_NO_ADS,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
FEATURE_13GB_STORAGE,
],
getSignupFeatures: () => [
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
FEATURE_ALL_PERSONAL_FEATURES,
],
getTagline: function () {
return i18n.translate(
'Take your Newsletter further, faster. Get everything included in %(planName)s, plus premium design themes, baked-in video uploads, ad monetization, deep visitor insights from Google Analytics, and 24/7 expert support.',
{ args: { planName: this.getTitle() } }
);
},
getNewsletterSignupFeatures: () => [
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_STYLE_CUSTOMIZATION,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_UNLTD_SOCIAL_MEDIA_JP,
FEATURE_UPLOAD_VIDEO,
isEnabled( 'stats/paid-wpcom-v3' ) ? FEATURE_STATS_COMMERCIAL : FEATURE_STATS_PAID,
FEATURE_PAYMENT_TRANSACTION_FEES_4,
],
getNewsletterHighlightedFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_UNLIMITED_EMAILS,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_REAL_TIME_ANALYTICS,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
],
getBlogOnboardingSignupFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_WORDADS,
FEATURE_PAYMENT_TRANSACTION_FEES_4,
],
getBlogOnboardingHighlightedFeatures: () => [ FEATURE_CUSTOM_DOMAIN ],
getBlogOnboardingSignupJetpackFeatures: () => [
FEATURE_VIDEOPRESS_JP,
FEATURE_UNLTD_SOCIAL_MEDIA_JP,
FEATURE_SITE_ACTIVITY_LOG_JP,
isEnabled( 'stats/paid-wpcom-v3' ) ? FEATURE_STATS_COMMERCIAL : FEATURE_STATS_PAID,
],
getBlogSignupFeatures: () =>
[
FEATURE_MONETISE,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_ALL_PERSONAL_FEATURES,
].filter( isValueTruthy ),
getPortfolioSignupFeatures: () =>
[
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_ALL_PERSONAL_FEATURES,
].filter( isValueTruthy ),
getSignupCompareAvailableFeatures: () =>
compact( [
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_NO_ADS,
FEATURE_COLLECT_PAYMENTS_V2,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_EARN_AD,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_GOOGLE_ANALYTICS,
] ),
get2023PricingGridSignupWpcomFeatures: () => [
...( isBigSkyOnboarding() ? [ FEATURE_BIG_SKY_WEBSITE_BUILDER ] : [] ),
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_CONNECT_ANALYTICS,
FEATURE_UPLOAD_VIDEO,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_UPLOAD_PLUGINS,
],
getVar42NoAiSignupWpcomFeatures: () => [
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_GUIDED_WEBSITE_BUILDER,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_SUPPORT_FROM_EXPERTS,
FEATURE_UPLOAD_PLUGINS,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_UPLOAD_VIDEO,
],
get2023PlanComparisonFeatureOverride: () => {
const baseFeatures = [
FEATURE_CUSTOM_DOMAIN,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_WORDADS,
FEATURE_CONNECT_ANALYTICS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_PAYMENT_TRANSACTION_FEES_4,
FEATURE_SUPPORT,
FEATURE_ISOLATED_INFRA,
FEATURE_PLUGINS_THEMES,
];
return baseFeatures;
},
// Comparison grid when plans pricing differentiators experiment is active (non-control).
get2023PlanComparisonFeatureOverrideForExperiment: () => {
const baseFeatures = [
FEATURE_CUSTOM_DOMAIN,
FEATURE_FREE_FAST_SUPPORT, // Shows "Free support with faster response times"
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_WORDADS,
FEATURE_CONNECT_ANALYTICS,
FEATURE_SEO_JP,
FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_PAYMENT_TRANSACTION_FEES_4,
FEATURE_ISOLATED_INFRA,
FEATURE_AI_ASSISTANT,
FEATURE_WORDPRESS_STUDIO_SYNC,
FEATURE_PLUGINS_THEMES,
];
return baseFeatures;
},
getCheckoutFeatures: () => [
...( isBigSkyOnboarding() ? [ FEATURE_BIG_SKY_WEBSITE_BUILDER_CHECKOUT ] : [] ),
FEATURE_CUSTOM_DOMAIN,
FEATURE_PLUGINS_THEMES,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_WORDADS,
FEATURE_STYLE_CUSTOMIZATION,
isEnabled( 'stats/paid-wpcom-v3' ) ? FEATURE_STATS_COMMERCIAL : FEATURE_STATS_PAID,
FEATURE_UPLOAD_VIDEO,
FEATURE_UNLTD_SOCIAL_MEDIA_JP,
FEATURE_SITE_ACTIVITY_LOG_JP,
],
get2023PricingGridSignupJetpackFeatures: () => {
return [];
},
getStorageFeature: () => FEATURE_13GB_STORAGE,
getPlanComparisonFeatureLabels: ( { isExperimentVariant } = {} ) => {
const baseFeatures = {
[ FEATURE_PREMIUM_THEMES ]: i18n.translate( 'All premium themes' ),
[ FEATURE_SHARES_SOCIAL_MEDIA_JP ]: i18n.translate( 'Unlimited shares' ),
[ FEATURE_COMMISSION_FEE_STANDARD_FEATURES ]: formatNumber( 0.04, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_SUPPORT ]: isExperimentVariant
? i18n.translate( 'Free support with faster response times' )
: i18n.translate( 'Fast support from our expert\u00A0team' ),
// AI features show "(limited)" text for Premium plan
[ FEATURE_AI_WRITER_DESIGNER_LIMITED ]: i18n.translate( 'Limited' ),
...( isExperimentVariant && {
[ FEATURE_AI_ASSISTANT ]: i18n.translate( 'Usage limits apply' ),
} ),
};
return isStatsFeatureTranslated()
? {
...baseFeatures,
[ FEATURE_STATS_JP ]: i18n.translate(
'Advanced insights, including UTM & device analytics'
),
}
: baseFeatures;
},
get2023PlanComparisonJetpackFeatureOverride: () => {
return [
FEATURE_PAYPAL_JP,
FEATURE_UPLOAD_VIDEO,
isEnabled( 'stats/paid-wpcom-v3' ) ? FEATURE_STATS_COMMERCIAL : FEATURE_STATS_PAID,
FEATURE_ADVANCED_FORM_FEATURES_JP,
];
},
// Experimental: Comparison grid Jetpack features for experiment variants.
// Advanced Jetpack Forms is excluded for Premium plan in experiment variants.
get2023PlanComparisonJetpackFeatureOverrideForExperiment: () => {
return [
FEATURE_PAYPAL_JP,
FEATURE_UPLOAD_VIDEO,
isEnabled( 'stats/paid-wpcom-v3' ) ? FEATURE_STATS_COMMERCIAL : FEATURE_STATS_PAID,
FEATURE_DONATIONS_AND_TIPS_JP,
FEATURE_PAYMENT_BUTTONS_JP,
];
},
// Features not displayed but used for checking plan abilities
getIncludedFeatures: () => [
FEATURE_AUDIO_UPLOADS,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_FULL_ACTIVITY_LOG,
WPCOM_FEATURES_BIG_SKY,
],
getInferiorFeatures: () => [],
getCancellationFeatures: () => [
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_WORDADS_INSTANT,
FEATURE_AD_FREE_EXPERIENCE,
],
} );
const getPlanA4ABusinessDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_A4A,
type: TYPE_BUSINESS,
getTitle: getPlanBusinessTitle,
getDescription: () =>
i18n.translate(
'Power your business website with custom plugins and themes, storage, and the ability to remove WordPress.com branding.'
),
} );
const getPlanBusinessDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_BUSINESS,
getTitle: getPlanBusinessTitle,
getPlanTagline: () => {
if (
i18n.getLocaleSlug()?.startsWith( 'en' ) ||
i18n.hasTranslation(
'Unlock business tools, priority support, developer power with predictable costs.'
)
) {
return i18n.translate(
'Unlock business tools, priority support, developer power with predictable costs.'
);
}
return i18n.translate( 'Unlock next-level WordPress with all custom plugins and themes.' );
},
getBlogOnboardingTagLine: () =>
i18n.translate( 'Expand your blog with plugins and powerful tools to help you scale.' ),
getDescription: () =>
i18n.translate(
'{{strong}}Best for developers and business owners:{{/strong}} Use powerful developer and business tools, without the overhead.',
plansDescriptionHeadingComponent
),
getTagline: function () {
return i18n.translate(
'Learn more about everything included with %(planName)s and take advantage of its powerful marketplace features.',
{ args: { planName: this.getTitle() } }
);
},
getPlanCompareFeatures: ( _, { isLoggedInMonthlyPricing } = {} ) =>
compact( [
// pay attention to ordering, shared features should align on /plan page
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_JETPACK_ADVANCED,
isLoggedInMonthlyPricing && FEATURE_FAST_SUPPORT_FROM_EXPERTS,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_50GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
isLoggedInMonthlyPricing && FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_REPUBLICIZE,
FEATURE_WORDADS_INSTANT,
FEATURE_VIDEO_UPLOADS,
FEATURE_ADVANCED_SEO,
FEATURE_UPLOAD_PLUGINS,
FEATURE_UPLOAD_THEMES,
FEATURE_SFTP_DATABASE,
FEATURE_NO_BRANDING,
FEATURE_PAYMENT_TRANSACTION_FEES_2,
] ),
getPromotedFeatures: () => [
FEATURE_200GB_STORAGE,
FEATURE_CUSTOM_DOMAIN,
FEATURE_NO_ADS,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
FEATURE_VIDEO_UPLOADS,
],
getSignupFeatures: () => [
FEATURE_UPLOAD_THEMES_PLUGINS,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_ALL_PREMIUM_FEATURES,
],
getBlogSignupFeatures: () => [
FEATURE_UPLOAD_THEMES_PLUGINS,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_ALL_PREMIUM_FEATURES,
],
getPortfolioSignupFeatures: () => [
FEATURE_UPLOAD_THEMES_PLUGINS,
FEATURE_200GB_STORAGE,
FEATURE_ALL_PREMIUM_FEATURES,
],
getSignupCompareAvailableFeatures: () =>
compact( [
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_NO_ADS,
FEATURE_COLLECT_PAYMENTS_V2,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_EARN_AD,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_INSTALL_PLUGINS,
FEATURE_ADVANCED_SEO_EXPANDED_ABBR,
FEATURE_SITE_BACKUPS_AND_RESTORE,
FEATURE_SFTP_DATABASE,
] ),
get2023PricingGridSignupWpcomFeatures: () => [
...( isBigSkyOnboarding() ? [ FEATURE_BIG_SKY_WEBSITE_BUILDER ] : [] ),
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_CONNECT_ANALYTICS,
FEATURE_UPLOAD_VIDEO,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_UPLOAD_PLUGINS,
FEATURE_DEV_TOOLS,
],
getVar42NoAiSignupWpcomFeatures: () => [
FEATURE_UNLIMITED_ENTITIES,
FEATURE_CUSTOM_DOMAIN,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_GUIDED_WEBSITE_BUILDER,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_UPLOAD_PLUGINS,
FEATURE_STATS_ADVANCED_20250206,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_VIDEO_UPLOADS,
FEATURE_BUILT_IN_SITE_ASSISTANT,
FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR,
FEATURE_EMAIL_MARKETING,
FEATURE_BLAZE_AD_CREDITS,
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_DEV_TOOLS,
],
get2023PlanComparisonFeatureOverride: () => {
return [
FEATURE_CUSTOM_DOMAIN,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_PLUGINS_THEMES,
FEATURE_BANDWIDTH,
FEATURE_UNLIMITED_TRAFFIC,
FEATURE_GLOBAL_EDGE_CACHING,
FEATURE_CDN,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_ISOLATED_INFRA,
FEATURE_SECURITY_MALWARE,
FEATURE_TIERED_STORAGE_PLANS_AVAILABLE,
FEATURE_REAL_TIME_SECURITY_SCANS,
FEATURE_SPAM_JP,
FEATURE_SECURITY_DDOS,
FEATURE_DEV_TOOLS_GIT,
FEATURE_DEV_TOOLS_SSH,
FEATURE_SITE_STAGING_SITES,
FEATURE_SEAMLESS_STAGING_PRODUCTION_SYNCING,
FEATURE_WP_UPDATES,
FEATURE_MULTI_SITE,
FEATURE_SECURITY_VULNERABILITY_NOTIFICATIONS,
FEATURE_PAYMENT_TRANSACTION_FEES_0_WOO,
FEATURE_PAYMENT_TRANSACTION_FEES_2_REGULAR,
FEATURE_COMMISSION_FEE_WOO_FEATURES,
FEATURE_COMMISSION_FEE_STANDARD_FEATURES,
FEATURE_STYLE_CUSTOMIZATION,
];
},
// Comparison grid when plans pricing differentiators experiment is active (non-control).
get2023PlanComparisonFeatureOverrideForExperiment: () => {
return [
FEATURE_CUSTOM_DOMAIN,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_PLUGINS_THEMES,
FEATURE_BANDWIDTH,
FEATURE_UNLIMITED_TRAFFIC,
FEATURE_GLOBAL_EDGE_CACHING,
FEATURE_CDN,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_ISOLATED_INFRA,
FEATURE_SECURITY_MALWARE,
FEATURE_TIERED_STORAGE_PLANS_AVAILABLE,
FEATURE_REAL_TIME_SECURITY_SCANS,
FEATURE_SPAM_JP,
FEATURE_SECURITY_DDOS,
FEATURE_DEV_TOOLS_GIT,
FEATURE_DEV_TOOLS_SSH,
FEATURE_SITE_STAGING_SITES,
FEATURE_SEAMLESS_STAGING_PRODUCTION_SYNCING,
FEATURE_WP_UPDATES,
FEATURE_MULTI_SITE,
FEATURE_WORDPRESS_STUDIO_SYNC,
FEATURE_SECURITY_VULNERABILITY_NOTIFICATIONS,
FEATURE_PAYMENT_TRANSACTION_FEES_0_WOO,
FEATURE_PAYMENT_TRANSACTION_FEES_2_REGULAR,
FEATURE_COMMISSION_FEE_WOO_FEATURES,
FEATURE_COMMISSION_FEE_STANDARD_FEATURES,
FEATURE_STYLE_CUSTOMIZATION_FONTS_COLORS,
FEATURE_STYLE_CUSTOMIZATION,
FEATURE_VIDEO_UPLOADS,
FEATURE_AI_ASSISTANT,
FEATURE_PROFESSIONAL_EMAIL_FREE_YEAR,
FEATURE_BLAZE_AD_CREDITS,
FEATURE_EMAIL_MARKETING,
];
},
getCheckoutFeatures: () => [
...( isBigSkyOnboarding() ? [ FEATURE_BIG_SKY_WEBSITE_BUILDER_CHECKOUT ] : [] ),
FEATURE_CUSTOM_DOMAIN,
FEATURE_PLUGINS_THEMES,
FEATURE_BANDWIDTH,
FEATURE_CDN,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_DEV_TOOLS,
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_SITE_ACTIVITY_LOG_JP,
FEATURE_SECURITY_DDOS,
FEATURE_SITE_STAGING_SITES,
],
get2023PricingGridSignupJetpackFeatures: () => {
return [];
},
get2023PlanComparisonJetpackFeatureOverride: () => {
return [
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_ONE_CLICK_RESTORE_V2,
FEATURE_UPTIME_MONITOR_JP,
FEATURE_PLUGIN_AUTOUPDATE_JP,
FEATURE_SEO_JP,
FEATURE_ADVANCED_FORM_FEATURES_JP,
];
},
// Experimental: Comparison grid Jetpack features for experiment variants.
get2023PlanComparisonJetpackFeatureOverrideForExperiment: () => {
return [
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_ONE_CLICK_RESTORE_V2,
FEATURE_UPTIME_MONITOR_JP,
FEATURE_PLUGIN_AUTOUPDATE_JP,
FEATURE_SEO_JP,
FEATURE_ADVANCED_FORM_FEATURES_JP,
FEATURE_DONATIONS_AND_TIPS_JP,
FEATURE_PAYMENT_BUTTONS_JP,
FEATURE_PAYPAL_JP,
];
},
getPlanComparisonFeatureLabels: ( { isExperimentVariant } = {} ) => {
const featureLabels: Record< Feature, TranslateResult > = {
[ FEATURE_PREMIUM_THEMES ]: i18n.translate( 'All premium themes' ),
[ FEATURE_PREMIUM_STORE_THEMES ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_UNLIMITED_PRODUCTS ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_DISPLAY_PRODUCTS_BRAND ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_PRODUCT_ADD_ONS ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_ASSEMBLED_KITS ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_MIN_MAX_ORDER_QUANTITY ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_STOCK_NOTIFS ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_DYNAMIC_UPSELLS ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_CUSTOM_MARKETING_AUTOMATION ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_BULK_DISCOUNTS ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_INVENTORY_MGMT ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_STREAMLINED_CHECKOUT ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_SELL_60_COUNTRIES ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_SHIPPING_INTEGRATIONS ]: i18n.translate( 'Available with paid plugins' ),
[ FEATURE_SHARES_SOCIAL_MEDIA_JP ]: i18n.translate( 'Unlimited shares' ),
[ FEATURE_STORE_DESIGN ]: i18n.translate( 'Available with plugins' ),
[ FEATURE_COMMISSION_FEE_STANDARD_FEATURES ]: formatNumber( 0.02, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_COMMISSION_FEE_WOO_FEATURES ]: formatNumber( 0, {
numberFormatOptions: { style: 'percent' },
} ),
[ FEATURE_SUPPORT ]: isExperimentVariant
? i18n.translate( 'Free 24/7 expert support with priority response times' )
: i18n.translate( 'Priority 24/7 support from our expert team' ),
...( isExperimentVariant && {
[ FEATURE_AI_ASSISTANT ]: i18n.translate( 'Enhanced' ),
} ),
};
return isStatsFeatureTranslated()
? {
...featureLabels,
[ FEATURE_STATS_JP ]: i18n.translate(
'Advanced insights, including UTM & device analytics'
),
}
: featureLabels;
},
getStorageFeature: ( showLegacyStorageFeature ) => {
if ( showLegacyStorageFeature ) {
return FEATURE_200GB_STORAGE;
}
return isEnabled( 'plans/updated-storage-labels' )
? FEATURE_50GB_STORAGE
: FEATURE_200GB_STORAGE;
},
getHostingSignupFeatures: ( term ) => () =>
compact( [
term !== TERM_MONTHLY && FEATURE_CUSTOM_DOMAIN,
FEATURE_PLUGINS_THEMES,
FEATURE_BANDWIDTH,
FEATURE_GLOBAL_EDGE_CACHING,
FEATURE_BURST,
FEATURE_WAF_V2,
FEATURE_CDN,
FEATURE_CPUS,
FEATURE_DATACENTRE_FAILOVER,
FEATURE_ISOLATED_INFRA,
FEATURE_SECURITY_MALWARE,
FEATURE_SECURITY_DDOS,
FEATURE_DEV_TOOLS,
FEATURE_SITE_STAGING_SITES,
FEATURE_WP_UPDATES,
FEATURE_MULTI_SITE,
] ),
getBlogOnboardingSignupFeatures: () => [
FEATURE_CUSTOM_DOMAIN,
FEATURE_PLUGINS_THEMES,
FEATURE_SECURITY_MALWARE,
FEATURE_WP_UPDATES,
FEATURE_PAYMENT_TRANSACTION_FEES_2,
],
getBlogOnboardingSignupJetpackFeatures: () => [
FEATURE_SEO_JP,
FEATURE_PLUGIN_AUTOUPDATE_JP,
FEATURE_REALTIME_BACKUPS_JP,
FEATURE_ONE_CLICK_RESTORE_V2,
FEATURE_ES_SEARCH_JP,
],
// Features not displayed but used for checking plan abilities
getIncludedFeatures: () => [
FEATURE_AUDIO_UPLOADS,
FEATURE_GOOGLE_MY_BUSINESS,
WPCOM_FEATURES_INSTALL_PURCHASED_PLUGINS,
FEATURE_EMAIL_FORWARDING_EXTENDED_LIMIT,
FEATURE_SEO_PREVIEW_TOOLS,
WPCOM_FEATURES_ATOMIC,
WPCOM_FEATURES_SCAN_SELF_SERVE,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS_SELF_SERVE,
WPCOM_FEATURES_FULL_ACTIVITY_LOG,
FEATURE_SFTP,
FEATURE_SSH,
FEATURE_SITE_STAGING_SITES,
FEATURE_SECURITY_SETTINGS,
WPCOM_FEATURES_GITHUB_DEPLOYMENTS,
WPCOM_FEATURES_LOGS,
WPCOM_FEATURES_MONITORING,
WPCOM_FEATURES_PERFORMANCE,
WPCOM_FEATURES_BIG_SKY,
],
getInferiorFeatures: () => [],
getSenseiFeatures: ( term ) => () =>
compact( [
term !== TERM_MONTHLY && FEATURE_CUSTOM_DOMAIN,
term !== TERM_MONTHLY && FEATURE_SENSEI_SUPPORT,
FEATURE_SENSEI_UNLIMITED,
FEATURE_SENSEI_INTERACTIVE,
FEATURE_SENSEI_QUIZZES,
FEATURE_SENSEI_SELL_COURSES,
FEATURE_SENSEI_STORAGE,
FEATURE_SENSEI_HOSTING,
FEATURE_SENSEI_JETPACK,
] ),
getSenseiHighlightedFeatures: () => [ FEATURE_CUSTOM_DOMAIN, FEATURE_SENSEI_SUPPORT ],
getCancellationFeatures: () => [
FEATURE_PLUGINS_THEMES,
FEATURE_ADVANCED_SEO_TOOLS,
FEATURE_DEV_TOOLS,
FEATURE_SEAMLESS_STAGING_PRODUCTION_SYNCING,
FEATURE_SITE_BACKUPS_AND_RESTORE,
FEATURE_AD_FREE_EXPERIENCE,
FEATURE_FAST_SUPPORT_FROM_EXPERTS,
],
getVisualSplitBusinessFeatures: () => [
FEATURE_UNLIMITED_TRAFFIC,
FEATURE_CUSTOM_DOMAIN,
FEATURE_CDN,
WPCOM_FEATURES_BACKUPS_RESTORE,
FEATURE_EASY_SITE_MIGRATION,
FEATURE_WAF_V2,
FEATURE_SECURITY_DDOS,
FEATURE_REAL_TIME_SECURITY_SCANS,
FEATURE_99_999_UPTIME,
FEATURE_SITE_STAGING_SITES,
FEATURE_DEV_TOOLS_GIT,
FEATURE_DEV_TOOLS_SSH,
FEATURE_PRIORITY_24_7_SUPPORT,
],
} );
const getPlanStudentDetails = (): IncompleteWPcomPlan => ( {
...getPlanBusinessDetails(),
type: TYPE_STUDENT,
getTitle: () => i18n.translate( 'Student' ),
getPlanTagline: () => i18n.translate( 'Build your site with student-friendly tools.' ),
getNewsletterTagLine: () =>
i18n.translate( 'Create, share, and grow your work with a custom domain.' ),
getBlogOnboardingTagLine: () =>
i18n.translate( 'Take the next step with an ad-free site and room to grow.' ),
getDescription: () =>
i18n.translate(
'{{strong}}Best for students:{{/strong}} Build your online presence with a custom domain and an ad-free experience.',
plansDescriptionHeadingComponent
),
getTagline: () => i18n.translate( 'Learn more about everything included with the Student plan.' ),
getPlanCompareFeatures: ( _, { isLoggedInMonthlyPricing } = {} ) =>
compact( [
FEATURE_CUSTOM_DOMAIN,
FEATURE_HOSTING,
FEATURE_JETPACK_ADVANCED,
isLoggedInMonthlyPricing && FEATURE_FAST_SUPPORT_FROM_EXPERTS,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_6GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_MEMBERSHIPS,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
isLoggedInMonthlyPricing && FEATURE_PRIORITY_24_7_SUPPORT,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_REPUBLICIZE,
FEATURE_WORDADS_INSTANT,
FEATURE_VIDEO_UPLOADS,
FEATURE_ADVANCED_SEO,
FEATURE_UPLOAD_PLUGINS,
FEATURE_UPLOAD_THEMES,
FEATURE_SFTP_DATABASE,
FEATURE_NO_BRANDING,
FEATURE_PAYMENT_TRANSACTION_FEES_2,
] ),
getPromotedFeatures: () => [
FEATURE_6GB_STORAGE,
FEATURE_CUSTOM_DOMAIN,
FEATURE_NO_ADS,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
FEATURE_VIDEO_UPLOADS,
],
getPortfolioSignupFeatures: () => [
FEATURE_UPLOAD_THEMES_PLUGINS,
FEATURE_6GB_STORAGE,
FEATURE_ALL_PREMIUM_FEATURES,
],
getStorageFeature: () => FEATURE_6GB_STORAGE,
} );
const getPlanProDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_PRO,
getTitle: () => i18n.translate( 'WordPress Pro' ),
getTagline: () =>
i18n.translate(
'This plan gives you access to our most powerful features at an affordable price for an unmatched value you won’t get anywhere else. No longer available to new users.'
),
getDescription: () =>
i18n.translate(
'You’ve got our best deal on hosting! ' +
'Your Pro plan includes access to all the most popular features WordPress.com has to offer, including premium themes and access to over 50,000 plugins. ' +
'As an existing customer, you can keep your site on this plan as long as your subscription remains active.'
),
getPlanCompareFeatures: () => [
FEATURE_UNLIMITED_TRAFFIC,
FEATURE_MANAGED_HOSTING,
FEATURE_FREE_THEMES,
FEATURE_CUSTOM_DOMAIN,
WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED,
FEATURE_INSTALL_PLUGINS,
WPCOM_FEATURES_INSTALL_PURCHASED_PLUGINS,
FEATURE_PREMIUM_SUPPORT,
FEATURE_WOOCOMMERCE,
FEATURE_50GB_STORAGE,
FEATURE_NO_ADS,
FEATURE_ADVANCED_SEO,
FEATURE_UNLIMITED_ADMINS,
FEATURE_VIDEO_UPLOADS,
FEATURE_PAYMENT_BLOCKS,
FEATURE_SOCIAL_MEDIA_TOOLS,
FEATURE_TITAN_EMAIL,
FEATURE_MONETISE,
FEATURE_SFTP_DATABASE,
FEATURE_SITE_BACKUPS_AND_RESTORE,
FEATURE_JETPACK_ESSENTIAL,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_WORDADS_INSTANT,
FEATURE_GOOGLE_ANALYTICS,
],
getIncludedFeatures: () => [
FEATURE_ADVANCED_SEO_EXPANDED_ABBR,
FEATURE_AUDIO_UPLOADS,
FEATURE_COLLECT_PAYMENTS_V2,
FEATURE_EARN_AD,
FEATURE_EMAIL_FORWARDING_EXTENDED_LIMIT,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_GOOGLE_MY_BUSINESS,
FEATURE_HOSTING,
FEATURE_ADVANCED_DESIGN_CUSTOMIZATION,
FEATURE_MEMBERSHIPS,
FEATURE_NO_BRANDING,
FEATURE_REPUBLICIZE,
FEATURE_PREMIUM_CONTENT_BLOCK,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_SFTP_DATABASE,
FEATURE_SITE_BACKUPS_AND_RESTORE,
FEATURE_UPLOAD_PLUGINS,
FEATURE_UPLOAD_THEMES,
FEATURE_UPLOAD_THEMES_PLUGINS,
WPCOM_FEATURES_ATOMIC,
WPCOM_FEATURES_SCAN,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
],
getPlanCancellationDescription: () =>
i18n.translate(
'Heads up — you are currently on a legacy plan that is no longer available for new subscribers. ' +
'Your Pro plan includes access to all the most popular features WordPress.com has to offer, ' +
'including premium themes and access to over 50,000 plugins. As an existing Pro plan subscriber, ' +
'you can keep your site on this legacy plan as long as your subscription remains active. ' +
'If canceled, the WordPress.com Pro plan can no longer be added to your account.'
),
} );
// The following is not a real plan, we are adding it here so that
// Woo Express Plus gets its own column in the plans grid.
const getPlanWooExpressPlusDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_WOO_EXPRESS_PLUS,
getTitle: () => i18n.translate( 'Plus' ),
getPlanTagline: () =>
i18n.translate( 'For fast-growing businesses that need access to the most powerful tools.' ),
getDescription: () => '',
get2023PricingGridSignupWpcomFeatures: () => [],
get2023PricingGridSignupJetpackFeatures: () => [],
} );
// The following is not a real plan, we are adding it here so that
// VIP (a.k.a Enterprise) gets its own column in the plans grid.
// Check pdgrnI-1Qp-p2 for more details.
const get2023EnterprisGrideDetails = (): IncompleteWPcomPlan => ( {
...getDotcomPlanDetails(),
group: GROUP_WPCOM,
type: TYPE_ENTERPRISE_GRID_WPCOM,
getTitle: () => i18n.translate( 'Enterprise' ),
getPlanTagline: () =>
i18n.translate( 'Level up to bespoke Enterprise-grade performance and security.' ),
getDescription: () => '',
get2023PricingGridSignupWpcomFeatures: () => [],
get2023PricingGridSignupJetpackFeatures: () => [],
} );
const getJetpackPersonalDetails = (): IncompleteJetpackPlan => ( {
group: GROUP_JETPACK,
type: TYPE_PERSONAL,
getTitle: () => i18n.translate( 'Personal' ),
getDescription: () =>
i18n.translate(
'{{strong}}Best for personal use:{{/strong}} Security essentials for your WordPress site, including ' +
'automated backups and priority support.',
plansDescriptionHeadingComponent
),
getTagline: () =>
i18n.translate(
'Your data is being securely backed up and you have access to priority support.'
),
getPlanCardFeatures: () => [ FEATURE_BACKUP_DAILY_V2, FEATURE_ANTISPAM_V2 ],
getBillingTimeFrame: () => i18n.translate( 'per year' ),
getIncludedFeatures: () => [
FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY,
FEATURE_BACKUP_ARCHIVE_30,
FEATURE_BACKUP_STORAGE_SPACE_UNLIMITED,
FEATURE_AUTOMATED_RESTORES,
FEATURE_SPAM_AKISMET_PLUS,
FEATURE_EASY_SITE_MIGRATION,
FEATURE_PREMIUM_SUPPORT,
FEATURE_JETPACK_BACKUP_DAILY,
FEATURE_JETPACK_BACKUP_DAILY_MONTHLY,
FEATURE_JETPACK_ANTI_SPAM_BI_YEARLY,
FEATURE_JETPACK_ANTI_SPAM,
FEATURE_JETPACK_ANTI_SPAM_MONTHLY,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_ADVANCED_SEO,
FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY,
FEATURE_SPAM_AKISMET_PLUS,
FEATURE_ACTIVITY_LOG,
FEATURE_PREMIUM_SUPPORT,
FEATURE_ALL_FREE_FEATURES_JETPACK,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
],
} );
const getJetpackPremiumDetails = (): IncompleteJetpackPlan => ( {
group: GROUP_JETPACK,
type: TYPE_PREMIUM,
getTitle: () => i18n.translate( 'Premium' ),
getDescription: () =>
i18n.translate(
'{{strong}}Best for small businesses:{{/strong}} Comprehensive, automated scanning for security vulnerabilities, ' +
'fast video hosting, and marketing automation.',
plansDescriptionHeadingComponent
),
getTagline: () =>
i18n.translate(
'Your site is being secured and you have access to marketing tools and priority support.'
),
getPlanCardFeatures: () => [ FEATURE_BACKUP_DAILY_V2, FEATURE_SCAN_V2, FEATURE_ANTISPAM_V2 ],
getIncludedFeatures: () =>
compact( [
// pay attention to ordering, shared features should align on /plan page
FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY,
FEATURE_BACKUP_ARCHIVE_30,
FEATURE_BACKUP_STORAGE_SPACE_UNLIMITED,
FEATURE_AUTOMATED_RESTORES,
FEATURE_SPAM_AKISMET_PLUS,
FEATURE_EASY_SITE_MIGRATION,
FEATURE_PREMIUM_SUPPORT,
FEATURE_REPUBLICIZE,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_WORDADS_INSTANT,
FEATURE_VIDEO_UPLOADS_JETPACK_PRO,
FEATURE_MALWARE_SCANNING_DAILY,
FEATURE_ADVANCED_SEO,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_JETPACK_BACKUP_DAILY,
FEATURE_JETPACK_BACKUP_DAILY_MONTHLY,
FEATURE_JETPACK_SCAN_DAILY,
FEATURE_JETPACK_SCAN_DAILY_MONTHLY,
FEATURE_JETPACK_ANTI_SPAM_BI_YEARLY,
FEATURE_JETPACK_ANTI_SPAM,
FEATURE_JETPACK_ANTI_SPAM_MONTHLY,
FEATURE_JETPACK_VIDEOPRESS_BI_YEARLY,
FEATURE_JETPACK_VIDEOPRESS,
FEATURE_JETPACK_VIDEOPRESS_MONTHLY,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY,
FEATURE_SPAM_AKISMET_PLUS,
FEATURE_MALWARE_SCANNING_DAILY,
FEATURE_AUTOMATIC_SECURITY_FIXES,
FEATURE_VIDEO_UPLOADS_JETPACK_PRO,
FEATURE_WORDADS_INSTANT,
FEATURE_ADVANCED_SEO,
FEATURE_ALL_FREE_FEATURES_JETPACK,
WPCOM_FEATURES_SCAN,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
] ),
} );
const getJetpackBusinessDetails = (): IncompleteJetpackPlan => ( {
group: GROUP_JETPACK,
type: TYPE_BUSINESS,
getTitle: () => i18n.translate( 'Professional' ),
getDescription: () =>
isEnabled( 'themes/premium' )
? i18n.translate(
'{{strong}}Best for organizations:{{/strong}} The most powerful WordPress sites.',
plansDescriptionHeadingComponent
)
: i18n.translate(
'{{strong}}Best for organizations:{{/strong}} The most powerful WordPress sites: real-time backups ' +
'and premium themes.',
plansDescriptionHeadingComponent
),
getTagline: () => i18n.translate( 'You have the full suite of security and performance tools.' ),
getPlanCardFeatures: () => [
FEATURE_BACKUP_REALTIME_V2,
FEATURE_PRODUCT_SCAN_REALTIME_V2,
FEATURE_ANTISPAM_V2,
],
getIncludedFeatures: () =>
compact( [
// pay attention to ordering, shared features should align on /plan page
FEATURE_OFFSITE_BACKUP_VAULTPRESS_REALTIME,
FEATURE_BACKUP_ARCHIVE_UNLIMITED,
FEATURE_BACKUP_STORAGE_SPACE_UNLIMITED,
FEATURE_AUTOMATED_RESTORES,
FEATURE_SPAM_AKISMET_PLUS,
FEATURE_EASY_SITE_MIGRATION,
FEATURE_PREMIUM_SUPPORT,
FEATURE_REPUBLICIZE,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_WORDADS_INSTANT,
FEATURE_VIDEO_UPLOADS_JETPACK_PRO,
FEATURE_MALWARE_SCANNING_DAILY_AND_ON_DEMAND,
FEATURE_ONE_CLICK_THREAT_RESOLUTION,
FEATURE_ADVANCED_SEO,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_JETPACK_BACKUP_REALTIME,
FEATURE_JETPACK_BACKUP_REALTIME_MONTHLY,
FEATURE_JETPACK_SCAN_DAILY,
FEATURE_JETPACK_SCAN_DAILY_MONTHLY,
FEATURE_JETPACK_ANTI_SPAM_BI_YEARLY,
FEATURE_JETPACK_ANTI_SPAM,
FEATURE_JETPACK_ANTI_SPAM_MONTHLY,
FEATURE_JETPACK_VIDEOPRESS_BI_YEARLY,
FEATURE_JETPACK_VIDEOPRESS,
FEATURE_JETPACK_VIDEOPRESS_MONTHLY,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_OFFSITE_BACKUP_VAULTPRESS_REALTIME,
isEnabled( 'themes/premium' ) ? WPCOM_FEATURES_PREMIUM_THEMES_UNLIMITED : null,
FEATURE_ALL_PREMIUM_FEATURES_JETPACK,
WPCOM_FEATURES_SCAN,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
isEnabled( 'stats/paid-wpcom-v3' ) ? FEATURE_STATS_COMMERCIAL : FEATURE_STATS_PAID,
] ),
getInferiorFeatures: () => [ FEATURE_JETPACK_BACKUP_DAILY, FEATURE_JETPACK_BACKUP_DAILY_MONTHLY ],
} );
const getPlanJetpackSecurityDailyDetails = (): IncompleteJetpackPlan => ( {
group: GROUP_JETPACK,
type: TYPE_SECURITY_DAILY,
getTitle: () => translate( 'Security {{em}}Daily{{/em}}', { components: { em: } } ),
getDescription: () =>
translate(
'All of the essential Jetpack Security features in one package including VaultPress Backup, Scan, Akismet Anti-spam and more.'
),
getTagline: () => translate( 'Best for sites with occasional updates' ),
getPlanCardFeatures: () => [
FEATURE_PRODUCT_BACKUP_DAILY_V2,
FEATURE_PRODUCT_SCAN_DAILY_V2,
FEATURE_ANTISPAM_V2,
FEATURE_WAF,
],
getIncludedFeatures: () => [
FEATURE_JETPACK_BACKUP_DAILY,
FEATURE_JETPACK_BACKUP_DAILY_MONTHLY,
FEATURE_JETPACK_SCAN_DAILY,
FEATURE_JETPACK_SCAN_DAILY_MONTHLY,
FEATURE_JETPACK_ANTI_SPAM_BI_YEARLY,
FEATURE_JETPACK_ANTI_SPAM,
FEATURE_JETPACK_ANTI_SPAM_MONTHLY,
FEATURE_BACKUP_ARCHIVE_30,
FEATURE_REPUBLICIZE,
FEATURE_ADVANCED_SEO,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_WORDADS_INSTANT,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_PREMIUM_SUPPORT,
WPCOM_FEATURES_SCAN,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
],
} );
const getPlanJetpackSecurityRealtimeDetails = (): IncompleteJetpackPlan => ( {
group: GROUP_JETPACK,
type: TYPE_SECURITY_REALTIME,
getTitle: () =>
translate( 'Security {{em}}Real-time{{/em}}', {
components: { em: },
} ),
getDescription: () =>
translate(
'Get next-level protection with real-time backups, real-time scan and all essential security tools.'
),
getTagline: () => translate( 'Best for sites with frequent updates' ),
getPlanCardFeatures: () => [
FEATURE_PLAN_SECURITY_DAILY,
FEATURE_PRODUCT_BACKUP_REALTIME_V2,
FEATURE_PRODUCT_SCAN_REALTIME_V2,
FEATURE_ACTIVITY_LOG_1_YEAR_V2,
],
getIncludedFeatures: () => [
FEATURE_JETPACK_BACKUP_REALTIME,
FEATURE_JETPACK_BACKUP_REALTIME_MONTHLY,
FEATURE_JETPACK_SCAN_DAILY,
FEATURE_JETPACK_SCAN_DAILY_MONTHLY,
FEATURE_JETPACK_ANTI_SPAM_BI_YEARLY,
FEATURE_JETPACK_ANTI_SPAM,
FEATURE_JETPACK_ANTI_SPAM_MONTHLY,
FEATURE_BACKUP_ARCHIVE_UNLIMITED,
FEATURE_VIDEO_UPLOADS_JETPACK_PRO,
FEATURE_REPUBLICIZE,
FEATURE_ADVANCED_SEO,
FEATURE_SEO_PREVIEW_TOOLS,
FEATURE_SIMPLE_PAYMENTS,
FEATURE_WORDADS_INSTANT,
FEATURE_GOOGLE_ANALYTICS,
FEATURE_PREMIUM_SUPPORT,
WPCOM_FEATURES_SCAN,
WPCOM_FEATURES_ANTISPAM,
WPCOM_FEATURES_BACKUPS,
],
getInferiorFeatures: () => [
FEATURE_JETPACK_BACKUP_DAILY,
FEATURE_JETPACK_BACKUP_DAILY_MONTHLY,
FEATURE_BACKUP_ARCHIVE_30,
],
} );
const getPlanJetpackSecurityT1Details = (): IncompleteJetpackPlan => ( {
...getJetpackCommonPlanDetails(),
group: GROUP_JETPACK,
type: TYPE_SECURITY_T1,
getTitle: () => translate( 'Security', { context: 'Jetpack product name' } ),
getDescription: () =>
translate(
'Easy-to-use, comprehensive WordPress site security including backups, malware scanning, and spam protection.'
),
getFeaturedDescription: () =>
translate(
'Comprehensive site security made simple.{{br}}{{/br}}{{br}}{{/br}}This bundle includes:{{ul}}{{li}}VaultPress Backup (10GB){{/li}}{{li}}Scan{{/li}}{{li}}Akismet Anti-spam (10k API calls/mo){{/li}}{{/ul}}',
{
components: {
br:
,
ul: