mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-04 09:31:11 -04:00
Based on feedback from this pull request: https://github.com/alphagov/notifications-admin/pull/3711
237 lines
10 KiB
HTML
237 lines
10 KiB
HTML
{% from "components/table.html" import mapping_table, row, text_field, field, row_heading %}
|
||
{% from "components/live-search.html" import live_search %}
|
||
{% from "components/details/macro.njk" import govukDetails %}
|
||
|
||
{% extends "content_template.html" %}
|
||
|
||
{% block per_page_title %}
|
||
Pricing
|
||
{% endblock %}
|
||
|
||
{% block content_column_content %}
|
||
|
||
<h1 class="heading-large">Pricing</h1>
|
||
<p class="govuk-body">To use GOV.UK Notify, there’s:</p>
|
||
<ul class="list list-bullet">
|
||
<li>no monthly charge</li>
|
||
<li>no setup fee</li>
|
||
<li>no procurement cost</li>
|
||
</ul>
|
||
|
||
<p class="govuk-body">
|
||
{% if not current_user.is_authenticated %}
|
||
<a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('main.register') }}">Create an account</a> then add as many different services as you need to.</p>
|
||
{% else %}
|
||
You can add as many different services as you need to.
|
||
{% endif %}
|
||
</p>
|
||
|
||
<p class="govuk-body">When you add a new service it will start in <a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('main.trial_mode_new') }}">trial mode</a>.</p>
|
||
|
||
<h2 class="heading-medium" id="emails">Emails</h2>
|
||
<p class="govuk-body">It’s free to send emails through Notify.</p>
|
||
|
||
<h2 class="heading-medium" id="text-messages">Text messages</h2>
|
||
<p class="govuk-body">Every service you add has an annual allowance of free text messages.</p>
|
||
<p class="govuk-body">If your organisation has more than one service on Notify, they each have a separate allowance.</p>
|
||
<p class="govuk-body">The allowance is:</p>
|
||
<ul class="list list-bullet">
|
||
<li>250,000 free text messages for central government services</li>
|
||
<li>25,000 free text messages for other public sector services</li>
|
||
</ul>
|
||
<p class="govuk-body">It costs 1.58 pence (plus VAT) for each text message you send after you've used your free allowance.</p>
|
||
<p class="govuk-body">See <a class="govuk-link govuk-link--no-visited-state" href="{{ url_for('main.how_to_pay') }}">how to pay</a>.
|
||
|
||
<h3 class="heading-small" id="long-text-messages">Long text messages</h3>
|
||
<p class="govuk-body">If a text message is longer than 160 characters (including spaces), it’ll be charged as more than one message.</p>
|
||
<p class="govuk-body">
|
||
The following characters are charged as 2 characters each:<br />
|
||
<span class="extended-gsm-characters">[]{}^\|~€</span>
|
||
</p>
|
||
|
||
<div class="bottom-gutter-3-2">
|
||
{% call mapping_table(
|
||
caption='Text message pricing',
|
||
field_headings=['Message length', 'Charge'],
|
||
field_headings_visible=True,
|
||
caption_visible=False
|
||
) %}
|
||
{% for message_length, charge in [
|
||
('Up to 160 characters', '1 text message'),
|
||
('Up to 306 characters', '2 text messages'),
|
||
('Up to 459 characters', '3 text messages'),
|
||
('Up to 612 characters', '4 text messages'),
|
||
('Up to 765 characters', '5 text messages'),
|
||
('Up to 918 characters', '6 text messages'),
|
||
] %}
|
||
{% call row() %}
|
||
{{ text_field(message_length) }}
|
||
{{ text_field(charge) }}
|
||
{% endcall %}
|
||
{% endfor %}
|
||
{% endcall %}
|
||
</div>
|
||
<h3 class="heading-small" id="accents">Accents and accented characters</h3>
|
||
<p class="govuk-body">Some languages, such as Welsh, use accented characters.</p>
|
||
<p class="govuk-body">Text messages containing the following accented characters are charged at the normal rate: Ä, É, Ö, Ü, à, ä, é, è, ì, ò, ö, ù, ü.</p>
|
||
<p class="govuk-body">Using other accented characters can increase the cost of sending text messages.<p class="govuk-body">
|
||
{% set accentedChars %}
|
||
<div class="bottom-gutter-3-2">
|
||
{% call mapping_table(
|
||
caption='Accented characters that affect text message charges',
|
||
field_headings=['Character', 'Description'],
|
||
field_headings_visible=True,
|
||
caption_visible=False
|
||
) %}
|
||
{% for letter, description in [
|
||
('Â', 'Capital letter A with circumflex'),
|
||
('Á', 'Capital letter A with acute'),
|
||
('À', 'Capital letter A with grave'),
|
||
('Ê', 'Capital letter E with circumflex'),
|
||
('È', 'Capital letter E with grave'),
|
||
('Ë', 'Capital letter E with dieresis'),
|
||
('Î', 'Capital letter I with circumflex'),
|
||
('Í', 'Capital letter I with acute'),
|
||
('Ì', 'Capital letter I with grave'),
|
||
('Ï', 'Capital letter I with dieresis'),
|
||
('Ô', 'Capital letter O with circumflex'),
|
||
('Ó', 'Capital letter O with acute'),
|
||
('Ò', 'Capital letter O with grave'),
|
||
('Û', 'Capital letter U with circumflex'),
|
||
('Ú', 'Capital letter U with acute'),
|
||
('Ù', 'Capital letter U with grave'),
|
||
('Ŵ', 'Capital letter W with circumflex'),
|
||
('Ẃ', 'Capital letter W with acute'),
|
||
('Ẁ', 'Capital letter W with grave'),
|
||
('Ẅ', 'Capital letter W with dieresis'),
|
||
('Ŷ', 'Capital letter Y with circumflex'),
|
||
('Ý', 'Capital letter Y with acute'),
|
||
('Ỳ', 'Capital letter Y with grave'),
|
||
('Ÿ', 'Capital letter Y with dieresis'),
|
||
('â', 'Lower case letter a with circumflex'),
|
||
('á', 'Lower case letter a with acute'),
|
||
('ê', 'Lower case letter e with circumflex'),
|
||
('ë', 'Lower case letter e with dieresis'),
|
||
('î', 'Lower case letter i with circumflex'),
|
||
('í', 'Lower case letter i with acute'),
|
||
('ï', 'Lower case letter i with dieresis'),
|
||
('ô', 'Lower case letter o with circumflex'),
|
||
('ó', 'Lower case letter o with acute'),
|
||
('û', 'Lower case letter u with circumflex'),
|
||
('ú', 'Lower case letter u with acute'),
|
||
('ŵ', 'Lower case letter w with circumflex'),
|
||
('ẃ', 'Lower case letter w with acute'),
|
||
('ẁ', 'Lower case letter w with grave'),
|
||
('ẅ', 'Lower case letter w with dieresis'),
|
||
('ŷ', 'Lower case letter y with circumflex'),
|
||
('ý', 'Lower case letter y with acute'),
|
||
('ỳ', 'Lower case letter y with grave'),
|
||
('ÿ', 'Lower case letter y with dieresis'),
|
||
] %}
|
||
{% call row() %}
|
||
{{ text_field(letter) }}
|
||
{{ text_field(description) }}
|
||
{% endcall %}
|
||
{% endfor %}
|
||
{% endcall %}
|
||
</div>
|
||
{% endset %}
|
||
{{ govukDetails({
|
||
"summaryText": "Accented characters that affect text message charges",
|
||
"html": accentedChars
|
||
}) }}
|
||
|
||
<div class="bottom-gutter-3-2">
|
||
{% call mapping_table(
|
||
caption='Pricing for text messages containing accented characters that affect the charges',
|
||
field_headings=['Message length', 'Charge'],
|
||
field_headings_visible=True,
|
||
caption_visible=False
|
||
) %}
|
||
{% for message_length, charge in [
|
||
('Up to 70 characters', '1 text message'),
|
||
('Up to 134 characters', '2 text messages'),
|
||
('Up to 201 characters', '3 text messages'),
|
||
('Up to 268 characters', '4 text messages'),
|
||
('Each additional 67 characters', '1 additional text message'),
|
||
] %}
|
||
{% call row() %}
|
||
{{ text_field(message_length) }}
|
||
{{ text_field(charge) }}
|
||
{% endcall %}
|
||
{% endfor %}
|
||
{% endcall %}
|
||
</div>
|
||
|
||
<h3 class="heading-small" id="international-numbers">Sending text messages to international numbers</h3>
|
||
<p class="govuk-body">It might cost more to send text messages to international numbers than UK ones, depending on the country.</p>
|
||
{% set smsIntRates %}
|
||
{{ live_search(target_selector='#international-pricing .table-row', show=True, form=search_form, label='Search by country name or code') }}
|
||
|
||
<div id="international-pricing" class="bottom-gutter-3-2">
|
||
{% call mapping_table(
|
||
caption='Letter pricing',
|
||
field_headings=['Country code', 'Country', 'Cost multiplier'],
|
||
field_headings_visible=True,
|
||
caption_visible=False
|
||
) %}
|
||
{% for cc, names, billable_units in international_sms_rates %}
|
||
{% call row() %}
|
||
{{ text_field('+' + cc) }}
|
||
{% call field() %}
|
||
{% for name in names %}
|
||
{{ name }}<br>
|
||
{% endfor %}
|
||
{% endcall %}
|
||
{{ text_field('{} ×'.format(billable_units)|safe) }}
|
||
{% endcall %}
|
||
{% endfor %}
|
||
{% endcall %}
|
||
</div>
|
||
|
||
{% endset %}
|
||
{{ govukDetails({
|
||
"summaryText": "International text message rates",
|
||
"html": smsIntRates
|
||
}) }}
|
||
|
||
<h2 class="heading-medium" id="letters">Letters</h2>
|
||
<p class="govuk-body">The cost of sending a letter depends on the postage you choose and how many sheets of paper you need.</p>
|
||
|
||
<p class="govuk-body">Prices include:</p>
|
||
<ul class="list list-bullet">
|
||
<li>paper</li>
|
||
<li>postage</li>
|
||
<li>double-sided colour printing</li>
|
||
<li>C5 size envelopes with an address window</li>
|
||
</ul>
|
||
|
||
<div>
|
||
{% call mapping_table(
|
||
caption='Letter pricing',
|
||
field_headings=['Paper', 'Second class', 'First class', 'International'],
|
||
field_headings_visible=True,
|
||
caption_visible=False
|
||
) %}
|
||
{% for sheets, second, first, international in [
|
||
('1 sheet', '35p', '61p', '84p'),
|
||
('2 sheets', '40p', '66p', '92p'),
|
||
('3 sheets', '45p', '71p', '£1'),
|
||
('4 sheets', '50p', '76p', '£1.08'),
|
||
('5 sheets', '55p', '81p', '£1.16'),
|
||
] %}
|
||
{% call row() %}
|
||
{% call row_heading() %} {{ sheets }} {% endcall %}
|
||
{{ text_field(second + ' + VAT') }}
|
||
{{ text_field(first + ' + VAT') }}
|
||
{{ text_field(international + ' + VAT') }}
|
||
{% endcall %}
|
||
{% endfor %}
|
||
{% endcall %}
|
||
</div>
|
||
<div class="panel panel-border-wide">
|
||
<p class="govuk-body">These prices were updated on 7 September 2020.</p>
|
||
</div>
|
||
|
||
{% endblock %}
|