2018-07-03 16:42:53 +02:00
{% extends "zerver/portico.html" %}
2019-10-23 07:46:34 +02:00
{% set entrypoint = "upgrade" %}
2018-03-31 04:13:44 +02:00
2022-09-06 12:04:03 +02:00
{% block title %}
< title > {{ _("Upgrade") }} | Zulip< / title >
{% endblock %}
2023-11-10 13:02:32 +01:00
{% block portico_content %}
< div id = "upgrade-page" class = "register-account flex full-page" >
< div class = "center-block new-style" >
2023-12-12 07:02:08 +01:00
{% if is_self_hosting_management_page and is_sponsorship_pending %}
< div class = "alert alert-success billing-page-success" id = "upgrade-page-sponsorship-pending-message-top" >
This organization has requested sponsorship for a
{% if sponsorship_plan_name == "Business" %}
discounted
{% endif %}
< a href = "{{ page_params.billing_base_url }}/plans/" > {{ sponsorship_plan_name }}< / a > plan.< br / > < a href = "mailto:support@zulip.com" > Contact Zulip support< / a > with any questions or updates.
< / div >
{% endif %}
2023-12-06 14:17:13 +01:00
{% if success_message %}
< div class = "alert alert-success billing-page-success" id = "upgrade-success-message-top" >
{{ success_message }}
< / div >
{% endif %}
2023-11-10 13:02:32 +01:00
< div class = "pitch" >
2023-11-25 15:18:56 +01:00
< h1 >
2024-03-04 00:44:59 +01:00
{% if page_params.free_trial_days %}
2023-12-08 10:14:27 +01:00
Start free trial of
2023-11-11 10:08:02 +01:00
{% else %}
2023-12-08 10:14:27 +01:00
Upgrade {{ customer_name }} to
2023-11-11 10:08:02 +01:00
{% endif %}
2023-12-08 10:14:27 +01:00
< a href = "{{ page_params.billing_base_url }}/plans/" >
{{ plan }}
< / a >
2023-11-11 10:08:02 +01:00
< / h1 >
2023-11-10 13:02:32 +01:00
< / div >
< div class = "white-box" >
2023-11-10 14:30:10 +01:00
< div id = "upgrade-page-details" >
2024-02-02 13:04:41 +01:00
{% if pay_by_invoice_payments_page %}
2024-02-20 18:56:53 +01:00
< div class = "input-box top-of-page-notice upgrade-page-field" >
< div class = "not-editable-realm-field" >
2024-04-10 10:31:15 +02:00
{% if is_free_trial_invoice_expired_notice %}
Your free trial of {{ free_trial_invoice_expired_notice_page_plan_name }} has expired.
< a href = "{{ pay_by_invoice_payments_page }}" target = "_blank" rel = "noopener noreferrer" > An invoice< / a >
for ${{ scheduled_upgrade_invoice_amount_due }} has been sent to < b > {{email}}< / b > .
To reactivate your {{ free_trial_invoice_expired_notice_page_plan_name }} plan, please pay the amount due.
Once the invoice has been paid, reload this page to see billing details.
{% else %}
2024-02-20 18:56:53 +01:00
< a href = "{{ pay_by_invoice_payments_page }}" target = "_blank" rel = "noopener noreferrer" > An invoice< / a >
2024-03-04 00:44:59 +01:00
{% if fixed_price_plan %}
for $< span class = "due-today-price" > < / span >
{% endif %}
{% if scheduled_upgrade_invoice_amount_due %}
for ${{ scheduled_upgrade_invoice_amount_due }}
{% endif %}
has been sent to < b > {{email}}< / b > .
2024-03-19 12:49:03 +01:00
To complete the plan upgrade process, please pay the amount due. Once the invoice has been paid, reload this page to see billing details.
2024-04-10 10:31:15 +02:00
{% endif %}
2024-02-20 18:56:53 +01:00
< / div >
2024-02-02 13:04:41 +01:00
< / div >
{% else %}
2021-04-21 00:46:14 +02:00
< input type = "hidden" name = "csrfmiddlewaretoken" value = "{{ csrf_token }}" / >
2023-11-11 03:29:32 +01:00
< form id = "autopay-form" >
< input type = "hidden" name = "seat_count" value = "{{ seat_count }}" / >
< input type = "hidden" name = "signed_seat_count" value = "{{ signed_seat_count }}" / >
< input type = "hidden" name = "salt" value = "{{ salt }}" / >
2024-03-04 00:44:59 +01:00
{% if page_params.setup_payment_by_invoice %}
< input type = "hidden" name = "billing_modality" value = "send_invoice" / >
{% else %}
< input type = "hidden" name = "billing_modality" value = "charge_automatically" / >
{% endif %}
2023-12-18 13:02:36 +01:00
< input type = "hidden" name = "tier" value = "{{ page_params.tier }}" / >
2023-11-11 10:15:55 +01:00
< div id = "free-trial-top-banner" class = "input-box upgrade-page-field" >
2024-03-04 00:44:59 +01:00
{% if page_params.free_trial_days %}
2023-11-11 10:15:55 +01:00
< div class = "not-editable-realm-field" >
2024-04-10 10:31:15 +02:00
{% if page_params.setup_payment_by_invoice %}
An invoice will immediately be sent to < b > {{email}}< / b > . To ensure continuous access to Zulip Basic,
please pay your invoice before your free trial ends on {{ free_trial_end_date }}.
{% else %}
2024-03-04 00:44:59 +01:00
Add a credit card to start your < b > {{ page_params.free_trial_days }}-day free trial< / b > of
2023-11-27 23:56:48 +01:00
{{ plan }}. Your card will not be charged if you
2024-03-04 00:44:59 +01:00
cancel in the first {{ page_params.free_trial_days }} days.
2024-04-10 10:31:15 +02:00
{% endif %}
2023-11-11 10:15:55 +01:00
< / div >
2023-11-11 03:29:32 +01:00
{% endif %}
2023-11-11 10:15:55 +01:00
{% if is_demo_organization %}
< div class = "demo-organization-warning" >
Demo organizations cannot be directly upgraded to a paid plan. Please start by
< a href = "/help/demo-organizations#convert-a-demo-organization-to-a-permanent-organization" >
converting your demo organization
< / a >
to a permanent organization.
< / div >
{% endif %}
< / div >
2024-03-04 00:44:59 +01:00
{% if page_params.free_trial_days and not page_params.setup_payment_by_invoice %}
2023-11-27 19:49:48 +01:00
< input type = "hidden" name = "schedule" value = "monthly" / >
{% else %}
2023-11-11 10:15:55 +01:00
< div class = "input-box upgrade-page-field no-validation" >
2023-11-11 06:14:16 +01:00
< select name = "schedule" id = "payment-schedule-select" >
2024-01-17 13:55:25 +01:00
{% if fixed_price_plan %}
< option value = "monthly" > Pay monthly< / option >
< option value = "annual" > Pay annually< / option >
{% else %}
2023-11-11 03:29:32 +01:00
< option value = "monthly" id = "autopay_monthly_price" > < / option >
< option value = "annual" id = "autopay_annual_price_per_month" > < / option >
2024-01-17 13:55:25 +01:00
{% endif %}
2023-11-11 03:29:32 +01:00
< / select >
< label for = "payment-schedule-select" > Payment schedule< / label >
< / div >
2023-11-27 19:49:48 +01:00
{% endif %}
2018-12-21 18:44:24 +01:00
2023-12-04 14:11:35 +01:00
{% if remote_server_legacy_plan_end_date %}
< div class = "input-box upgrade-page-field no-validation" >
< select name = "remote_server_plan_start_date" id = "remote-server-plan-start-date-select" >
< option value = "billing_cycle_end_date" > {{ remote_server_legacy_plan_end_date }}< / option >
< option value = "today" > Today< / option >
< / select >
< label for = "remote-server-plan-start-date-select" > Plan start date< / label >
< / div >
{% endif %}
2023-11-11 03:29:32 +01:00
{% if manual_license_management %}
2023-11-27 20:21:20 +01:00
< div class = "input-box upgrade-page-field" id = "upgrade-manual-license-count-wrapper" >
2023-11-11 03:29:32 +01:00
< label for = "licenses" class = "inline-block label-title" > Number of licenses {% if not exempt_from_license_number_check %}(minimum {{ seat_count }}){% endif %}< / label >
< input type = "number" name = "licenses" autocomplete = "off" { % if not exempt_from_license_number_check % } min = "{{ seat_count }}" value = "{{ seat_count }}" { % endif % } autocomplete = "off" id = "manual_license_count" required / >
< div id = "upgrade-licenses-change-error" class = "alert alert-danger upgrade-page-error" > < / div >
< / div >
2023-11-11 06:14:16 +01:00
< input type = "hidden" name = "license_management" value = "manual" / >
{% else %}
< input type = "hidden" name = "license_management" value = "automatic" / >
2023-11-11 03:29:32 +01:00
{% endif %}
2023-11-10 15:00:28 +01:00
2023-12-04 14:11:35 +01:00
{% if remote_server_legacy_plan_end_date %}
< div class = "input-box upgrade-page-field no-validation" id = "due-today-for-future-update-wrapper" >
< label for = "due-today-for-future-update" class = "inline-block label-title" >
Due today
< / label >
< div id = "due-today-for-future-update" class = "not-editable-realm-field" >
< h1 > $0< / h1 >
< / div >
< / div >
{% endif %}
2023-11-11 03:29:32 +01:00
< div class = "input-box upgrade-page-field no-validation" >
2023-12-04 14:11:35 +01:00
< label for = "due-today" class = "inline-block label-title" >
{% if remote_server_legacy_plan_end_date %}
< span id = "due-today-remote-server-title" >
Due {{ remote_server_legacy_plan_end_date }}
< / span >
2023-11-11 10:15:55 +01:00
{% endif %}
2023-12-04 14:11:35 +01:00
< span id = "due-today-title" >
Due
2024-03-04 00:44:59 +01:00
{% if page_params.free_trial_days %}
2023-12-04 14:11:35 +01:00
on {{ free_trial_end_date }}
{% else %}
today
{% endif %}
< / span >
2023-11-11 10:15:55 +01:00
< / label >
2023-11-11 03:29:32 +01:00
< div id = "due-today" class = "not-editable-realm-field" >
2024-01-17 13:55:25 +01:00
{% if fixed_price_plan %}
< h1 > $< span class = "due-today-price" > < / span > < / h1 >
2023-11-11 03:29:32 +01:00
{% else %}
2024-01-17 13:55:25 +01:00
$< span id = "pre-discount-renewal-cents" > < / span >
($< span class = "due-today-unit-price" > < / span > x
{% if not manual_license_management %}
{{ seat_count }}
{% else %}
< span class = "due-today-license-count" > {{ seat_count }}< / span >
{% endif %}
< span class = "due-today-license-count-user-plural" >
{{ 'user' if seat_count == 1 else 'users' }}
< / span > x
< span class = "due-today-duration" > < / span > )
{% if page_params.flat_discounted_months > 0 %}
< br / >
< span class = "flat-discount-minus-sign" > − < / span >
< span class = "flat-discount-separator" > $< span class = "flat-discounted-price" > < / span > /month off< / span > < i class = "billing-page-discount" > ({{ page_params.flat_discounted_months }} {{ "month" if page_params.flat_discounted_months == 1 else "months" }} remaining)< / i >
2024-05-06 06:12:15 +02:00
{% else %}
< br / >
< i class = "billing-page-discount hide" > Includes: < span class = "billing-page-selected-schedule-discount" > < / span > % discount< / i >
2024-01-17 13:55:25 +01:00
{% endif %}
< h1 > $< span class = "due-today-price" > < / span > < / h1 >
2024-04-10 10:31:15 +02:00
{% if page_params.free_trial_days and not manual_license_management %}
2024-01-17 13:55:25 +01:00
< i > Your actual bill will depend on the number of
active users in your organization.< / i >
{% endif %}
{% if not manual_license_management and using_min_licenses_for_plan %}
< i > Minimum purchase for this plan: {{ min_licenses_for_plan }} licenses< / i >
{% endif %}
2024-01-10 11:23:23 +01:00
{% endif %}
2023-11-11 03:29:32 +01:00
< / div >
< / div >
2023-11-10 13:47:56 +01:00
2024-03-04 00:44:59 +01:00
{% if page_params.free_trial_days %}
2023-11-27 23:56:48 +01:00
{% elif not manual_license_management %}
2023-11-11 03:29:32 +01:00
< div id = "license-automatic-section" class = "input-box upgrade-page-field license-management-section" >
< p class = "not-editable-realm-field" >
2024-01-17 13:55:25 +01:00
{% if fixed_price_plan %}
This is a fixed-price plan.
{% endif %}
Your subscription will renew automatically.
{% if not fixed_price_plan %}
Your bill will vary based on the number of active users in your organization. You can also
2023-12-20 07:24:21 +01:00
< a href = "{{ page_params.billing_base_url }}/upgrade/?manual_license_management=true&tier={{ page_params.tier }}" > purchase a fixed number of licenses< / a > instead. See
2023-11-11 03:29:32 +01:00
< a target = "_blank" href = "https://zulip.com/help/zulip-cloud-billing" > here< / a > for details.
2024-01-17 13:55:25 +01:00
{% endif %}
2023-11-11 03:29:32 +01:00
< / p >
< input type = "hidden" name = "licenses" id = "automatic_license_count" value = "{{ seat_count }}" / >
2018-11-18 10:18:14 +01:00
< / div >
2023-11-11 03:29:32 +01:00
{% else %}
2023-11-27 23:56:48 +01:00
< div id = "license-manual-section" class = "input-box upgrade-page-field license-management-section" >
2023-11-11 03:29:32 +01:00
< p class = "not-editable-realm-field" >
Your subscription will renew automatically. You will be able to manage the number of licenses on
2024-03-04 00:44:59 +01:00
your organization's billing page.
{% if not page_params.setup_payment_by_invoice %}
You can also < a href = "{{ page_params.billing_base_url }}/upgrade/?tier={{ page_params.tier }}" > choose automatic license management< / a > instead.
{% endif %}
See < a href = "https://zulip.com/help/zulip-cloud-billing" > here< / a > for details.
2023-11-11 03:29:32 +01:00
< / p >
< / div >
{% endif %}
2023-11-18 11:29:04 +01:00
{% if not is_demo_organization %}
2024-03-04 00:44:59 +01:00
< div { % if page_params . setup_payment_by_invoice % } id = "update-invoice-billing-info" { % elif payment_method % } id = "upgrade-payment-info" { % endif % } >
{% if page_params.setup_payment_by_invoice %}
{% elif payment_method %}
2023-11-18 11:29:04 +01:00
< div class = "input-box upgrade-page-field no-validation" id = "upgrade-payment-menthod-wrapper" >
< label for = "customer-payment-method-for-upgrade" class = "inline-block label-title" > Payment method< / label >
< div id = "customer-payment-method-for-upgrade" class = "not-editable-realm-field" >
{{ payment_method }}
< / div >
< / div >
{% endif %}
2024-03-04 00:44:59 +01:00
< div id = "upgrade-payment-method-container" class = "upgrade-add-card-container input-box upgrade-page-field" >
< button id = "upgrade-add-card-button" { % if page_params . setup_payment_by_invoice % } class = "update-billing-information-button" { % elif payment_method % } class = "update-card-button" { % endif % } >
2023-11-18 11:29:04 +01:00
< span id = "upgrade-add-card-button-text" >
2024-03-04 00:44:59 +01:00
{% if page_params.setup_payment_by_invoice %}
Update billing information
{% elif payment_method %}
2023-11-18 11:29:04 +01:00
Update card
{% else %}
Add card
{% endif %}
< / span >
< object class = "loader upgrade-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
2024-03-04 00:44:59 +01:00
< span class = "not-editable-realm-field" id = "upgrade-payment-by-invoice-container" >
{% if page_params.setup_payment_by_invoice %}
or < a href = "{{ page_params.billing_base_url }}/upgrade/?tier={{ page_params.tier }}" > pay by card< / a >
{% else %}
or < a href = "{{ page_params.billing_base_url }}/upgrade/?manual_license_management=true&tier={{ page_params.tier }}&setup_payment_by_invoice=true" id = "upgrade-payment-by-invoice-link" data-tippy-content = "Requires purchasing a fixed number of licenses" data-tippy-placement = "right" > pay by invoice< / a >
{% endif %}
< / span >
2023-11-18 11:29:04 +01:00
< / div >
2024-03-04 00:44:59 +01:00
{% if not page_params.free_trial_days and payment_method %}
2024-02-08 13:37:55 +01:00
< div class = "stripe-billing-information not-editable-realm-field" >
{% if not manual_license_management %}
< a href = "{{ page_params.billing_base_url }}/customer_portal/?tier={{ page_params.tier }}" > View and update< / a > billing information that will be displayed on your invoice and receipt.
{% else %}
< a href = "{{ page_params.billing_base_url }}/customer_portal/?manual_license_management=true&tier={{ page_params.tier }}" > View and update< / a > billing information that will be displayed on your invoice and receipt.
{% endif %}
< / div >
{% endif %}
2023-11-18 11:29:04 +01:00
< div id = "upgrade-cardchange-error" class = "alert alert-danger upgrade-page-error" > < / div >
< / div >
{% endif %}
2023-11-11 03:29:32 +01:00
<!-- Disabled buttons do not fire any events, so we need a container div that isn't disabled for tippyjs to work -->
< div class = "upgrade-button-container input-box upgrade-page-field" { % if is_demo_organization % } data-tippy-content = "{% trans %}Convert demo organization before upgrading.{% endtrans %}" { % endif % } >
2024-03-04 00:44:59 +01:00
< button id = "org-upgrade-button{% if is_demo_organization %} permanent-disabled{% endif %}" { % if not page_params . setup_payment_by_invoice and not payment_method % } disabled { % endif % } >
2023-11-14 02:37:48 +01:00
< span id = "org-upgrade-button-text" >
2023-12-04 14:11:35 +01:00
{% if remote_server_legacy_plan_end_date %}
< span id = "org-future-upgrade-button-text-remote-server" >
Schedule upgrade to {{ plan }}
< / span >
2023-11-11 10:15:55 +01:00
{% endif %}
2023-12-04 14:11:35 +01:00
< span id = "org-today-upgrade-button-text" >
2024-03-04 00:44:59 +01:00
{% if page_params.free_trial_days %}
Start {{ page_params.free_trial_days }}-day free trial
{% elif page_params.setup_payment_by_invoice %}
Send invoice
2023-12-04 14:11:35 +01:00
{% else %}
Purchase {{ plan }}
{% endif %}
< / span >
2023-11-11 03:29:32 +01:00
< / span >
< object class = "loader upgrade-button-loader" type = "image/svg+xml" data = "{{ static('images/loading/loader-white.svg') }}" > < / object >
< / button >
2023-11-21 10:46:50 +01:00
< div id = "autopay-error" class = "alert alert-danger upgrade-page-error hide" > < / div >
2023-11-11 03:29:32 +01:00
< / div >
< / form >
2023-11-21 12:41:38 +01:00
< form id = "upgrade-cardchange-form" >
2023-12-18 13:02:36 +01:00
{% if manual_license_management %}
2023-11-21 12:41:38 +01:00
< input type = "hidden" name = "manual_license_management" value = "true" / >
2023-12-18 13:02:36 +01:00
{% endif %}
< input type = "hidden" name = "tier" value = "{{ page_params.tier }}" / >
2023-11-21 12:41:38 +01:00
< / form >
2024-02-02 13:04:41 +01:00
{% endif %}
2023-11-10 14:30:10 +01:00
< div class = "input-box upgrade-page-field" >
< div class = "support-link not-editable-realm-field" >
2024-02-02 13:04:41 +01:00
{% if pay_by_invoice_payments_page %}
If you have questions or need to make any changes, please contact < a href = "mailto:sales@zulip.com" > sales@zulip.com< / a > .
{% else %}
2024-03-04 00:44:59 +01:00
Questions? Contact < a href = "mailto:sales@zulip.com" > sales@zulip.com< / a > .
2024-02-02 13:04:41 +01:00
{% endif %}
2023-11-10 14:30:10 +01:00
< / div >
2018-11-18 10:18:14 +01:00
< / div >
2018-03-31 04:13:44 +02:00
< / div >
2018-07-03 16:42:53 +02:00
< / div >
2018-03-31 04:13:44 +02:00
< / div >
< / div >
2024-03-04 00:44:59 +01:00
{% if page_params.setup_payment_by_invoice %}
< div id = "confirm-send-invoice-modal" class = "micromodal" aria-hidden = "true" >
< div class = "modal__overlay" tabindex = "-1" >
< div class = "modal__container" role = "dialog" aria-modal = "true" aria-labelledby = "dialog_title" >
< header class = "modal__header" >
< h1 class = "modal__title dialog_heading" >
{% if page_params.free_trial_days %}
Start free trial for {{ plan }}
{% else %}
Send invoice for {{ plan }}
{% endif %}
< / h1 >
< button class = "modal__close" aria-label = "{{ _('Close modal') }}" data-micromodal-close > < / button >
< / header >
< main class = "modal__content" >
< p >
2024-03-19 12:49:03 +01:00
Please be sure to
< a href = "{{ page_params.billing_base_url }}/customer_portal/?manual_license_management=true&tier={{ page_params.tier }}&setup_payment_by_invoice=true" target = "_blank" rel = "noopener noreferrer" > configure< / a >
your billing details if you have not done so already. This information will appear on your invoice and receipt.
< br / >
2024-04-10 10:31:15 +02:00
{% if page_params.free_trial_days %}
< br / >
Starting free trial will immediately send an invoice to < b > {{email}}< / b > .
This is your last chance to update the billing information on your invoice.
{% else %}
2024-03-19 12:49:03 +01:00
Your invoice will be sent to < b > {{email}}< / b > .
2024-04-10 10:31:15 +02:00
{% endif %}
2024-03-04 00:44:59 +01:00
< / p >
< / main >
< footer class = "modal__footer" >
< button class = "modal__btn dialog_exit_button" aria-label = "{{ '(Close this dialog window)' }}" data-micromodal-close > {{ _('Cancel') }}< / button >
< button class = "modal__btn dialog_submit_button" >
< span >
{% if page_params.free_trial_days %}
2024-04-10 10:31:15 +02:00
{{ _('Send invoice and start free trial') }}
2024-03-04 00:44:59 +01:00
{% else %}
{{ _('Send invoice') }}
{% endif %}
< / span >
< / button >
< / footer >
< / div >
< / div >
< / div >
{% endif %}
2018-03-31 04:13:44 +02:00
{% endblock %}