diff --git a/app/assets/stylesheets/components/navigation.scss b/app/assets/stylesheets/components/navigation.scss index 388cfffb7..682346b76 100644 --- a/app/assets/stylesheets/components/navigation.scss +++ b/app/assets/stylesheets/components/navigation.scss @@ -108,6 +108,10 @@ a:active { text-decoration: underline; } + + ol ol & { + padding-left: $gutter; + } } &__item--active { diff --git a/app/main/views/index.py b/app/main/views/index.py index 40422a93d..aa5d2bc3c 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -65,11 +65,6 @@ def privacy(): return render_template('views/privacy.html') -@main.route('/trial-mode') -def trial_mode(): - return redirect(url_for('.using_notify') + '#trial-mode', 301) - - @main.route('/pricing') def pricing(): return render_template( @@ -85,7 +80,7 @@ def pricing(): @main.route('/delivery-and-failure') def delivery_and_failure(): - return redirect(url_for('.using_notify') + '#messagedeliveryandfailure', 301) + return redirect(url_for('.message_status'), 301) @main.route('/design-patterns-content-guidance') @@ -240,6 +235,30 @@ def roadmap(): ) +@main.route('/features/email') +def features_email(): + return render_template( + 'views/features/emails.html', + navigation_links=features_nav() + ) + + +@main.route('/features/sms') +def features_sms(): + return render_template( + 'views/features/text-messages.html', + navigation_links=features_nav() + ) + + +@main.route('/features/letters') +def features_letters(): + return render_template( + 'views/features/letters.html', + navigation_links=features_nav() + ) + + @main.route('/features/security', endpoint='security') def security(): return render_template( @@ -261,6 +280,27 @@ def using_notify(): return render_template( 'views/using-notify.html', navigation_links=features_nav() + ), 410 + + +@main.route('/features/messages-status') +def message_status(): + return render_template( + 'views/message-status.html', + navigation_links=features_nav() + ) + + +@main.route('/trial-mode') +def trial_mode(): + return redirect(url_for('.trial_mode_new'), 301) + + +@main.route('/features/trial-mode') +def trial_mode_new(): + return render_template( + 'views/trial-mode.html', + navigation_links=features_nav() ) diff --git a/app/main/views/sub_navigation_dictionaries.py b/app/main/views/sub_navigation_dictionaries.py index b6ab788bc..e5f7c58ec 100644 --- a/app/main/views/sub_navigation_dictionaries.py +++ b/app/main/views/sub_navigation_dictionaries.py @@ -3,11 +3,33 @@ def features_nav(): { "name": "Features", "link": "main.features", + "sub_navigation_items": [ + { + "name": "Emails", + "link": "main.features_email", + }, + { + "name": "Text messages", + "link": "main.features_sms", + }, + { + "name": "Letters", + "link": "main.features_letters", + }, + ] }, { "name": "Roadmap", "link": "main.roadmap", }, + { + "name": "Trial mode", + "link": "main.trial_mode_new", + }, + { + "name": "Message status", + "link": "main.message_status", + }, { "name": "Security", "link": "main.security", @@ -16,8 +38,4 @@ def features_nav(): "name": "Terms of use", "link": "main.terms", }, - { - "name": "Using Notify", - "link": "main.using_notify", - }, ] diff --git a/app/navigation.py b/app/navigation.py index 33d7d07ad..829a50489 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -49,6 +49,10 @@ class HeaderNavigation(Navigation): }, 'features': { 'features', + 'features_email', + 'features_letters', + 'features_sms', + 'message_status', 'roadmap', 'security', 'terms', @@ -279,6 +283,7 @@ class HeaderNavigation(Navigation): 'template_history', 'template_usage', 'trial_mode', + 'trial_mode_new', 'usage', 'view_job', 'view_job_csv', @@ -451,6 +456,9 @@ class MainNavigation(Navigation): 'email_template', 'error', 'features', + 'features_email', + 'features_letters', + 'features_sms', 'feedback', 'find_users_by_email', 'forgot_password', @@ -469,6 +477,7 @@ class MainNavigation(Navigation): 'letter_branding_preview_image', 'live_services', 'letter_template', + 'message_status', 'manage_org_users', 'new_password', 'old_integration_testing', @@ -525,6 +534,7 @@ class MainNavigation(Navigation): 'thanks', 'triage', 'trial_mode', + 'trial_mode_new', 'trial_services', 'two_factor', 'two_factor_email', @@ -654,6 +664,9 @@ class CaseworkNavigation(Navigation): 'error', 'estimate_usage', 'features', + 'features_email', + 'features_letters', + 'features_sms', 'feedback', 'find_users_by_email', 'forgot_password', @@ -678,6 +691,7 @@ class CaseworkNavigation(Navigation): 'manage_org_users', 'manage_template_folder', 'manage_users', + 'message_status', 'monthly', 'new_password', 'old_integration_testing', @@ -776,6 +790,7 @@ class CaseworkNavigation(Navigation): 'thanks', 'triage', 'trial_mode', + 'trial_mode_new', 'trial_services', 'two_factor', 'two_factor_email', @@ -908,6 +923,9 @@ class OrgNavigation(Navigation): 'error', 'estimate_usage', 'features', + 'features_email', + 'features_letters', + 'features_sms', 'feedback', 'find_users_by_email', 'forgot_password', @@ -930,6 +948,7 @@ class OrgNavigation(Navigation): 'live_services', 'manage_template_folder', 'manage_users', + 'message_status', 'monthly', 'new_password', 'old_integration_testing', @@ -1027,6 +1046,7 @@ class OrgNavigation(Navigation): 'thanks', 'triage', 'trial_mode', + 'trial_mode_new', 'trial_services', 'two_factor', 'two_factor_email', diff --git a/app/templates/admin_template.html b/app/templates/admin_template.html index a78581cfd..2eb67b172 100644 --- a/app/templates/admin_template.html +++ b/app/templates/admin_template.html @@ -86,9 +86,10 @@
diff --git a/app/templates/components/sub-navigation.html b/app/templates/components/sub-navigation.html index ed7464e52..635181f80 100644 --- a/app/templates/components/sub-navigation.html +++ b/app/templates/components/sub-navigation.html @@ -1,18 +1,29 @@ +{% macro sub_navigation_item(item) %} + +{% endmacro %} + {% macro sub_navigation( item_set ) %} diff --git a/app/templates/views/documentation.html b/app/templates/views/documentation.html index 0729b7658..ed834b147 100644 --- a/app/templates/views/documentation.html +++ b/app/templates/views/documentation.html @@ -9,8 +9,10 @@
-

Documentation

-

Integrate with the GOV.UK Notify API using one of our clients (links open in a new tab):

+

Documentation

+

Use the GOV.UK Notify API to send messages automatically.

+

Clients

+

Choose a client to integrate our API with your web application or back-office system. Links to documentation open in a new tab.

    {% for key, label in [ ('java', 'Java'), diff --git a/app/templates/views/features.html b/app/templates/views/features.html index deffa316d..fdd099fe2 100644 --- a/app/templates/views/features.html +++ b/app/templates/views/features.html @@ -15,64 +15,72 @@

    Features

    -

    With GOV.UK Notify, you can:

    +

    If you work for central government, a local authority or the NHS, you can use GOV.UK Notify to keep your users updated.

    +

    Notify makes it easy to create, customise and send:

    You don’t need any technical knowledge to use Notify.

    -

    Create an account for free and try it yourself.

    + {% if not current_user.is_authenticated %} +

    Create an account for free and try it yourself.

    + {% endif %} -

    Create messages quickly and easily

    -

    Without any technical knowledge, you can:

    +

    Reusable message templates

    +

    To send an email, text or letter with Notify, you need to create a reusable message template first.

    +

    Templates let you send the same thing to lots of people, as often as you need to, without writing a new message each time.

    + +

    Personalised content

    +

    Notify makes it easy to send personalised messages from a single template.

    +

    If you want to include personalised content in your message, you can add a placeholder. Placeholders are filled in with details, like a name or reference number, each time you send a message. You can do this manually or upload a list of personal details and let Notify do it for you.

    + +

    Bulk sending

    +

    To send a batch of messages at once, upload a list of contact details to Notify. If you're sending emails and text messages, you can also schedule the date and time you want them to be sent.

    + +

    API integration

    +

    You can integrate the Notify API with your web application or back-office system to send messages automatically.

    +

    Read our API documentation for more information.

    + +

    Reporting

    +

    Notify’s real-time dashboard lets you see the number of messages sent. You can also check the current status of any message to see when it was delivered.

    +

    Read more about how message status typesmessage status works.

    + +

    Permissions

    +

    Control which members of your team can see, create, edit and send messages.

    +

    Notify lets you:

      -
    • create your own message templates
    • -
    • change how messages are formatted
    • -
    • preview messages before you send them
    • +
    • set different permission levels for each team member
    • +
    • invite team members who don’t have a government email address
    • +
    • choose who else can manage team members
    -

    Customise your branding

    -

    You control how your messages look when you send them through Notify. You can:

    -
      -
    • use your organisation’s own branding
    • -
    • choose the name that emails and text messages come from
    • -
    • choose the email address that users reply to
    • -
    • get a unique phone number for text message replies
    • -
    - -

    Send messages in bulk or individually

    -

    With Notify, you can:

    -
      -
    • send bulk messages to lots of users
    • -
    • send personalised messages to individual users
    • -
    • schedule messages to be sent at a particular time
    • -
    • send messages automatically through our API
    • -
    - -

    Track your activity

    -

    Through the Notify dashboard, you can:

    -
      -
    • check the delivery status of any emails and text messages
    • -
    • see a real-time dashboard of your activity
    • -
    • view your usage and reports
    • -
    - -

    Manage your team

    -

    Through the Notify dashboard, you can:

    -
      -
    • set permission levels for different team members
    • -
    • invite new users (including people without a government email address)
    • -
    - -

    Send messages reliably

    +

    Performance

    Notify commits to:

    • sending 95% of emails and text messages within 10 seconds
    • -
    • sending letters by 3pm the next working day (if you submit it through Notify before 5pm)
    • +
    • printing and posting letters by 3pm the next working day (if you send them to us before 5:30pm)
    -

    Notify sends messages through multiple providers. If one provider fails, Notify automatically switches to another so that your messages aren’t affected.

    - -

    You can check how Notify is performing.

    +

    We send messages through several different providers. If one provider fails, Notify switches to another so that your messages are not affected.

    + +

    Visit GOV.UK Performance to see how Notify is performing.

    + +

    Security

    +

    Notify protects and manages data to meet the needs of government services.

    + +

    Hide sensitive information

    +

    Notify lets you redact personal information from your messages after they've been sent. This means that only the recipient can see that information.

    + +

    Two-factor authentication

    +

    Notify uses two-factor authentication (2FA) to keep your account secure. When you sign in, we'll send a unique one-time code to your phone and ask you to enter it before we let you use your account.

    +

    Read more about security. + +

    Support

    +

    Notify provides 24-hour online support. If you have an emergency outside office hours, we’ll reply within 30 minutes.

    +

    Find out more about support.

    + +
    +
+ {% endblock %} diff --git a/app/templates/views/features/emails.html b/app/templates/views/features/emails.html new file mode 100644 index 000000000..a9941bc8f --- /dev/null +++ b/app/templates/views/features/emails.html @@ -0,0 +1,60 @@ +{% extends "withoutnav_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Emails +{% endblock %} + +{% block maincolumn_content %} + +
+
+ {{ sub_navigation(navigation_links) }} +
+
+ +

Emails

+

Send an unlimited number of emails for free with GOV.UK Notify.

+ {% if not current_user.is_authenticated %} +

Create an account and try Notify for yourself.

+ {% endif %} + +

Features

+

Notify makes it easy to:

+
    +
  • create reusable email templates
  • +
  • personalise the content of your emails
  • +
  • send and schedule bulk messages
  • +
+

You can also integrate with our API to send emails automatically.

+ +

Email branding

+

Add your organisation's logo and brand colour to email templates.

+

You can change your branding in your service settings.

+ +

Send files by email

+

Notify offers a safe and reliable way to send files by email.

+

Upload a file using our API, then send your users an email with a link to download it.

+

Notify uses encrypted links instead of email attachments because:

+
    +
  • they’re more secure
  • + +
  • email attachments are often marked as spam
  • +
+

Contact the team and ask us to turn this feature on for your service.

+

Read the API documentation for more information.

+ +

Add a reply-to address

+

Notify lets you choose the email address that users reply to.

+

Emails with a reply-to address seem more trustworthy and are less likely to be labelled as spam.

+

You can add reply-to addresses in your service settings.

+ +

Pricing

+

It’s free to send emails through Notify.

+

See pricing for more details.

+ +
+
+ +{% endblock %} diff --git a/app/templates/views/features/letters.html b/app/templates/views/features/letters.html new file mode 100644 index 000000000..57697249d --- /dev/null +++ b/app/templates/views/features/letters.html @@ -0,0 +1,55 @@ +{% extends "withoutnav_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Letters +{% endblock %} + +{% block maincolumn_content %} + +
+
+ {{ sub_navigation(navigation_links) }} +
+
+ +

Letters

+

GOV.UK Notify will print, pack and post your letters for you.

+ {% if not current_user.is_authenticated %} +

Create an account and try Notify for yourself.

+ {% endif %} + +

Features

+

Notify makes it easy to:

+
    +
  • create reusable letter templates
  • +
  • personalise the content of your letter
  • +
  • send bulk messages
  • +
+

You can also integrate with our API to send letters automatically.

+ +

Choose your postage

+

You can send letters by first or second class post.

+

First class letters are delivered one day after they’re dispatched. Second class letters are delivered 2 days after they're dispatched.

+

Letters sent before 5:30pm are dispatched the next working day (Monday to Friday). Royal Mail delivers from Monday to Saturday, excluding bank holidays.

+ +

Upload your own letters

+

You can create reusable letter templates in Notify, or upload and send your own letters.

+

Use the letter specification document to help you set up your letter, save it as a PDF, then upload it to Notify.

+ +

Pricing

+

It costs between 30p and 76p to send a letter. Prices include:

+
    +
  • paper
  • +
  • double-sided colour printing
  • +
  • C5 size envelopes with an address window
  • +
  • first or second class postage
  • +
+

Letters can be up to 10 pages long (5 double-sided sheets of paper).

+

See pricing for more details.

+ +
+
+ +{% endblock %} diff --git a/app/templates/views/features/text-messages.html b/app/templates/views/features/text-messages.html new file mode 100644 index 000000000..cb0dd2052 --- /dev/null +++ b/app/templates/views/features/text-messages.html @@ -0,0 +1,52 @@ +{% extends "withoutnav_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Text messages +{% endblock %} + +{% block maincolumn_content %} + +
+
+ {{ sub_navigation(navigation_links) }} +
+
+ +

Text messages

+

With GOV.UK Notify you can send thousands of free text messages to UK and international numbers.

+ {% if not current_user.is_authenticated %} +

Create an account and try Notify for yourself.

+ {% endif %} + +

Features

+

Notify makes it easy to:

+
    +
  • create reusable text message templates
  • +
  • personalise the content of your texts
  • +
  • send and schedule bulk messages
+

You can also integrate with our API to send text messages automatically.

+ +

Receive text messages

+

Let people send messages to your service or reply to your texts.

+

You can see and reply to the messages you receive, or set up your own automated processes to manage replies.

+

Contact the team to request a unique number for text message replies.

+ +

Show people who your texts are from

+

When you send a text message with Notify, the sender name tells people who it's from.

+

You can change the text message sender name from the default of 'GOVUK' in your service settings.

+ +

Pricing

+

Each service you set up has a free annual allowance. After that it costs 1.58 pence (plus VAT) to send a text to a UK number.

+

The free allowance is:

+
    +
  • 250,000 free text messages for central government services
  • +
  • 25,000 free text messages for other public sector services
+

See pricing for more details.

+ +

+
+ + +{% endblock %} diff --git a/app/templates/views/message-status.html b/app/templates/views/message-status.html new file mode 100644 index 000000000..a4e7336ea --- /dev/null +++ b/app/templates/views/message-status.html @@ -0,0 +1,106 @@ +{% extends "withoutnav_template.html" %} +{% from "components/sub-navigation.html" import sub_navigation %} +{% from "components/table.html" import mapping_table, row, text_field %} + +{% block per_page_title %} + Message status +{% endblock %} + +{% block maincolumn_content %} + +
+
+ {{ sub_navigation(navigation_links) }} +
+
+ +

Message status

+ +

When you send a message using GOV.UK Notify, it moves through different states.

+

Notify’s real-time dashboard lets you check the status of any message, to see when it was delivered. You can also use our API to check the status of your messages.

+

For security, this information is only available for 7 days after a message has been sent. You can download a report, including a list of sent messages, for your own records.

+ + A picture of the sending flow of messages in Notify, showing the three states of Sending, Delivered and Failed. Also shows the next
+             steps when messages fail, deleting data and trying a new channel for permanent failures, and trying again or trying a new channel for
+             temporary failures +

Types of message status

+

These are the types of message status you’ll see when you’re signed in to Notify.

+

If you’re using our API, some of the statuses you'll see will be different. Read our documentation for a detailed list of API message statuses.

+ +

Emails

+
+ {% call mapping_table( + caption='Message statuses – emails', + field_headings=['Status', 'Description'], + field_headings_visible=True, + caption_visible=False + ) %} + {% for message_length, charge in [ + ('Sending', 'Notify has sent the message to the provider. The provider will try to deliver the message to the recipient. Notify is waiting for delivery information.'), + ('Delivered', 'The message was successfully delivered. Notify will not tell you if a user has opened or read a message.'), + ('Email address does not exist', 'The provider could not deliver the message because the email address was wrong. You should remove these email addresses from your database.'), + ('Inbox not accepting messages right now', 'The provider could not deliver the message after trying for 72 hours. This can happen when the recipient’s inbox is full. You can try to send the message again.'), + ('Technical failure', 'Your message was not sent because there was a problem between Notify and the provider. You’ll have to try sending your messages again.'), + ] %} + {% call row() %} + {{ text_field(message_length) }} + {{ text_field(charge) }} + {% endcall %} + {% endfor %} + {% endcall %} +
+ +

Text messages

+
+ {% call mapping_table( + caption='Message statuses – text messages', + field_headings=['Status', 'Description'], + field_headings_visible=True, + caption_visible=False + ) %} + {% for message_length, charge in [ + ('Sending', 'Notify has sent the message to the provider. The provider will try to deliver the message to the recipient. Notify is waiting for delivery information.'), + ('Sent internationally', 'The message was sent to an international number. The mobile networks in some countries do not provide any more delivery information.'), + ('Delivered', 'The message was successfully delivered. Notify will not tell you if a user has opened or read a message.'), + ('Phone number does not exist', 'The provider could not deliver the message because the phone number was wrong. You should remove these phone numbers from your database. You’ll still be charged for text messages to numbers that do not exist.'), + ('Phone not accepting messages right now', 'The provider could not deliver the message after trying for 72 hours. This can happen when the recipient’s phone is off. You can try to send the message again. You’ll still be charged for text messages to phones that are not accepting messages.'), + ('Technical failure', 'Your message was not sent because there was a problem between Notify and the provider. You’ll have to try sending your messages again. You will not be charged for text messages that are affected by a technical failure.'), + ] %} + {% call row() %} + {{ text_field(message_length) }} + {{ text_field(charge) }} + {% endcall %} + {% endfor %} + {% endcall %} +
+ +

Letters

+
+ {% call mapping_table( + caption='Message statuses – letters', + field_headings=['Status', 'Description'], + field_headings_visible=True, + caption_visible=False + ) %} + {% for message_length, charge in [ + ('Sent', 'Notify has sent the letter to the provider to be printed.'), + ('Cancelled', 'Sending cancelled. Your letter will not be printed or dispatched.'), + ('Technical failure', 'Notify had an unexpected error while sending the letter to our printing provider.'), + ] %} + {% call row() %} + {{ text_field(message_length) }} + {{ text_field(charge) }} + {% endcall %} + {% endfor %} + {% endcall %} +
+ + +
+
+ +{% endblock %} diff --git a/app/templates/views/pricing.html b/app/templates/views/pricing.html index 3a4538716..e54df2e7d 100644 --- a/app/templates/views/pricing.html +++ b/app/templates/views/pricing.html @@ -14,27 +14,30 @@

Pricing

-

To use GOV.UK Notify, there’s:

+

To use GOV.UK Notify, there’s:

    -
  • no procurement cost
  • no monthly charge
  • -
  • no setup fee to use
  • +
  • no setup fee
  • +
  • no procurement cost
+ {% if not current_user.is_authenticated %} +

Create an account then set up as many different services as you need to. Each service has its own free text message allowance.

+ {% endif %} + +

When you set up a new service it will start in trial mode.

+

Emails

-

It’s free to send emails through GOV.UK Notify.

+

It’s free to send emails through Notify.

Text messages

-

You have a free allowance of text messages each financial year. You’ll get:

+

Each service you set up in Notify has a free annual allowance. The allowance is:

  • 250,000 free text messages for central government services
  • 25,000 free text messages for other public sector services

It costs 1.58 pence (plus VAT) for each text message you send after your free allowance.

- -

Multiple services

-

If your organisation offers multiple services, you can have a different Notify account for each of them.

-

Each service will get its own free message allowance.

+

See how to pay.

Long text messages

If a text message is beyond a certain length, it’ll be charged as more than one message:

@@ -89,11 +92,11 @@

Letters

-

The cost of sending a letter depends on how many sheets of paper you need and the class of postage.

+

The cost of sending a letter depends on the postage you choose and how many sheets of paper you need.

{% call mapping_table( caption='Letter pricing', - field_headings=['', 'Second class', 'First class'], + field_headings=['Paper', 'Second class', 'First class'], field_headings_visible=True, caption_visible=False ) %} @@ -112,24 +115,24 @@ {% endfor %} {% endcall %}
-

Letter prices include:

+

Prices include:

    -
  • paper
  • -
  • double-sided colour printing
  • -
  • envelopes
  • -
  • postage
  • +
  • paper
  • +
  • double-sided colour printing
  • +
  • C5 size envelopes with an address window
  • +
  • first or second class postage

How to pay

-

You can find details of how to pay for Notify in our data sharing and financial agreement.

-

- {{ current_user.default_organisation.as_pricing_paragraph( - pricing_link=url_for('main.sign_in', next=url_for('main.pricing', _anchor='paying')), - download_link=url_for('main.agreement'), - support_link=url_for('.feedback', ticket_type='ask-question-give-feedback', body='agreement'), - signed_in=current_user.is_authenticated, - ) }} -

+

Before you can use Notify to send letters or pay for text messages you’ll need to:

+
    +
  • send us a request to make your service live
  • +
  • sign our data sharing and financial agreement
  • +
  • raise a Purchase Order (PO)
  • +
+ +

You may need to set up the Cabinet Office as a supplier before you can raise a PO.

+

After you’ve done that, Notify will send you an invoice at the end of each quarter. If the value of an invoice is very small, we roll it into the next quarter to save time and effort.

diff --git a/app/templates/views/support/index.html b/app/templates/views/support/index.html index 7c909aff5..f2738d5f9 100644 --- a/app/templates/views/support/index.html +++ b/app/templates/views/support/index.html @@ -13,30 +13,29 @@

Support

+

We provide 24-hour online support for teams with a live service on GOV.UK Notify.

{% call form_wrapper(class="bottom-gutter-2") %} {{ radios(form.support_type) }} {{ page_footer('Continue') }} {% endcall %} -

If something’s wrong, you can check the GOV.UK Notify system status page to see if we’re already aware of it.

- -

24-hour support

-

You can get 24-hour online support for Notify if you have a live account.

-

During office hours

-

Our office hours are 9.30am to 5.30pm, Monday to Friday.

-

Contact us using one of the options on this page and you’ll get a reply within 30 minutes.

-

You can also get in touch with us on Slack.

-

Out-of-hours

-

Outside office hours, response times depend on whether you’re reporting an emergency or not.

+

You can also get in touch with us on Slack.

+ +

Office hours

+

Our office hours are 9:30am to 5:30pm, Monday to Friday.

+

When you report a problem in office hours, we’ll aim to read it within 30 minutes and reply within one working day.

+ +

Out-of-hours

+

Outside office hours, response times depend on whether you’re reporting an emergency.

If it’s an emergency, we’ll reply within 30 minutes and update you every hour until the problem’s fixed.

+

If your problem is not an emergency, we’ll reply within one working day.

A problem is only classed as an emergency if:

-

We’ll reply during the next working day for any other problems.

diff --git a/app/templates/views/trial-mode.html b/app/templates/views/trial-mode.html new file mode 100644 index 000000000..1f4321d76 --- /dev/null +++ b/app/templates/views/trial-mode.html @@ -0,0 +1,45 @@ +{% extends "withoutnav_template.html" %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Using Notify +{% endblock %} + +{% block maincolumn_content %} + +
+
+ {{ sub_navigation(navigation_links) }} +
+
+ +

Trial mode

+ +

When you set up a new service it will start in trial mode. This lets you try out GOV.UK Notify, with a few restrictions.

+

A service in trial mode can only:

+ + +

+ To remove these restrictions, you can + {% if current_service and current_service.trial_mode %} + send us a request to go live. + {% else %} + send us a request to go live. + {% endif %} +

+ +

Before you can request to go live, you must:

+ + + +
+ +{% endblock %} diff --git a/app/templates/views/using-notify.html b/app/templates/views/using-notify.html index e6753719d..f986accf4 100644 --- a/app/templates/views/using-notify.html +++ b/app/templates/views/using-notify.html @@ -15,27 +15,48 @@

Using Notify

-

Trial mode

-

When you create a GOV.UK Notify account, you’ll start in trial mode. This lets you try out the service, but has some restrictions in place.

+

The information on this page has moved.

+ +

Find out more about:

+ + +
diff --git a/tests/app/main/views/test_index.py b/tests/app/main/views/test_index.py index e712d174c..3c0a5998b 100644 --- a/tests/app/main/views/test_index.py +++ b/tests/app/main/views/test_index.py @@ -77,7 +77,7 @@ def test_robots(client): @pytest.mark.parametrize('view', [ - 'cookies', 'privacy', 'using_notify', 'pricing', 'terms', 'roadmap', + 'cookies', 'privacy', 'pricing', 'terms', 'roadmap', 'features', 'callbacks', 'documentation', 'security' ]) def test_static_pages( @@ -89,26 +89,6 @@ def test_static_pages( assert not page.select_one('meta[name=description]') -@pytest.mark.parametrize('view, expected_anchor', [ - ('delivery_and_failure', 'messagedeliveryandfailure'), - ('trial_mode', 'trial-mode'), -]) -def test_old_static_pages_redirect_to_using_notify_with_anchor( - client_request, - view, - expected_anchor, -): - client_request.get( - 'main.{}'.format(view), - _expected_status=301, - _expected_redirect=url_for( - 'main.using_notify', - _anchor=expected_anchor, - _external=True - ), - ) - - @pytest.mark.parametrize('view, expected_view', [ ('information_risk_management', 'security'), ('old_integration_testing', 'integration_testing'), @@ -117,6 +97,7 @@ def test_old_static_pages_redirect_to_using_notify_with_anchor( ('old_terms', 'terms'), ('information_security', 'using_notify'), ('old_using_notify', 'using_notify'), + ('delivery_and_failure', 'message_status'), ]) def test_old_static_pages_redirect( client, @@ -131,6 +112,10 @@ def test_old_static_pages_redirect( ) +def test_old_using_notify_page(client_request): + client_request.get('main.using_notify', _expected_status=410) + + def test_old_integration_testing_page( client_request, ): @@ -162,29 +147,11 @@ def test_terms_is_generic_if_user_is_not_logged_in( ) -def test_pricing_is_generic_if_user_is_not_logged_in( - client -): - response = client.get(url_for('main.pricing')) - assert response.status_code == 200 - page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') - last_paragraph = page.select('main p')[-1] - assert normalize_spaces(last_paragraph.text) == ( - 'Sign in to download a copy or find out if one is already ' - 'in place with your organisation.' - ) - assert last_paragraph.select_one('a')['href'] == url_for( - 'main.sign_in', - next=url_for('main.pricing', _anchor='paying'), - ) - - @pytest.mark.parametrize(( 'name,' 'agreement_signed,' 'expected_terms_paragraph,' 'expected_terms_link,' - 'expected_pricing_paragraph' ), [ ( 'Cabinet Office', @@ -194,10 +161,6 @@ def test_pricing_is_generic_if_user_is_not_logged_in( 'the GOV.UK Notify data sharing and financial agreement.' ), None, - ( - 'Download the agreement ' - '(Cabinet Office has already accepted it).' - ), ), ( 'Aylesbury Town Council', @@ -211,10 +174,6 @@ def test_pricing_is_generic_if_user_is_not_logged_in( url_for, 'main.agreement', ), - ( - 'Download the agreement ' - '(Aylesbury Town Council hasn’t accepted it yet).' - ), ), ( None, @@ -229,10 +188,6 @@ def test_pricing_is_generic_if_user_is_not_logged_in( url_for, 'main.agreement', ), - ( - 'Download the agreement or contact us to find out if ' - 'we already have one in place with your organisation.' - ), ), ( 'Met Office', @@ -245,10 +200,6 @@ def test_pricing_is_generic_if_user_is_not_logged_in( url_for, 'main.agreement', ), - ( - 'Download the agreement (Met Office hasn’t accepted it ' - 'yet).' - ), ), ]) def test_terms_tells_logged_in_users_what_we_know_about_their_agreement( @@ -259,7 +210,6 @@ def test_terms_tells_logged_in_users_what_we_know_about_their_agreement( agreement_signed, expected_terms_paragraph, expected_terms_link, - expected_pricing_paragraph, ): mock_get_organisation_by_domain( mocker, @@ -267,13 +217,12 @@ def test_terms_tells_logged_in_users_what_we_know_about_their_agreement( agreement_signed=agreement_signed, ) terms_page = client_request.get('main.terms') - pricing_page = client_request.get('main.pricing') + assert normalize_spaces(terms_page.select('main p')[1].text) == expected_terms_paragraph if expected_terms_link: assert terms_page.select_one('main p a')['href'] == expected_terms_link() else: assert not terms_page.select_one('main p').select('a') - assert normalize_spaces(pricing_page.select('main p')[-1].text) == expected_pricing_paragraph def test_css_is_served_from_correct_path(client_request):