diff --git a/app/assets/images/crown_logo.png b/app/assets/images/crown_logo.png
new file mode 100644
index 0000000..8f8cbc3
Binary files /dev/null and b/app/assets/images/crown_logo.png differ
diff --git a/app/assets/images/search_icon.png b/app/assets/images/search_icon.png
new file mode 100644
index 0000000..224e75a
Binary files /dev/null and b/app/assets/images/search_icon.png differ
diff --git a/app/assets/sass/application.scss b/app/assets/sass/application.scss
index 5ada732..89ef674 100644
--- a/app/assets/sass/application.scss
+++ b/app/assets/sass/application.scss
@@ -4,3 +4,122 @@
//
// Add extra styles here
+.account-banner {
+ text-align: right;
+ font-size: 16px;
+ font-family: 'proxima_nova', Arial, sans-serif;
+ font-weight: 400;
+ text-transform: none;
+ z-index: 60;
+ clear: none;
+ background: transparent;
+ vertical-align: middle;
+}
+
+.blue-banner {
+ font-size: 16px;
+ text-align: left;
+ background-color: #376EB3;
+ color: #FFFFFF;
+ padding: 5px;
+}
+
+.blue-banner a {
+ color: white;
+ margin: 30px;
+}
+
+.idv_warning_box {
+ background-color: #FDF2D5;
+ border-style: solid;
+ border-color: #F5C25C;
+ padding: 10px 10px 0px 10px;
+ margin: -20px 0px 45px;
+}
+
+.grey-box {
+ background-color: #DFE1E1;
+ padding: 10px 10px 5px 10px;
+}
+
+
+.tabs {
+ background-color: white !important;
+}
+
+
+.tabs li a {
+ padding: 16px;
+ font-size: 16px;
+ color: #1D70B8 !important;
+ font-weight: normal !important;
+}
+
+.tabs li a:hover {
+ text-decoration: underline;
+}
+
+// .search_button {
+// background-image: url("/public/images/search_icon.png");
+// background-size: cover;
+// background-position: center;
+// padding: 25px 25px;
+// border: none;
+// color: white;
+// background-color: #275CA0;
+// float: left;
+// border-left: none;
+// }
+
+// .search_input {
+// padding: 12px;
+// font-size: 19px;
+// border: 2px solid black;
+// float: left;
+// width: 90%;
+// }
+
+
+
+.input-group {
+ border-collapse: separate;
+ display: table;
+ position: relative;
+ width:100%;
+ padding-left: 100px;
+}
+
+
+.input-group>div {
+ display: table-cell;
+}
+
+.input-group>div:first-child {
+ width: 100%;
+}
+
+.search_input {
+ position: relative;
+ z-index: 2;
+ width: 100%;
+ font-size: .875rem;
+ line-height: 1.5;
+ height: 45px;
+ font-size: 19px;
+ border: 2px solid black;
+}
+
+.search_button {
+ border: 0;
+ padding: .375rem .75rem;
+ text-align: center;
+ white-space: nowrap;
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ background-image: url("/public/images/search_icon.png");
+ background-size: cover;
+ background-position: center;
+ color: white;
+ background-color: #275CA0;
+}
\ No newline at end of file
diff --git a/app/config.json b/app/config.json
index 8a0f877..d9e7c09 100644
--- a/app/config.json
+++ b/app/config.json
@@ -1,3 +1,3 @@
{
- "serviceName": "Service name goes here"
+ "serviceName": "Find and update company information"
}
diff --git a/app/routes.js b/app/routes.js
index 10bff51..c81ffab 100644
--- a/app/routes.js
+++ b/app/routes.js
@@ -7,3 +7,6 @@ const govukPrototypeKit = require('govuk-prototype-kit')
const router = govukPrototypeKit.requests.setupRouter()
// Add your routes here
+
+
+router.use('/', require('./routes/v1-routes.js'))
\ No newline at end of file
diff --git a/app/routes/v1-routes.js b/app/routes/v1-routes.js
new file mode 100644
index 0000000..6b6c1a8
--- /dev/null
+++ b/app/routes/v1-routes.js
@@ -0,0 +1,384 @@
+const govukPrototypeKit = require('govuk-prototype-kit')
+const router = govukPrototypeKit.requests.setupRouter()
+
+
+module.exports=router;
+
+// Show session data and URLs in the terminal
+router.use((req, res, next) => {
+ const log = {
+ method: req.method,
+ url: req.originalUrl,
+ data: req.session.data
+ }
+ console.log(JSON.stringify(log, null, 2))
+ next()
+})
+
+// ******* Sign in email validation ********************************
+router.get('/v1/sign-in-email', function (req, res) {
+ // Set URl
+ res.render('v1/sign-in-email', {
+ currentUrl: req.originalUrl
+ })
+ })
+
+router.post('/v1/sign-in-email', function (req, res) {
+ // Create empty array and set error variables to false
+ var errors = []
+
+ if (req.session.data['signin-email'] === '') {
+ // No value so add error to array
+ errors.push({
+ text: 'Enter your email address',
+ href: '#signin-email'
+ })
+ }
+
+ if (req.session.data['signin-email'] === '') {
+ // Re-show page with error value as true so errors will show
+ res.render('v1/sign-in-email', {
+ errorSigninEmail: true,
+ errorList: errors
+ })
+ } else {
+ // User inputted value so move to next page
+ res.redirect('/v1/sign-in-password')
+ }
+})
+
+
+// ******* Sign in password validation ********************************
+router.get('/v1/sign-in-password', function (req, res) {
+ // Set URl
+ res.render('v1/sign-in-password', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/sign-in-password', function (req, res) {
+ // Create empty array and set error variables to false
+ var errors = []
+
+ if (req.session.data['signin-password'] === '') {
+ // No value so add error to array
+ errors.push({
+ text: 'Enter your password',
+ href: '#signin-password'
+ })
+ }
+
+ if (req.session.data['signin-password'] === '') {
+ // Re-show page with error value as true so errors will show
+ res.render('v1/sign-in-password', {
+ errorSigninPassword: true,
+ errorList: errors
+ })
+ } else {
+ // User inputted value so move to next page
+ res.redirect('/v1/confirm-for')
+ }
+})
+
+
+// ******* confirm-for javascript ********************************
+router.get('/v1/confirm-for', function (req, res) {
+ // Set URl
+ res.render('v1/confirm-for', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/confirm-for', function (req, res) {
+ // Create empty array
+ var errors = []
+
+ if (typeof req.session.data['confirmFor'] === 'undefined') {
+ // No value so add error to array
+ errors.push({
+ text: 'Select if you need to confirm yourself as a PSC',
+ href: '#confirmFor'
+ })
+
+ // Re-show page with error value as true so errors will show
+ res.render('v1/confirm-for', {
+ errorConfirmFor: true,
+ errorList: errors
+ })
+ } else {
+
+ if ((req.session.data['confirmFor'] == 'yes')) {
+ if (req.session.data['signin-email'] == 'email@server.com') {
+ // happy path
+ res.redirect('/v1/confirm-psc')
+ } else {
+ res.redirect('/v1/company-number')
+ }
+ } else {
+ // Confirming someone else
+ res.redirect('/v1/personal-code')
+ }
+ }
+})
+
+
+// ******* name javascript ********************************
+router.get('/v1/company-number', function (req, res) {
+ // Set URl
+ res.render('v1/company-number', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/company-number', function (req, res) {
+ // Create empty array and set error variables to false
+ var errors = [];
+
+ if (req.session.data['companyNumber'] === '') {
+ // No value so add error to array
+ errors.push({
+ text: 'Enter the company number',
+ href: '#companyNumber'
+ })
+
+ // Re-show page with error value as true so errors will show
+ res.render('v1/company-number', {
+ errorCompanyNumber: true,
+ errorList: errors
+ })
+ } else {
+ res.redirect('/v1/confirm-company')
+ }
+})
+
+// ******* confirm-company javascript ********************************
+router.get('/v1/confirm-company', function (req, res) {
+ // Set URl
+ res.render('v1/confirm-company', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/confirm-company', function (req, res) {
+ if ((req.session.data['companyNumber'] == '12345678')
+ || (req.session.data['companyNumber'] == '11112222')
+ || (req.session.data['companyNumber'] == '23232323')) {
+ res.redirect('/v1/confirm-psc')
+
+ } else if ((req.session.data['companyNumber'] == '44445555')) {
+ res.redirect('/v1/how-name-recorded')
+
+ } else {
+ res.redirect('/v1/psc-cannot-find-details')
+ }
+})
+
+
+// ******* confirm-psc javascript ********************************
+router.get('/v1/confirm-psc', function (req, res) {
+ // Set URl
+ res.render('v1/confirm-psc', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/confirm-psc', function (req, res) {
+ // Create empty array
+ var errors = []
+
+ if (typeof req.session.data['confirmPsc'] === 'undefined') {
+ // No value so add error to array
+ errors.push({
+ text: 'Select if this is the correct PSC',
+ href: '#confirmPsc'
+ })
+
+
+ // Re-show page with error value as true so errors will show
+ res.render('v1/confirm-psc', {
+ errorConfirmPsc: true,
+ errorList: errors
+ })
+ } else {
+ if (req.session.data['confirmPsc'] == 'yes') {
+ // happy path
+ if ((req.session.data['companyNumber'] == '12345678')
+ || (req.session.data['companyNumber'] == '10101010')) {
+ res.redirect('/v1/psc-statement')
+
+ // confirmation statement not due yet
+ } else if ((req.session.data['companyNumber'] == '11112222')) {
+ res.redirect('/v1/psc-cannot-confirm-yet')
+
+ // name mismatch
+ } else if ((req.session.data['companyNumber'] == '23232323')
+ || (req.session.data['companyNumber'] == '44445555')) {
+ res.redirect('/v1/why-this-name')
+
+ // multiple dob matches
+ } else {
+ res.redirect('/v1/psc-did-not-confirm')
+ }
+ } else {
+ res.redirect('/v1/psc-did-not-confirm')
+ }
+ }
+})
+
+
+// ******* psc-statement javascript ********************************
+router.get('/v1/psc-statement', function (req, res) {
+ // Set URl
+ res.render('v1/psc-statement', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/psc-statement', function (req, res) {
+ // Create empty array
+ var errors = []
+
+ if (typeof req.session.data['verificationStatement'] === 'undefined') {
+ // No value so add error to array
+ errors.push({
+ text: 'Confirm if the verification statement is correct',
+ href: '#verificationStatement'
+ })
+
+ // Re-show page with error value as true so errors will show
+ res.render('v1/psc-statement', {
+ errorStatement: true,
+ errorList: errors
+ })
+ } else {
+ res.redirect('/v1/psc-confirmed')
+ }
+})
+
+
+// ******* why-this-name javascript ********************************
+router.get('/v1/why-this-name', function (req, res) {
+ // Set URl
+ res.render('v1/why-this-name', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/why-this-name', function (req, res) {
+ // Create empty array
+ var errors = []
+
+ if (typeof req.session.data['whyThisName'] === 'undefined') {
+ // No value so add error to array
+ errors.push({
+ text: 'Select why you use this name',
+ href: '#whyThisName'
+ })
+
+
+ // Re-show page with error value as true so errors will show
+ res.render('v1/why-this-name', {
+ errorwhyThisName: true,
+ errorList: errors
+ })
+ } else {
+ res.redirect('/v1/psc-statement')
+ }
+})
+
+
+// ******* how-name-recorded validation ********************************
+router.get('/v1/how-name-recorded', function (req, res) {
+ // Set URl
+ res.render('v1/how-name-recorded', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/how-name-recorded', function (req, res) {
+ var errors = []
+ var firstNameError = false
+ var lastNameError = false
+
+ var nameError = false
+
+ // Check if user has filled out first name
+ if (req.session.data['firstName'] === '') {
+ // No value so add error to array
+ firstNameError = true
+ nameError = true
+ errors.push({
+ text: 'Enter the first name',
+ href: '#firstName'
+ })
+ }
+
+ // Check if user has filled out last name
+ if (req.session.data['lastName'] === '') {
+ // No value so add error to array
+ lastNameError = true
+ nameError = true
+ errors.push({
+ text: 'Enter the last name',
+ href: '#lastName'
+ })
+ }
+
+ if (nameError) {
+ // Re-show page with error value as true so errors will show
+ res.render('v1/how-name-recorded', {
+ errorFirstName: firstNameError,
+ errorLastName: lastNameError,
+ errorNameRecorded: nameError,
+ errorList: errors
+ })
+ } else {
+ res.redirect('/v1/confirm-psc')
+ }
+
+})
+
+
+// ******* Sign in email validation ********************************
+router.get('/v1/personal-code', function (req, res) {
+ // Set URl
+ res.render('v1/personal-code', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/personal-code', function (req, res) {
+// Create empty array and set error variables to false
+var errors = []
+
+if (req.session.data['personalCode'] === '') {
+ // No value so add error to array
+ errors.push({
+ text: 'Enter the Companies House personal code',
+ href: '#personalCode'
+ })
+}
+
+if (req.session.data['personalCode'] === '') {
+ // Re-show page with error value as true so errors will show
+ res.render('v1/personal-code', {
+ errorCode: true,
+ errorList: errors
+ })
+} else {
+ res.redirect('/v1/company-number')
+}
+})
+
+
+// ******* how-name-recorded validation ********************************
+router.get('/v1/psc-confirmed', function (req, res) {
+ // Set URl
+ res.render('v1/psc-confirmed', {
+ currentUrl: req.originalUrl
+ })
+})
+
+router.post('/v1/psc-confirmed', function (req, res) {
+ res.redirect('/v1/personal-code')
+})
\ No newline at end of file
diff --git a/app/views/includes/account-banner.html b/app/views/includes/account-banner.html
new file mode 100644
index 0000000..e7426eb
--- /dev/null
+++ b/app/views/includes/account-banner.html
@@ -0,0 +1,6 @@
+
+ Companies House does not verify the accuracy of the information filed
+
\ No newline at end of file
diff --git a/app/views/includes/back-link.html b/app/views/includes/back-link.html
new file mode 100644
index 0000000..e1e8258
--- /dev/null
+++ b/app/views/includes/back-link.html
@@ -0,0 +1 @@
+Back
diff --git a/app/views/includes/blue-banner.html b/app/views/includes/blue-banner.html
new file mode 100644
index 0000000..6a5c6d9
--- /dev/null
+++ b/app/views/includes/blue-banner.html
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/app/views/includes/govuk-aside.html b/app/views/includes/govuk-aside.html
new file mode 100644
index 0000000..5329713
--- /dev/null
+++ b/app/views/includes/govuk-aside.html
@@ -0,0 +1,68 @@
+
\ No newline at end of file
diff --git a/app/views/includes/welsh-banner.html b/app/views/includes/welsh-banner.html
new file mode 100644
index 0000000..7d35edd
--- /dev/null
+++ b/app/views/includes/welsh-banner.html
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/app/views/index.html b/app/views/index.html
index 5b7d44d..0de261b 100644
--- a/app/views/index.html
+++ b/app/views/index.html
@@ -1,20 +1,59 @@
{% extends "layouts/main.html" %}
-{% set pageName="Home" %}
+{% block pageTitle %}
+Home – {{serviceName}} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+
+{% endblock %}
+
{% block content %}
+
+
+
+
+
+ {{ serviceName }}
+
-
-
+ {{ govukWarningText({
+ text: "This prototype is being actively worked on - things might break or change very quickly",
+ iconFallbackText: "Warning"
+ }) }}
- {% include "govuk-prototype-kit/includes/homepage-top.njk" %}
-
- {{ serviceName }}
-
+
+ Prototypes
+
+
+
+
+
+
+
+
+
+
+
+
+ V1
+
+
+ September 2023
+
+
+
+ Copy of live
+
+
+
+
+
- {% include "govuk-prototype-kit/includes/homepage-bottom.njk" %}
+
+
-
{% endblock %}
diff --git a/app/views/v1/company-info.html b/app/views/v1/company-info.html
new file mode 100644
index 0000000..f5e12b1
--- /dev/null
+++ b/app/views/v1/company-info.html
@@ -0,0 +1,551 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
+ BIG SHOP LTD
+ Company number 12345678
+
+
+
+ Follow this company
+
+
+
+ File for this company
+
+
+
+
+ Contents
+
+
+
+
+
+
+ Registered office address
+ Higher Hill Farm, Cardinham, Bodmin, United Kingdom, PL30 4EG
+ Company status
+ Active
+
+
+
+
+
+
+
+ Company type
+ Private limited company use of 'Limited' exemption
+
+
+
+
+
+ Incorporated on
+ 30 March 2019
+
+
+
+
+
+
+
+ Accounts
+ Next accounts made up to 31 August 2022 due by 31 May 2023
+ Last accounts made up to 31 August 2021
+
+
+
+
+
+ Confirmation statement
+ Next statement date 31 August 2022 due by 31 May 2023
+ Last statement dated 31 August 2021
+
+
+
+
+
+
+
+ Nature of business (SIC)
+ 69201 - Accounting and auditing activities
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Filter by category
+
+
+
+
+
+
+
+
+
+
+
+
+ Date
+ Description
+ View / Download
+
+
+
+
+ 16 May 2024
+ Total exemption full accounts made up to 31 March 2024
+
+ View PDF (6 pages)
+ Download iXBRL
+
+
+
+ 16 May 2024
+ Confirmation statement made on 29 March 2024 with no updates
+
+ View PDF (3 pages)
+
+
+
+ 16 May 2024
+ Total exemption full accounts made up to 31 March 2024
+
+ View PDF (6 pages)
+ Download iXBRL
+
+
+
+ 16 May 2024
+ Confirmation statement made on 29 March 2024 with no updates
+
+ View PDF (3 pages)
+
+
+
+ 16 May 2024
+ Total exemption full accounts made up to 31 March 2024
+
+ View PDF (6 pages)
+ Download iXBRL
+
+
+
+ 16 May 2024
+ Confirmation statement made on 29 March 2024 with no updates
+
+ View PDF (3 pages)
+
+
+
+ 16 May 2024
+ Total exemption full accounts made up to 31 March 2024
+
+ View PDF (6 pages)
+ Download iXBRL
+
+
+
+ 16 May 2024
+ Confirmation statement made on 29 March 2024 with no updates
+
+ View PDF (3 pages)
+
+
+
+ 16 May 2024
+ Total exemption full accounts made up to 31 March 2024
+
+ View PDF (6 pages)
+ Download iXBRL
+
+
+
+ 16 May 2024
+ Confirmation statement made on 29 March 2024 with no updates
+
+ View PDF (3 pages)
+
+
+
+
+
+
+
+
+
+
+
Filter officers
+
+
+
+
2 officers / 0 resignations
+
+
+
+
+ Correspondence address
+ Higher Hill Farm, Cardinham, Bodmin, United Kingdom, PL30 4EG
+
+
+
+
+
+
+
+ Role
+
+ Active
+
+
+ Secretary
+
+
+
+
+
+ Appointed on
+ 30 March 2019
+
+
+
+
+
+
+
+
+
+
+
+
+ Correspondence address
+ Higher Hill Farm, Cardinham, Bodmin, United Kingdom, PL30 4EG
+
+
+
+
+
+
+
+ Role
+
+ Active
+
+
+ Director
+
+
+
+
+
+ Date of birth
+ 30 March 2019
+
+
+
+
+
+ Appointed on
+ 30 March 2019
+
+
+
+
+
+
+
+ Nationality
+ English
+
+
+
+
+
+ Country of residence
+ England
+
+
+
+
+
+ Occupation
+ Accountant
+
+
+
+
+
+
+
Company snapshot
+
+
+
+
+ What's included in the company snapshot?
+
+
+
+
The snapshot includes:
+
+ Filing history
+ Officers
+ Persons with significant control
+ Charges
+ Insolvency
+ Registers
+
+
+
+
+
+ View company information snapshot
+
+
+
+
+
Order a certified certificate
+
+
Use this service to order a signed certificate,
+ which can include key details about the company and a statement of good standing.
+
+
+
+
+
+ What you'll need
+
+
+
+
To use the service, you'll need:
+
+ to choose the company information you want to be included on the certificate
+ the address you want the certificate to be delivered to (UK or international)
+ a credit or debit card for payment
+
+
+
+
+
+ Order certificate
+
+
+
+
+
Order a certified document
+
+
Use this service to order a certified copy of a document
+ from a company's filing history.
+
+
+
+
+
+ What you'll need
+
+
+
+
To use the service, you'll need:
+
+ to choose the document you want to be certified
+ the address you want the document to be delivered to (UK or international)
+ a credit or debit card for payment
+
+
+
+
+
+ Order certificate
+
+
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
diff --git a/app/views/v1/index.html b/app/views/v1/index.html
new file mode 100644
index 0000000..95563db
--- /dev/null
+++ b/app/views/v1/index.html
@@ -0,0 +1,103 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ {{ serviceName }}
+{% endblock %}
+
+{% block beforeContent %}
+
+{% endblock %}
+
+{% block content %}
+ {{ govukTag({
+ classes: "govuk-tag--blue govuk-!-margin-bottom-4",
+ text: "version 1"
+ }) }}
+
+
+
+
+
+
+
+
Prototype data
+
+
+
+
+
+
+
+
+ **
+
+
+
+
+
+
+ **
+
+
+ **
+
+
+
+
+ **
+
+
+ **
+
+
+
+
+
+
+
+
+
+
Individual screen links
+
+
Happy path
+
+
+
+
+
Journey flow
+
V1 flow diagram
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/app/views/v1/officer_one.html b/app/views/v1/officer_one.html
new file mode 100644
index 0000000..8ec2f81
--- /dev/null
+++ b/app/views/v1/officer_one.html
@@ -0,0 +1,164 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
Bob SMITH
+
+
Filter appointments
+
+
+
+
Total number of appointments 1
+
+
+ Date of birth
+ May 1973
+
+
+
+
+
+
+
+ Company status
+ Active
+
+
+
+
+
+ Correspondence address
+
+ Bramber, Raleigh Hill, Bideford, United Kingdom, EX39 3PB
+
+
+
+
+
+
+
+ Role
+
+ Active
+
+
+ Director
+
+
+
+
+
+ Appointed on
+ 30 March 2019
+
+
+
+
+
+
+
+ Nationality
+ English
+
+
+
+
+
+ Country of residence
+ England
+
+
+
+
+
+ Occupation
+ Accountant
+
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
diff --git a/app/views/v1/officer_two.html b/app/views/v1/officer_two.html
new file mode 100644
index 0000000..06f8bc4
--- /dev/null
+++ b/app/views/v1/officer_two.html
@@ -0,0 +1,164 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
Lisa SMITH
+
+
Filter appointments
+
+
+
+
Total number of appointments 1
+
+
+ Date of birth
+ May 1973
+
+
+
+
+
+
+
+ Company status
+ Active
+
+
+
+
+
+ Correspondence address
+
+ Bramber, Raleigh Hill, Bideford, United Kingdom, EX39 3PB
+
+
+
+
+
+
+
+ Role
+
+ Active
+
+
+ Director
+
+
+
+
+
+ Appointed on
+ 30 March 2019
+
+
+
+
+
+
+
+ Nationality
+ English
+
+
+
+
+
+ Country of residence
+ England
+
+
+
+
+
+ Occupation
+ Accountant
+
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
diff --git a/app/views/v1/search-results-all.html b/app/views/v1/search-results-all.html
new file mode 100644
index 0000000..19a2775
--- /dev/null
+++ b/app/views/v1/search-results-all.html
@@ -0,0 +1,151 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
+
+
+
+
+
+
+
+ BIG SHOP LTD
+
+
+ 12345678 - Incorporated on 20 December 2013
+
+
+ 10 Long road, Plymouth, PL1 5WS
+
+
+
+
+
+ BIGGEST SHOP LLC
+
+
+ 11112222 - Incorporated on 16 March 2023
+
+
+ 78 Hill road, Bristol, BS4 7GH
+
+
+
+
+
+ BIG SHOPS LIMITED
+
+
+ Total number of appointments 1
+
+
+ 5 Short street, Birmingham, BX1 4SA
+
+
+
+
+
+ MEGAMART LTD
+
+
+ Matching previous names:
+ BIG SHOP
+
+
+ 22223333 - Incorporated on 8 May 2023
+
+
+ 98 Apple street, Cardiff, CF1 9IJ
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
diff --git a/app/views/v1/search-results-companies.html b/app/views/v1/search-results-companies.html
new file mode 100644
index 0000000..698490c
--- /dev/null
+++ b/app/views/v1/search-results-companies.html
@@ -0,0 +1,139 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
+
+
+
+
+
+
+
+ BIG SHOP LTD
+
+
+ 12345678 - Incorporated on 20 December 2013
+
+
+ 10 Long road, Plymouth, PL1 5WS
+
+
+
+
+
+ BIGGEST SHOP LLC
+
+
+ 11112222 - Incorporated on 16 March 2023
+
+
+ 78 Hill road, Bristol, BS4 7GH
+
+
+
+
+
+ MEGAMART LTD
+
+
+ Matching previous names:
+ BIG SHOP
+
+
+ Total number of appointments 1
+
+
+ 98 Apple street, Cardiff, CF1 9IJ
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/views/v1/search-results-disqualifications.html b/app/views/v1/search-results-disqualifications.html
new file mode 100644
index 0000000..ccc2152
--- /dev/null
+++ b/app/views/v1/search-results-disqualifications.html
@@ -0,0 +1,114 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
+
+
+
+
+
+
No results found
+
+
There are no results that match your search. Try
+ searching again using different search criteria.
+
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/views/v1/search-results-officers.html b/app/views/v1/search-results-officers.html
new file mode 100644
index 0000000..a5442f1
--- /dev/null
+++ b/app/views/v1/search-results-officers.html
@@ -0,0 +1,125 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ GOV.UK page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
+ {{ govukInput({
+ label: {
+ text: "Search",
+ classes: "govuk-visually-hidden",
+ isPageHeading: false
+ }
+ }) }}
+
+
Advanced company search
+
+
+
+
+
+
+
+
+
+
+
+ Did you know you can search for officers by location?
+
+
+
+ You can add location details when you search for a name, such as:
+ John Smith location:"High Street, London" or John Smith location:"CF14"
+
+
+
+
+
+ BIG SHOPS LIMITED
+
+
+ Total number of appointments 1
+
+
+ 5 Short street, Birmingham, BX1 4SA
+
+
+
+
+
+
+{% endblock %}
+
+{% block footer %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/views/v1/start.html b/app/views/v1/start.html
new file mode 100644
index 0000000..e8b5d24
--- /dev/null
+++ b/app/views/v1/start.html
@@ -0,0 +1,161 @@
+{% extends "govuk-prototype-kit/layouts/unbranded.html" %}
+
+{% block pageTitle %}
+ Unbranded page template – {{ serviceName }} – GOV.UK Prototype Kit
+{% endblock %}
+
+{% block header %}
+
+
+{% endblock %}
+
+{% block beforeContent %}
+ {% include "includes/account-banner.html" %}
+{% endblock %}
+
+{% block content %}
+
+
+
Search the register
+
+
+
+
+ Enter company name, number or officer name
+
+
+
+
+
+
Advanced company search
+
+
+
+
Current features include
+
+
+ File abridged or full accounts
+
+
+ Change a registered office address
+
+
+ View company data and document images
+
+
+ Search for disqualified directors
+
+
+ Order certificates and certified documents
+
+
+ Follow companies
+
+
+
+
+
+
+
+
+{% endblock %}
+
+
+{% block footer %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/views/v2/index.html b/app/views/v2/index.html
new file mode 100644
index 0000000..01ac2ea
--- /dev/null
+++ b/app/views/v2/index.html
@@ -0,0 +1,155 @@
+{% extends "layouts/main.html" %}
+
+{% block pageTitle %}
+ {{ serviceName }}
+{% endblock %}
+
+{% block beforeContent %}
+
+{% endblock %}
+
+{% block content %}
+ {{ govukTag({
+ classes: "govuk-tag--blue govuk-!-margin-bottom-4",
+ text: "version 1"
+ }) }}
+
+
+
+
+
+
+
+
Prototype data
+
+
+
+
+
+
+
+
+ **
+
+
+
+
+
+
+ **
+
+
+ **
+
+
+
+
+ **
+
+
+ **
+
+
+
+
+
+
+
+
+
+
+
Individual screen links
+
+
Happy path
+
+
+
+
+
User research
+
+
+
+
+
Journey flow
+
V1 flow diagram
+
+
+
+
+ IDV services
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/package-lock.json b/package-lock.json
index 57d2ee9..10f08a2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,10 +5,32 @@
"packages": {
"": {
"dependencies": {
+ "@govuk-prototype-kit/common-templates": "2.0.1",
+ "@ministryofjustice/frontend": "^2.2.0",
"govuk-frontend": "^5.6.0",
"govuk-prototype-kit": "^13.16.2"
}
},
+ "node_modules/@govuk-prototype-kit/common-templates": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@govuk-prototype-kit/common-templates/-/common-templates-2.0.1.tgz",
+ "integrity": "sha512-9vIluzHin4yJhMKt97P6bEW7DzCmHtBZZnCWCkFnjCJoI4HwaBwPCu1CzKhMsSoCKCE2DJsGbTu13iuHzCxVJQ=="
+ },
+ "node_modules/@ministryofjustice/frontend": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ministryofjustice/frontend/-/frontend-2.2.0.tgz",
+ "integrity": "sha512-d6ZPTnsJC7vofU1+nPmDXzmZeYP5oYJXWTthHHf2kABQnEBMeJvTZJdxttH2qw9NjFbV5mWiPNWZsx0wgG4qvg==",
+ "dependencies": {
+ "govuk-frontend": "^5.0.0",
+ "moment": "^2.27.0"
+ },
+ "engines": {
+ "node": ">= 4.2.0"
+ },
+ "peerDependencies": {
+ "jquery": "^3.6.0"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1957,6 +1979,12 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
+ "node_modules/jquery": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
+ "peer": true
+ },
"node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -2104,6 +2132,14 @@
"resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz",
"integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw=="
},
+ "node_modules/moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -3549,6 +3585,20 @@
}
},
"dependencies": {
+ "@govuk-prototype-kit/common-templates": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@govuk-prototype-kit/common-templates/-/common-templates-2.0.1.tgz",
+ "integrity": "sha512-9vIluzHin4yJhMKt97P6bEW7DzCmHtBZZnCWCkFnjCJoI4HwaBwPCu1CzKhMsSoCKCE2DJsGbTu13iuHzCxVJQ=="
+ },
+ "@ministryofjustice/frontend": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ministryofjustice/frontend/-/frontend-2.2.0.tgz",
+ "integrity": "sha512-d6ZPTnsJC7vofU1+nPmDXzmZeYP5oYJXWTthHHf2kABQnEBMeJvTZJdxttH2qw9NjFbV5mWiPNWZsx0wgG4qvg==",
+ "requires": {
+ "govuk-frontend": "^5.0.0",
+ "moment": "^2.27.0"
+ }
+ },
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -5006,6 +5056,12 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
+ "jquery": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
+ "peer": true
+ },
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -5109,6 +5165,11 @@
"resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz",
"integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw=="
},
+ "moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
+ },
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
diff --git a/package.json b/package.json
index 8d83f51..a20b48e 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,8 @@
"start": "govuk-prototype-kit start"
},
"dependencies": {
+ "@govuk-prototype-kit/common-templates": "2.0.1",
+ "@ministryofjustice/frontend": "^2.2.0",
"govuk-frontend": "^5.6.0",
"govuk-prototype-kit": "^13.16.2"
}