Files
notifications-admin/app/templates/views/pricing/index.html
Tom Byers da414beab9 Update pricing page with full welsh alphabet for SMS
accented characters rather than special characters. call them accented
as special is a bit wishy washy and doesn't explain what they actually
are. "Diacritics" is correct but too technical. Accented characters is
a happy middle ground

screanreaders struggle to distinguish accented letters, capitals, etc,
so by having a simple two column layout we can have the full unicode
glyph name, removing any ambiguity.
2019-12-03 13:27:13 +00:00

222 lines
8.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% from "components/table.html" import mapping_table, row, text_field, field, row_heading %}
{% from "components/live-search.html" import live_search %}
{% extends "content_template.html" %}
{% block per_page_title %}
Pricing
{% endblock %}
{% block content_column_content %}
<h1 class="heading-large">Pricing</h1>
<p>To use GOV.UK Notify, theres:</p>
<ul class="list list-bullet">
<li>no monthly charge</li>
<li>no setup fee</li>
<li>no procurement cost</li>
</ul>
<p>
{% if not current_user.is_authenticated %}
<a 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>When you add a new service it will start in <a href="{{ url_for('main.trial_mode_new') }}">trial mode</a>.</p>
<h2 class="heading-medium">Emails</h2>
<p>Its free to send emails through Notify.</p>
<h2 class="heading-medium">Text messages</h2>
<p>Every service you add has an annual allowance of free text messages.</p>
<p>If your organisation has more than one service on Notify, they each have a separate allowance.</p>
<p>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>It costs 1.58 pence (plus VAT) for each text message you send after you've used your free allowance.</p>
<p>See <a href="{{ url_for('main.how_to_pay') }}">how to pay</a>.
<h3 class="heading-small">Long text messages</h3>
<p>If a text message is longer than 160 characters (including spaces), itll be charged as more than one message:</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'),
] %}
{% call row() %}
{{ text_field(message_length) }}
{{ text_field(charge) }}
{% endcall %}
{% endfor %}
{% endcall %}
</div>
<h3 class="heading-small">Accents and accented characters</h3>
<p>Some languages, such as Welsh, use accented characters.</p>
<p>Text messages containing the following accented characters are charged at the normal rate: Ä, É, Ö, Ü, à, ä, é, è, ì, ò, ö, ù, ü.</p>
<p>Using other accented characters can increase the cost of sending text messages.<p>
<details>
<summary>Accented characters that affect text message charges</summary>
<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>
</details>
<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">Sending text messages to international numbers</h3>
<p>It might cost more to send text messages to international numbers than UK ones, depending on the country.</p>
<details>
<summary>International text message rates</summary>
{{ 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('{}&hairsp;&times;'.format(billable_units)|safe) }}
{% endcall %}
{% endfor %}
{% endcall %}
</div>
</details>
<h2 class="heading-medium" id="letters">Letters</h2>
<p>The cost of sending a letter depends on the postage you choose and how many sheets of paper you need.</p>
<div>
{% call mapping_table(
caption='Letter pricing',
field_headings=['Paper', 'Second class', 'First class'],
field_headings_visible=True,
caption_visible=False
) %}
{% for sheets, second, first in [
('1 sheet', '35', '61'),
('2 sheets', '40', '66'),
('3 sheets', '45', '71'),
('4 sheets', '50', '76'),
('5 sheets', '55', '81'),
] %}
{% call row() %}
{% call row_heading() %} {{ sheets }} (double-sided) {% endcall %}
{{ text_field(second + 'p + VAT') }}
{{ text_field(first + 'p + VAT') }}
{% endcall %}
{% endfor %}
{% endcall %}
</div>
<div class="panel panel-border-wide">
<p>These prices were updated on 1 October 2019.</p>
</div>
<p>Prices include:</p>
<ul class="list list-bullet">
<li>paper</li>
<li>double-sided colour printing</li>
<li>C5 size envelopes with an address window</li>
<li>first or second class postage</li>
</ul>
{% endblock %}