From fb8c22af968e7e4f9d9ef1ef0c27bcaed2b9bb28 Mon Sep 17 00:00:00 2001 From: harshsbhat Date: Tue, 20 May 2025 23:46:12 +0530 Subject: [PATCH] feat: update pricing --- apps/web/locales/de-DE.json | 17 ++--- apps/web/locales/en-US.json | 19 +++--- apps/web/locales/fr-FR.json | 18 +++--- apps/web/locales/pt-BR.json | 17 ++--- apps/web/locales/pt-PT.json | 17 ++--- apps/web/locales/zh-Hant-TW.json | 18 +++--- .../modules/ee/billing/api/lib/constants.ts | 63 +++++++------------ .../ee/billing/components/pricing-table.tsx | 9 +-- 8 files changed, 89 insertions(+), 89 deletions(-) diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json index 04c1517c34..cd8c944a7a 100644 --- a/apps/web/locales/de-DE.json +++ b/apps/web/locales/de-DE.json @@ -967,30 +967,32 @@ }, "billing": { "10000_monthly_responses": "10,000 monatliche Antworten", - "1500_monthly_responses": "1,500 monatliche Antworten", - "2000_monthly_identified_users": "2,000 monatlich identifizierte Nutzer", + "1000_monthly_responses": "1,000 monatliche Antworten", + "2000_contacts": "2,000 Kontakte", "30000_monthly_identified_users": "30,000 monatlich identifizierte Nutzer", "3_projects": "3 Projekte", "5000_monthly_responses": "5,000 monatliche Antworten", "5_projects": "5 Projekte", - "7500_monthly_identified_users": "7,500 monatlich identifizierte Nutzer", + "7500_contacts": "7,500 Kontakte", "advanced_targeting": "Erweitertes Targeting", "all_integrations": "Alle Integrationen", "all_surveying_features": "Alle Umfragefunktionen", "annually": "Jährlich", "api_webhooks": "API & Webhooks", "app_surveys": "In-app Umfragen", + "attribute_based_targeting": "Attributbasiertes Targeting", "contact_us": "Kontaktiere uns", "current": "aktuell", "current_plan": "Aktueller Plan", "current_tier_limit": "Aktuelles Limit", - "custom_miu_limit": "Benutzerdefiniertes MIU-Limit", + "custom": "Brauch", + "custom_contacts_limit": "Benutzerdefiniertes Kontaktlimit", "custom_project_limit": "Benutzerdefiniertes Projektlimit", + "custom_response_limit": "Benutzerdefiniertes Antwortlimit", "customer_success_manager": "Customer Success Manager", "email_embedded_surveys": "Eingebettete Umfragen in E-Mails", + "email_follow_ups": "E-Mail-Folge", "email_support": "E-Mail-Support", - "enterprise": "Enterprise", - "enterprise_description": "Premium-Support und benutzerdefinierte Limits.", "everybody_has_the_free_plan_by_default": "Jeder hat standardmäßig den kostenlosen Plan!", "everything_in_free": "Alles in 'Free''", "everything_in_scale": "Alles in 'Scale''", @@ -1012,8 +1014,9 @@ "premium_support_with_slas": "Premium-Support mit SLAs", "priority_support": "Priorisierter Support", "remove_branding": "Branding entfernen", - "say_hi": "Sag Hi!", "scale": "Scale", + "scale_and_enterprise": "Scale & Enterprise", + "scale_and_enterprise_description": "Premium-Support und benutzerdefinierte Limits.", "scale_description": "Erweiterte Funktionen für größere Unternehmen.", "startup": "Start-up", "startup_description": "Alles in 'Free' mit zusätzlichen Funktionen.", diff --git a/apps/web/locales/en-US.json b/apps/web/locales/en-US.json index 4e845f829a..f09d5291b7 100644 --- a/apps/web/locales/en-US.json +++ b/apps/web/locales/en-US.json @@ -967,30 +967,32 @@ }, "billing": { "10000_monthly_responses": "10000 Monthly Responses", - "1500_monthly_responses": "1500 Monthly Responses", - "2000_monthly_identified_users": "2000 Monthly Identified Users", + "1000_monthly_responses": "1000 Monthly Responses", + "2000_contacts": "2,000 Contacts", "30000_monthly_identified_users": "30000 Monthly Identified Users", "3_projects": "3 Projects", "5000_monthly_responses": "5000 Monthly Responses", "5_projects": "5 Projects", - "7500_monthly_identified_users": "7500 Monthly Identified Users", + "7500_contacts": "7,500 Contacts", "advanced_targeting": "Advanced Targeting", "all_integrations": "All Integrations", "all_surveying_features": "All surveying features", "annually": "Annually", "api_webhooks": "API & Webhooks", "app_surveys": "App Surveys", + "attribute_based_targeting": "Attribute-based Targeting", "contact_us": "Contact Us", "current": "Current", "current_plan": "Current Plan", "current_tier_limit": "Current Tier Limit", - "custom_miu_limit": "Custom MIU limit", + "custom": "Custom", + "custom_contacts_limit": "Custom Contacts Limit", "custom_project_limit": "Custom Project Limit", + "custom_response_limit": "Custom Response Limit", "customer_success_manager": "Customer Success Manager", "email_embedded_surveys": "Email Embedded Surveys", + "email_follow_ups": "Email Follow-ups", "email_support": "Email Support", - "enterprise": "Enterprise", - "enterprise_description": "Premium support and custom limits.", "everybody_has_the_free_plan_by_default": "Everybody has the free plan by default!", "everything_in_free": "Everything in Free", "everything_in_scale": "Everything in Scale", @@ -999,6 +1001,8 @@ "free_description": "Unlimited Surveys, Team Members, and more.", "get_2_months_free": "Get 2 months free", "get_in_touch": "Get in touch", + "hosted_in_frankfurt": "Hosted in Frankfurt ", + "ios_android_sdks": "iOS & Android SDK for mobile surveys", "link_surveys": "Link Surveys (Shareable)", "logic_jumps_hidden_fields_recurring_surveys": "Logic Jumps, Hidden Fields, Recurring Surveys, etc.", "manage_card_details": "Manage Card Details", @@ -1012,8 +1016,9 @@ "premium_support_with_slas": "Premium support with SLAs", "priority_support": "Priority Support", "remove_branding": "Remove Branding", - "say_hi": "Say Hi!", "scale": "Scale", + "scale_and_enterprise": "Scale & Enterprise", + "scale_and_enterprise_description": "Premium support and custom limits.", "scale_description": "Advanced features for scaling your business.", "startup": "Startup", "startup_description": "Everything in Free with additional features.", diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json index 06a52303a9..7712ca13ae 100644 --- a/apps/web/locales/fr-FR.json +++ b/apps/web/locales/fr-FR.json @@ -967,30 +967,32 @@ }, "billing": { "10000_monthly_responses": "10000 Réponses Mensuelles", - "1500_monthly_responses": "1500 Réponses Mensuelles", - "2000_monthly_identified_users": "2000 Utilisateurs Identifiés Mensuels", + "1000_monthly_responses": "1000 Réponses Mensuelles", + "2000_contacts": "2,000 Contacts", "30000_monthly_identified_users": "30000 Utilisateurs Identifiés Mensuels", "3_projects": "3 Projets", "5000_monthly_responses": "5000 Réponses Mensuelles", "5_projects": "5 Projets", - "7500_monthly_identified_users": "7500 Utilisateurs Identifiés Mensuels", + "7500_contacts": "7500 Contacts", "advanced_targeting": "Ciblage Avancé", "all_integrations": "Toutes les intégrations", "all_surveying_features": "Tous les outils d'arpentage", "annually": "Annuellement", "api_webhooks": "API et Webhooks", "app_surveys": "Sondages d'application", + "attribute_based_targeting": "Ciblage basé sur les attributs", "contact_us": "Contactez-nous", "current": "Actuel", "current_plan": "Plan actuel", "current_tier_limit": "Limite de niveau actuel", - "custom_miu_limit": "Limite MIU personnalisé", + "custom": "Coutume", + "custom_contacts_limit": "Limite de contacts personnalisée", "custom_project_limit": "Limite de projet personnalisé", + "custom_response_limit": "Limite de réponses personnalisée", "customer_success_manager": "Responsable de la réussite client", "email_embedded_surveys": "Sondages intégrés par e-mail", + "email_follow_ups": "Suivi par e-mail", "email_support": "Support par e-mail", - "enterprise": "Entreprise", - "enterprise_description": "Soutien premium et limites personnalisées.", "everybody_has_the_free_plan_by_default": "Tout le monde a le plan gratuit par défaut !", "everything_in_free": "Tout est gratuit", "everything_in_scale": "Tout à l'échelle", @@ -999,6 +1001,7 @@ "free_description": "Sondages illimités, membres d'équipe, et plus encore.", "get_2_months_free": "Obtenez 2 mois gratuits", "get_in_touch": "Prenez contact", + "ios_android_sdks": "iOS & Android SDK pour les enquêtes mobiles", "link_surveys": "Sondages par lien (partageables)", "logic_jumps_hidden_fields_recurring_surveys": "Sauts logiques, champs cachés, enquêtes récurrentes, etc.", "manage_card_details": "Gérer les détails de la carte", @@ -1012,8 +1015,9 @@ "premium_support_with_slas": "Soutien premium avec SLA", "priority_support": "Soutien Prioritaire", "remove_branding": "Supprimer la marque", - "say_hi": "Dis bonjour !", "scale": "Échelle", + "scale_and_enterprise": "Échelle & Entreprise", + "scale_and_enterprise_description": "Soutien premium et limites personnalisées.", "scale_description": "Fonctionnalités avancées pour développer votre entreprise.", "startup": "Startup", "startup_description": "Tout est gratuit avec des fonctionnalités supplémentaires.", diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json index 94baa75a99..775f1831e6 100644 --- a/apps/web/locales/pt-BR.json +++ b/apps/web/locales/pt-BR.json @@ -967,30 +967,32 @@ }, "billing": { "10000_monthly_responses": "10000 Respostas Mensais", - "1500_monthly_responses": "1500 Respostas Mensais", - "2000_monthly_identified_users": "2000 Usuários Identificados Mensalmente", + "1000_monthly_responses": "1,000 Respostas Mensais", + "2000_contacts": "2,000 Contatos", "30000_monthly_identified_users": "30000 Usuários Identificados Mensalmente", "3_projects": "3 Projetos", "5000_monthly_responses": "5000 Respostas Mensais", "5_projects": "5 Projetos", - "7500_monthly_identified_users": "7500 Usuários Identificados Mensalmente", + "7500_contacts": "7500 Contatos", "advanced_targeting": "Mira Avançada", "all_integrations": "Todas as Integrações", "all_surveying_features": "Todos os recursos de levantamento", "annually": "anualmente", "api_webhooks": "API e Webhooks", "app_surveys": "Pesquisas de App", + "attribute_based_targeting": "Segmentação baseada em atributos", "contact_us": "Fale Conosco", "current": "atual", "current_plan": "Plano Atual", "current_tier_limit": "Limite Atual de Nível", - "custom_miu_limit": "Limite MIU personalizado", + "custom": "Personalizado", + "custom_contacts_limit": "Limite de Contatos Personalizado", "custom_project_limit": "Limite de Projeto Personalizado", + "custom_response_limit": "Limite de Respostas Personalizado", "customer_success_manager": "Gerente de Sucesso do Cliente", "email_embedded_surveys": "Pesquisas Incorporadas no Email", + "email_follow_ups": "Acompanhamentos por e-mail", "email_support": "Suporte por Email", - "enterprise": "Empresa", - "enterprise_description": "Suporte premium e limites personalizados.", "everybody_has_the_free_plan_by_default": "Todo mundo tem o plano gratuito por padrão!", "everything_in_free": "Tudo de graça", "everything_in_scale": "Tudo em Escala", @@ -1012,8 +1014,9 @@ "premium_support_with_slas": "Suporte premium com SLAs", "priority_support": "Suporte Prioritário", "remove_branding": "Remover Marca", - "say_hi": "Diz oi!", "scale": "escala", + "scale_and_enterprise": "Escala & Empresa", + "scale_and_enterprise_description": "Suporte premium e limites personalizados.", "scale_description": "Recursos avançados pra escalar seu negócio.", "startup": "startup", "startup_description": "Tudo no Grátis com recursos adicionais.", diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json index 4cb0be4996..fb8edbff21 100644 --- a/apps/web/locales/pt-PT.json +++ b/apps/web/locales/pt-PT.json @@ -967,30 +967,32 @@ }, "billing": { "10000_monthly_responses": "10000 Respostas Mensais", - "1500_monthly_responses": "1500 Respostas Mensais", - "2000_monthly_identified_users": "2000 Utilizadores Identificados Mensalmente", + "1000_monthly_responses": "1,000 Respostas Mensais", + "2000_contacts": "2,000 Contatos", "30000_monthly_identified_users": "30000 Utilizadores Identificados Mensalmente", "3_projects": "3 Projetos", "5000_monthly_responses": "5000 Respostas Mensais", "5_projects": "5 Projetos", - "7500_monthly_identified_users": "7500 Utilizadores Identificados Mensalmente", + "7500_contacts": "7500 Contatos", "advanced_targeting": "Segmentação Avançada", "all_integrations": "Todas as Integrações", "all_surveying_features": "Todas as funcionalidades de inquérito", "annually": "Anualmente", "api_webhooks": "API e Webhooks", "app_surveys": "Inquéritos da Aplicação", + "attribute_based_targeting": "Segmentação baseada em atributos", "contact_us": "Contacte-nos", "current": "Atual", "current_plan": "Plano Atual", "current_tier_limit": "Limite Atual do Nível", - "custom_miu_limit": "Limite MIU Personalizado", + "custom": "Personalizado", + "custom_contacts_limit": "Limite de Contactos Personalizado", "custom_project_limit": "Limite de Projeto Personalizado", + "custom_response_limit": "Limite de Respostas Personalizado", "customer_success_manager": "Gestor de Sucesso do Cliente", "email_embedded_surveys": "Inquéritos Incorporados no Email", + "email_follow_ups": "Acompanhamentos por e-mail", "email_support": "Suporte por Email", - "enterprise": "Empresa", - "enterprise_description": "Suporte premium e limites personalizados.", "everybody_has_the_free_plan_by_default": "Todos têm o plano gratuito por defeito!", "everything_in_free": "Tudo em Gratuito", "everything_in_scale": "Tudo em Escala", @@ -1012,8 +1014,9 @@ "premium_support_with_slas": "Suporte premium com SLAs", "priority_support": "Suporte Prioritário", "remove_branding": "Remover Marca", - "say_hi": "Diga Olá!", "scale": "Escala", + "scale_and_enterprise": "Escala & Empresa", + "scale_and_enterprise_description": "Suporte premium e limites personalizados.", "scale_description": "Funcionalidades avançadas para escalar o seu negócio.", "startup": "Inicialização", "startup_description": "Tudo no plano Gratuito com funcionalidades adicionais.", diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json index 766bfdb91f..bd44f16724 100644 --- a/apps/web/locales/zh-Hant-TW.json +++ b/apps/web/locales/zh-Hant-TW.json @@ -967,30 +967,32 @@ }, "billing": { "10000_monthly_responses": "10000 個每月回應", - "1500_monthly_responses": "1500 個每月回應", - "2000_monthly_identified_users": "2000 個每月識別使用者", + "1000_monthly_responses": "1,000 個每月回應", + "2000_contacts": "2,000 個聯絡人", "30000_monthly_identified_users": "30000 個每月識別使用者", "3_projects": "3 個專案", "5000_monthly_responses": "5000 個每月回應", "5_projects": "5 個專案", - "7500_monthly_identified_users": "7500 個每月識別使用者", + "7500_contacts": "7,500 聯絡人", "advanced_targeting": "進階目標設定", "all_integrations": "所有整合", "all_surveying_features": "所有調查功能", "annually": "每年", "api_webhooks": "API 和 Webhook", "app_surveys": "應用程式問卷", + "attribute_based_targeting": "屬性基礎目標設定", "contact_us": "聯絡我們", "current": "目前", "current_plan": "目前方案", "current_tier_limit": "目前層級限制", - "custom_miu_limit": "自訂 MIU 上限", + "custom": "自訂", + "custom_contacts_limit": "自訂聯絡人上限", "custom_project_limit": "自訂專案上限", + "custom_response_limit": "自訂回應上限", "customer_success_manager": "客戶成功經理", "email_embedded_surveys": "電子郵件嵌入式問卷", + "email_follow_ups": "電子郵件跟進", "email_support": "電子郵件支援", - "enterprise": "企業版", - "enterprise_description": "頂級支援和自訂限制。", "everybody_has_the_free_plan_by_default": "每個人預設都有免費方案!", "everything_in_free": "免費方案中的所有功能", "everything_in_scale": "進階方案中的所有功能", @@ -999,6 +1001,7 @@ "free_description": "無限問卷、團隊成員等。", "get_2_months_free": "免費獲得 2 個月", "get_in_touch": "取得聯繫", + "ios_android_sdks": "用於行動調查的 iOS 和 Android SDK", "link_surveys": "連結問卷(可分享)", "logic_jumps_hidden_fields_recurring_surveys": "邏輯跳躍、隱藏欄位、定期問卷等。", "manage_card_details": "管理卡片詳細資料", @@ -1012,8 +1015,9 @@ "premium_support_with_slas": "具有 SLA 的頂級支援", "priority_support": "優先支援", "remove_branding": "移除品牌", - "say_hi": "打個招呼!", "scale": "進階版", + "scale_and_enterprise": "擴展版 & 企業版", + "scale_and_enterprise_description": "頂級支援和自訂限制。", "scale_description": "用於擴展業務的進階功能。", "startup": "啟動版", "startup_description": "免費方案中的所有功能以及其他功能。", diff --git a/apps/web/modules/ee/billing/api/lib/constants.ts b/apps/web/modules/ee/billing/api/lib/constants.ts index 367e50976f..6fbc3db915 100644 --- a/apps/web/modules/ee/billing/api/lib/constants.ts +++ b/apps/web/modules/ee/billing/api/lib/constants.ts @@ -11,74 +11,59 @@ export const getCloudPricingData = (t: TFnType) => { price: { monthly: "$0", yearly: "$0" }, mainFeatures: [ t("environments.settings.billing.unlimited_surveys"), - t("environments.settings.billing.unlimited_team_members"), + t("environments.settings.billing.1000_monthly_responses"), + t("environments.settings.billing.2000_contacts"), t("environments.settings.billing.3_projects"), - t("environments.settings.billing.1500_monthly_responses"), - t("environments.settings.billing.2000_monthly_identified_users"), + t("environments.settings.billing.unlimited_team_members"), + t("environments.settings.billing.link_surveys"), t("environments.settings.billing.website_surveys"), t("environments.settings.billing.app_surveys"), + t("environments.settings.billing.ios_android_sdks"), t("environments.settings.billing.unlimited_apps_websites"), - t("environments.settings.billing.link_surveys"), t("environments.settings.billing.email_embedded_surveys"), t("environments.settings.billing.logic_jumps_hidden_fields_recurring_surveys"), t("environments.settings.billing.api_webhooks"), t("environments.settings.billing.all_integrations"), - t("environments.settings.billing.all_surveying_features"), + t("environments.settings.billing.hosted_in_frankfurt") + " 🇪🇺", ], href: "https://app.formbricks.com/auth/signup?plan=free", }, { name: t("environments.settings.billing.startup"), id: "startup", - featured: false, + featured: true, description: t("environments.settings.billing.startup_description"), - price: { monthly: "$39", yearly: "$390 " }, + price: { monthly: "$49", yearly: "$490 " }, mainFeatures: [ t("environments.settings.billing.everything_in_free"), - t("environments.settings.billing.unlimited_surveys"), - t("environments.settings.billing.remove_branding"), - t("environments.settings.billing.email_support"), - t("environments.settings.billing.3_projects"), t("environments.settings.billing.5000_monthly_responses"), - t("environments.settings.billing.7500_monthly_identified_users"), + t("environments.settings.billing.7500_contacts"), + t("environments.settings.billing.3_projects"), + t("environments.settings.billing.remove_branding"), + t("environments.settings.billing.email_follow_ups"), + t("environments.settings.billing.attribute_based_targeting"), ], href: "https://app.formbricks.com/auth/signup?plan=startup", }, { - name: t("environments.settings.billing.scale"), - id: "scale", - featured: true, - description: t("environments.settings.billing.scale_description"), - price: { monthly: "$149", yearly: "$1,490" }, - mainFeatures: [ - t("environments.settings.billing.everything_in_startup"), - t("environments.settings.billing.team_access_roles"), - t("environments.settings.billing.multi_language_surveys"), - t("environments.settings.billing.advanced_targeting"), - t("environments.settings.billing.priority_support"), - t("environments.settings.billing.5_projects"), - t("environments.settings.billing.10000_monthly_responses"), - t("environments.settings.billing.30000_monthly_identified_users"), - ], - href: "https://app.formbricks.com/auth/signup?plan=scale", - }, - { - name: t("environments.settings.billing.enterprise"), + name: t("environments.settings.billing.scale_and_enterprise"), id: "enterprise", featured: false, - description: t("environments.settings.billing.enterprise_description"), + description: t("environments.settings.billing.scale_and_enterprise_description"), price: { - monthly: t("environments.settings.billing.say_hi"), - yearly: t("environments.settings.billing.say_hi"), + monthly: t("environments.settings.billing.custom"), + yearly: t("environments.settings.billing.custom"), }, mainFeatures: [ - t("environments.settings.billing.everything_in_scale"), + t("environments.settings.billing.everything_in_startup"), + t("environments.settings.billing.custom_response_limit"), + t("environments.settings.billing.custom_contacts_limit"), t("environments.settings.billing.custom_project_limit"), - t("environments.settings.billing.custom_miu_limit"), - t("environments.settings.billing.premium_support_with_slas"), + t("environments.settings.billing.team_access_roles"), + t("environments.project.languages.multi_language_surveys"), + t("environments.settings.enterprise.saml_sso"), t("environments.settings.billing.uptime_sla_99"), - t("environments.settings.billing.customer_success_manager"), - t("environments.settings.billing.technical_onboarding"), + t("environments.settings.billing.premium_support_with_slas"), ], href: "https://cal.com/johannes/enterprise-cloud", }, diff --git a/apps/web/modules/ee/billing/components/pricing-table.tsx b/apps/web/modules/ee/billing/components/pricing-table.tsx index fe7ee4ddc4..45b77fdaf8 100644 --- a/apps/web/modules/ee/billing/components/pricing-table.tsx +++ b/apps/web/modules/ee/billing/components/pricing-table.tsx @@ -107,13 +107,6 @@ export const PricingTable = ({ }; const onUpgrade = async (planId: string) => { - if (planId === "scale") { - await upgradePlan( - planPeriod === "monthly" ? stripePriceLookupKeys.SCALE_MONTHLY : stripePriceLookupKeys.SCALE_YEARLY - ); - return; - } - if (planId === "startup") { await upgradePlan( planPeriod === "monthly" @@ -282,7 +275,7 @@ export const PricingTable = ({ -
+